Lire octet par octet dans un fichier bynaire

cs_golum Messages postés 16 Date d'inscription mardi 5 février 2002 Statut Membre Dernière intervention 23 juillet 2002 - 28 juin 2002 à 11:37
cs_Nono40 Messages postés 962 Date d'inscription mercredi 3 avril 2002 Statut Membre Dernière intervention 12 septembre 2006 - 28 juin 2002 à 14:52
EEEppppssss!

voici mon code :

var
Fs: TFileStream;
b:Byte;
begin

Fs := TFileStream.Create(ExtractFilePath(Application.ExeName)+'fichier.dat',fmOpenRead);
Fs.Seek(0,soFromBeginning) ;

while not Eof() do
begin
Fs.Read(b,1);
ShowMessage('octet : ' + IntToStr(b) + #13 + 'caractere : '+ Char(b));
end;
Fs.Free;

end;

Voila le Eof ne peut pas marcher et je veux lire octet par octet !!! comment boucler ??

3 réponses

cs_Bestiol Messages postés 833 Date d'inscription dimanche 6 janvier 2002 Statut Membre Dernière intervention 3 novembre 2005 1
28 juin 2002 à 13:25
Tu trouves pas ça bizarre, une fonction pour laquelle tu ouvres et tu refermes des paranthèses, sans rien à l'intérieur ??

Essaye en mettant "While Not Eof(Fs) Do". Ce qui paraît pourtant logique, eof voulant dire "end of file", il faut spécifier de quel fichier on parle !

Bye !
Bestiol.
0
cs_golum Messages postés 16 Date d'inscription mardi 5 février 2002 Statut Membre Dernière intervention 23 juillet 2002
28 juin 2002 à 14:18
Ravi de te revoir mais j'avais fait cela expres pour que personne n'écrive Eof(Fs) ce qui est une belle connerie etant donné que Fs n'est pas un pointeur de fichier mais un objet de la classe TfileStream

...
0
cs_Nono40 Messages postés 962 Date d'inscription mercredi 3 avril 2002 Statut Membre Dernière intervention 12 septembre 2006 2
28 juin 2002 à 14:52
On peut utiliser un flux facilement :
il suffit d'écrire :
while fs.position<fs.size do

--- :sleepy) Nono du Moulin :sleepy) ---
0
Rejoignez-nous