Lire octet par octet dans un fichier bynaire

Signaler
Messages postés
16
Date d'inscription
mardi 5 février 2002
Statut
Membre
Dernière intervention
23 juillet 2002
-
Messages postés
962
Date d'inscription
mercredi 3 avril 2002
Statut
Membre
Dernière intervention
12 septembre 2006
-
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

Messages postés
833
Date d'inscription
dimanche 6 janvier 2002
Statut
Membre
Dernière intervention
3 novembre 2005
1
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.
Messages postés
16
Date d'inscription
mardi 5 février 2002
Statut
Membre
Dernière intervention
23 juillet 2002

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

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

--- :sleepy) Nono du Moulin :sleepy) ---