Function Statistique(Const Fs:String; Var AH:array of Integer):Boolean; var F:TFileStream; buff:byte; i:integer; SizeFile:Int64; begin Result:=false; If (FileExists(Fs))And (FileExists(FS)) then Begin F:=TFileStream.Create(Fs,fmOpenRead or fmShareExclusive); try f.Seek(soFromBeginning,0); SizeFile:=F.Size; for i:=1 to SizeFile do begin f.Read(buff,1); AH[Buff]:=AH[Buff]+1; // HashCallBack: procedure "Progressbar" //HashCallBack(SizeFile,i); end; finally F.Free; end; Result:=true; end; End;
Ceci dit : Il est évident que le traitement que tu veux faire sera long car tu lis ton fichier bytes à bytes. La notion de flux est un peu plombée en terme d'intéret, vu ce que tu fais.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionMais ce n'est pas que la notion de flux est un peu plombée... c'est qu'elle n'existe pas du tout !
//if Statistique('Unit1.pas', @AH) then //Passage par pointeur de pointeur: pas bô. if Statistique('Unit1.pas', @AH[Low(AH)]) then //Passage par pointeur sur la 1ère cellule du tableau: bô.
Integer(@AH) := Integer(@AH[0])