[vb6] comment obtenir la taille d'un fichier ?

comment obtenir la taille d'un fichier ? [vb6] - Programmation

Marsh Posté le 09-05-2001 à 10:53:59    

Bonjour
j'aimerais savoir comment obtenir la taille d'un fichier selectionne dans une FileListBox.

Reply

Marsh Posté le 09-05-2001 à 10:53:59   

Reply

Marsh Posté le 09-05-2001 à 11:39:16    

Diretement en vb j'sais pas mais en C ce code te fait ça :
DWORD TailleDeFichier(LPCTSTR szNomDeFichier)
{
  DWORD dwTaille=0;
  HANDLE hFile = CreateFile(szNomDeFichier, GENERIC_READ,
    0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
  if (hFile==INVALID_HANDLE_VALUE)
  {
     return -1; /* le fichier n'existe pas */
  }
   
  dwRet = GetFileSize(hFile, NULL);
  CloseHandle(hFile);
   
  return dwTaille; /* voila! */
}
 
Si tu connais l'api win ça doit pas être trop dur de traduire ça en vb :)
 

chkemp a écrit a écrit :

Bonjour
j'aimerais savoir comment obtenir la taille d'un fichier selectionne dans une FileListBox.



Reply

Marsh Posté le 09-05-2001 à 11:41:48    

Tu devrais pouvoir faire cela soit en utilisant l'objet Scripting.FileSystemObject soit en utilisant les fonctions de l'api Win32.  
 
Dans le premier cas il faudra instancier un objet FSO utiliser la méthode GetFile sur le fichier puis la taille du fichier sera accessible par la propriété Size de l'objet File retourné par GetFile.
 
GetFile : http://msdn.microsoft.com/scriptin [...] etfile.htm
File Object : http://msdn.microsoft.com/scriptin [...] bjfile.htm
 
Dans le second cas il faudra utiliser les fonctions OpenFile pour ouvrir un handle sur le fichier, GetFileSize pour récuppérer la taille et enfin CloseHandle pour libérer le handle sur le fichier.
 
OpenFile : http://msdn.microsoft.com/library/ [...] o_0cth.htm
GetFileSize : http://msdn.microsoft.com/library/ [...] loseHandle : http://msdn.microsoft.com/library/ [...] j_289x.htm

Reply

Marsh Posté le 09-05-2001 à 13:26:30    

ok  
je vais essayer ces methodes
merci  :)

Reply

Marsh Posté le 15-05-2001 à 13:31:33    

Tu peux faire ça aussi :
 
Dim a as long
 
Open "Monfichier" for input as #1
a = Lof(1) 'Renvoie la taille du fichier ouvert en #1
Close
 
Msgbox "Taille du fichier :"+str$(a)+" octets"

Reply

Marsh Posté le 15-05-2001 à 13:47:37    

wep les FileSystemObject c'est pas mal et facile...
 
Dim FSO as New FileSystemObject
Dim Fichier as File
 
Set Fichier = FSO.GetFile(Le path de ton filelistbox)
MsgBox Fichier.Size

 

[edit]--Message édité par _GrEgY_--[/edit]

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed