Add2file - ajouter des infos aux fichiers

Description

Bonsoir,
pour me rattraper après ma dernière source (vous n'avez pas vu ? tant mieux !), je poste cette source que j'avais l'intention de faire depuis un bon moment. En fait, elle permet d'ajouter à la fin d'un fichier, des données d'une longueur quelconque. Ici, j'ai choisi d'ajouter, pour l'exemple, une chaîne dans le fichier. J'ai fait un type pour limiter la taille de la chaîne à 65535 caractères, mais techniquement c'est illimité. L'unité Add2FileUtils contient les routines pour lire, écrire et supprimer les données ajoutées dans un fichier, et ces dernières utilisent des buffers non typés dont il faut préciser la taille, ce qui permet d'entrer n'importe-quelle donnée dans la routine (enregistrement, nombre, chaîne, ...).
J'inclus 3 exemples, un bitmap, un jpeg, et un fichier texte dans lesquels sont ajoutées des données que vous pourrez visualiser facilement avec l'exemple. Cela n'altère pas les fichiers pour une raison que vous trouverez dans l'exemple également (cherchez un peu ...).
Donc voilà, alors :
  • utilisation des API de bas-niveau comme OpenFle, ReadFile, WriteFile, SetFilePointer, ... sans passer par le TFileStream (je préfère, bizarrement, passer par les API que par TFileStream ... ???).
  • c'est tout je pense, rien de bien compliqué ...


Ne mettez PAS de "string" dans les buffer, car ce sont des pointeurs et non pas des variables, et puis vous vous doutez bien que j'aurais fait ça sans passer par le TLargeString si c'était possible :)

Ceci peut toujours servir pour incruster du texte dans n'importe-quel fichier ? (ne confondez pas cette source avec la technique d'incruster du texte dans les bytes non utilisés des fichiers bitmap !).

Je n'ai pas trouvé de bug (sauf au début bien sûr huhu) donc voilà, si vous en trouvez faites-moi signe !

Source / Exemple :


// In the zip.

Conclusion :


Voilà, tous commentaires, critiques, conseils, remarques, etc ...

Cordialement, Bacterius !

PS : la capture ne sert pas à grand chose mais c'est triste une source sans capture ...

Codes Sources

A voir également

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.