BlockRead

Tytoo25 Messages postés 9 Date d'inscription vendredi 3 juin 2005 Statut Membre Dernière intervention 17 juillet 2006 - 17 juil. 2006 à 12:07
 Utilisateur anonyme - 17 juil. 2006 à 22:32
Bonjour à tous,

Voila j'ai un fichier à lire avec la fonction BlockRead.
Il faut que je lise la première ligne ainsi que la dernière du fichier.
La première ce n'est pas dur, mais comment savoir que je suis bien sur la dernière ???

Merci de votre aide !

Yan.

4 réponses

Utilisateur anonyme
17 juil. 2006 à 13:23
Salut

AssignFile('blabla.txt',F);
EOF(F) // end of file : fin de fichier=> A utiliser

@+
0
Utilisateur anonyme
17 juil. 2006 à 13:41
Allez une autre technique (non testée) :

Procedure ReadExtremLine(MyFile : string);
var
F:file;
Buf: array[1..1024] of Char;
RLen,i : integer;
AList : TStringList;
begin
AList:=TStringList.create;
{$I-}
assignfile(f,MyFile);
reset(F,1);
repeat
BlockRead(F, Buf, SizeOf(Buf),RLen);
AList.Add(Buf);
until RLen =0;
closefile(F);
{$I+}
For i:=1 to (AList.Count-2) do
AList.Delete(i);
showmessage('Opération finie');
End;

procedure TForm1.Button1Click(Sender: TObject);
begin
If Opendialog1.execute then
ReadExtremLine(Opendialog1.filename);
end;

@+
0
f0xi Messages postés 4205 Date d'inscription samedi 16 octobre 2004 Statut Modérateur Dernière intervention 12 mars 2022 35
17 juil. 2006 à 16:36
arretez d'utiliser cette vieille methode ... TFileStream ... ou TMemoryStream au choix...
ils fournissent plus d'options de control.

<hr size="2" width="100%" />Croc (click me)
0
Utilisateur anonyme
17 juil. 2006 à 22:32
Mais dis donc Monsieur fOxi : on veut se faire croquer ? ;) Grrrrrrrrrrr lol

A+
0
Rejoignez-nous