cs_btruton
Messages postés4Date d'inscriptionmercredi 13 mars 2002StatutMembreDernière intervention27 septembre 2007
-
3 avril 2005 à 21:37
Emandhal
Messages postés194Date d'inscriptiondimanche 2 mars 2003StatutMembreDernière intervention10 octobre 2006
-
4 avril 2005 à 00:21
Salut tout le monde,
Je suis un nouveau membre et je débute sur Delphi.
Je suis entrain de faire un petit programme :-) mais :-/ je bloque sur un petit problème.
Comment faire pour connaître la taille d'un trés gros fichier ? (genre 2,2 Go)
Parce que les entiers "Int" se limite à 2.147.483.647 soit 1,9 Go
Ci-joint mon bout de code que j'ai récupéré :
Resultat := FindFirst(Fichier, FaAnyFile, SearchRec);
if Resultat=0 then
TailleTotalRar := SearchRec.Size
else
showmessage('Erreur avec le fichier '+Fichier_Rar+'.rar');
Label4.Caption := IntToStr(TailleTotalRar);
FindClose(SearchRec);
et la il me marque pour mon fichier de 2,2 Go -2040008548 Octets !!!
Emandhal
Messages postés194Date d'inscriptiondimanche 2 mars 2003StatutMembreDernière intervention10 octobre 20063 4 avril 2005 à 00:21
Pour la méthode TSearchRec, il faut faire comme ca :
Function FileLength(Const FileName: String): Int64;
Var
SR: TSearchRec;
Begin
{$WARN SYMBOL_PLATFORM OFF}
If (FindFirst(FileName, $0000003F, SR)=0) Then // faAnyFile
Result := (Int64(SR.FindData.nFileSizeHigh) shl 32) or SR.FindData.nFileSizeLow
else Result := -1;
SysUtils.FindClose(SR);
{$WARN SYMBOL_PLATFORM ON}
End;
Tout problème a sa solution... Mais en général, c'est jamais la bonne...