Bonjour,
Je ne trouve pas de moyen facile (1 seule commande ?) de connaître la taille de n'importe quel fichier (en octects serait l'idéal). Je suis sûr d'ête passé à côté d'un truc simple, mais je n'arrive pas à le trouver.
Merci par avance.
rx
Bonjour,
Je ne trouve pas de moyen facile (1 seule commande ?) de connaître la taille de n'importe quel fichier (en octects serait l'idéal). Je suis sûr d'ête passé à côté d'un truc simple, mais je n'arrive pas à le trouver.
Merci par avance.
rx
Regarde du côté de function FileSize(var F): Integer;
Pensez à utiliser les tags dans le titre.
Avant de poser une question reportez-vous à la FAQ Delphi
Respectez les règles du forum.
Merci, mais cel ne me convenait pas, car dans l'Aide de Delphi, il y a ça :Envoyé par Pascal Jankowski
Remarque : FileSize ne peut être utilisée avec un fichier texte
Il y a a ma connaissance 2 moyens faciles :
1. Utiliser un TFileStream sur le fichier et récupérer sa propriété Size,
2. Utiliser un TSearchRec sur le fichier et récupérer également sa propriété Size.
"It's more fun to compute !"
Il existe effectivement de nombreuses façons de procéder. Ces techniques sont glbalement divisées en deux : celles qui nécessitent d'ouvrir le fichier et les autres.
Il peut être génant de devoir ouvrir le fichier car l'appel peut échouer dans de nombreux cas (exécutable en cours d'exécution par exemple).
Voici une solution simple utilisant FindFirstFile :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 function GetFileSize(Filename: string): Int64; var w32FindData : WIN32_FIND_DATA; searchHandle: THandle; begin searchHandle:= Windows.FindFirstFile(PChar(Filename), w32FindData); if searchHandle = INVALID_HANDLE_VALUE then raise Exception.Create(SysErrorMessage(GetLastError)) else begin result:= w32FindData.nFileSizeHigh; result:= result shl (SizeOf(Cardinal) * 8); result:= result + w32FindData.nFileSizeLow; Windows.FindClose(searchHandle); end; end;
Merci, ça fonctionne à merveille !
C'est ce qui fait la différence entre moi et un mec vachement bon ....
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager