Acces rapide à un fichier

cs_bgK Messages postés 131 Date d'inscription vendredi 7 juin 2002 Statut Membre Dernière intervention 19 janvier 2004 - 6 avril 2003 à 21:17
cs_bgK Messages postés 131 Date d'inscription vendredi 7 juin 2002 Statut Membre Dernière intervention 19 janvier 2004 - 9 avril 2003 à 14:01
Mon problème est le suivant :
Je souhaite rechercher toutes les occurances d'une séquence de 4 octets dans un fichier.

Voiçi le code que j'ai actuellement :

FileStream := TFileStream.Create(FNomFichier, fmOpenRead);

Size := FileStream.Size;
Position := 0;
nbLocalHeader := 0;

While Position < (FileStream.Size - 4) do
begin
FileStream.Read(Sign, SizeOf(Sign));
If Sign = SgnLocal then
begin
SetLength(FALHPos, nbLocalHeader + 1);
FALHPos[nbLocalHeader] := Position;
Inc(nbLocalHeader);
end;
Inc(Position);
FileStream.Seek(-3, soCurrent);
end;

FreeAndNil(FileStream);

Le seul problème de ce code, c'est qu'il est très lent.
Avez-vous des idées pour optimiser tout ça ???
Toutes les suggestions sont les bienvenues (systèmes de buffer, autres méthodes ...)

a+

2 réponses

cs_Delphiprog Messages postés 4297 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 9 janvier 2013 32
8 avril 2003 à 23:24
Quelle est la nature du fichier : binaire, texte, etc ?

A question précise, réponse précise !
May Delphi be with you
0
cs_bgK Messages postés 131 Date d'inscription vendredi 7 juin 2002 Statut Membre Dernière intervention 19 janvier 2004
9 avril 2003 à 14:01
Il s'agit de fichiers binaires (des fichiers Zip, plus précisement)
0
Rejoignez-nous