Initiation au fichier de sauvegarde binaire.

Soyez le premier à donner votre avis sur cette source.

Vue 10 069 fois - Téléchargée 1 517 fois

Description

Le fichier binaire (ou fichier non typé) est, à mon sens, la Rolls des fichiers de sauvegarde. Il accepte absolument tous les types de données! Il est la forme de fichier la plus employée du fait de la liberté totale qui vous est laissée quant à son contenu et à sa structure.
Cependant, revers de la médaille, les lectures et écritures sont plus délicates.
Autre revers de la médaille, ( bein ouais, imaginez une médaille à 3 faces et restez concentrés ;) certains types sont plus délicats à sauvegarder que d'autres. En fait, tous les types de taille dynamique subissent un traitement particulier, comme par exemple les chaînes, les images, les tableaux et même les composants.
C'est ce que va montrer cette démo.
Exceptées ces astuces, les fichiers binaires n'offrent pas de difficulté particulière et cette démo s'adresse aussi aux débutants qui peuvent en avoir besoin.
J'y utilise souvent la classe TStream qui nous facilite la vie, mais que les débutants ne soient pas effrayés!.. Les flux sont simplement des objets qui traitent un flot d'information comme un tout. Leur utilisation est très simple et c'est leur raison d'être:
- la création du flux
- le positionnement dans le flux par son index
- les lecture ou écriture de données dans le flux
L'index est un entier qui est mis à jour automatiquement par les actions d'écriture et de lecture.

Voilà! Amusez-vous bien à structurer vos fichiers de sauvegarde! Vous verrez que ça peut être passionnant...

Conclusion :


Il y peu de doc sur les fichiers binaires. A ma connaissance, il n'y a ici que la démo de Antidote:
http://www.delphifr.com/code.aspx?ID=17586
C'est cette démo qui m'a mis le pied à l'étrier quand j'ai eu besoin d'un tel fichier de sauvegarde. Grand merci à Antidote!

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Messages postés
302
Date d'inscription
jeudi 29 septembre 2005
Statut
Membre
Dernière intervention
17 septembre 2013
1
Merci pour la qualité de vos sources.

Une question : dans TPersonne, Taille se rapporte au sexe ? ;-))

Luc.
Messages postés
20
Date d'inscription
mardi 17 décembre 2002
Statut
Membre
Dernière intervention
8 octobre 2019

Merci... Bonne journée à tous, Patrice
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
24
Si le code avait été mis à jour, il y aurait visible la liste des MAJ avec les dates.
Messages postés
20
Date d'inscription
mardi 17 décembre 2002
Statut
Membre
Dernière intervention
8 octobre 2019

Bonjour,
Je ne suis pas très malin car je n'ai pas trouvé le lien pour poster ce message directement à l'attention des administrateurs du site...
Juste une petite remarque qui pourrait, je pense, améliorer encore le site :
L'exemple de ce développement en est une parfaite illustration.
Au cours de la lecture des commentaires, on trouve une série de suggestions appelant à améliorer le code proposé.
Il serait intéressant de pouvoir consulter la date du zip proposé afin de savoir avant téléchargement si le code a bénéficié ou pas de le suggestion proposée à une date "d", de savoir aussi dans certains cas si le code proposé a subi une modification par rapport à celui qu'on pourrait avoir déjà téléchargé antérieurement.
Je vous remercie tous ici car j'apprends énormément en vous lisant. Je ne suis qu'un petit développeur amateur qui a souvent besoin de se confectionner des outils sur mesure et très rapidement en tant que bête ingénieur système et j'avoue ici que vous m'avez déjà tiré plus d'une épine du pied. Bon courage et bonne continuation à tous, merci, Patrice
Messages postés
2527
Date d'inscription
jeudi 15 janvier 2004
Statut
Membre
Dernière intervention
16 octobre 2019
14
Je me suis aperçu qu'avec Delphi7, on pouvait très bien sauvegarder directement une variable de type énuméré, sans passer par son indice. Cela dépend-il de la version de Delphi? J'aimerai bien le savoir avant de corriger mon code...

D'autre part, Debiars m'a fait remarquer qu'on pouvait sauvegarder un record globalement, sans le sauvegarder élément par élément, même s'il s'agit d'énumérés ou de String. Cela sera corrigé dès que possible. Merci à Debiars.
Afficher les 38 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.