Trouver la taille et la date de creation d'un fichier en vb6

[Résolu]
Signaler
Messages postés
54
Date d'inscription
lundi 14 juillet 2008
Statut
Membre
Dernière intervention
28 septembre 2008
-
Messages postés
3983
Date d'inscription
jeudi 14 juillet 2005
Statut
Membre
Dernière intervention
30 juin 2013
-
Bonjour ,
j'ai plusieurs fichiers Excel et je voudrais comparer leur taille en vb6 et avoir en retour lesplus grands?J'ai aucune idée en ce qui concerne l'enplacement de la taille d'un fichier?Est ce possible en VB 6?Aidez moi svp
Ensuite dans la colonne "C" de mon fichier  j'ai les dates de fabrication de mes fichiers au format jj/mois/aaaa et je voudrais comparer ces dates et avoir en retour les plus recentes?
I need help please!!!
Merci d'avance

10 réponses

Messages postés
3983
Date d'inscription
jeudi 14 juillet 2005
Statut
Membre
Dernière intervention
30 juin 2013
14
Oups ... Pas besoin de passer par l'API ni par FSO : VB sait le faire tout seul :
Public Function GetFileSize(FileName As String) As Long
 Dim hFile As Long
 hFile = FreeFile
 Open FileName For Binary As hFile
  GetFileSize = LOF(hFile)
 Close hFile
End Function , ----
[code.aspx?ID=41455 Colorisation syntaxique par Renfield]
_______________________________________________________________________
VB.NETis good ...VB6is better
Messages postés
3983
Date d'inscription
jeudi 14 juillet 2005
Statut
Membre
Dernière intervention
30 juin 2013
14
Faut voir l'API GetFileSizeEx
Pour l'utiliser, il faut :
<ol><li>Ouvrir le fichier avec CreateFile et récupérer le handle</li><li>Récupérer la taille avec GetFileSizeEx</li><li>Fermer le fichier avec CloseHandle</li></ol>Evidemment, si CreateFile ou GetFileSize te renvoie(nt) zéro c'est que quelque chose n'a pas marché ...
_______________________________________________________________________
VB.NETis good ...VB6is better
Messages postés
54
Date d'inscription
lundi 14 juillet 2008
Statut
Membre
Dernière intervention
28 septembre 2008

slt merçi

Mais tu peux me donner un peu plus de detail stp car suis debutant et tu me dis des choses que j'ai jamais vu! ni utilisé;!!lol
Messages postés
3275
Date d'inscription
jeudi 3 avril 2008
Statut
Membre
Dernière intervention
14 septembre 2014
4
http://www.vbfrance.com/codes/COMPARAISON-FICHIERS-VERS_2387.aspx








Il n'y a que les gens qui ne font rien, qui ne font pas d'erreur



/B>
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
26
Bonjour,

VB6 offre deux fonctions fort simples d'utilisation et qui permettent d'éviter tant l'utilisation de l'Api de Windows que celle de FSO.



FileDateTime et FileLen

Ouvrir ton aide en ligne sur chacun de ces deux mots (accompagnement d'exemple, de surcroît)
Messages postés
54
Date d'inscription
lundi 14 juillet 2008
Statut
Membre
Dernière intervention
28 septembre 2008

merci,tu peux me donner un pe plus d'explication stp c'est a dire comment l'integrer ds mon codage?
merci d'avance
Messages postés
54
Date d'inscription
lundi 14 juillet 2008
Statut
Membre
Dernière intervention
28 septembre 2008

Merçi de ton aide , mais si j'ai par exemple 10 fichiers à comparer leurs tailles donc je dois mettre une boucle dans la fonction ,du genre:
Aprés avoir definie ma fonction, je dois l'appeler :

 Dim i As Long
   For i = 1 To 10
   GetFileSize("B" & i)
 Next i

Sachant que les noms de mes fichiers sont classés dans la colonne "B".MAis je sais pas s'il faut mettre un Call devant la foction?

Guide moi un peu sur l'utilisationde cette fonction stp,car c'est tres important pour mon proje que je dois finir la semaine prochaine,
Merci d'avance.

 
Messages postés
3983
Date d'inscription
jeudi 14 juillet 2005
Statut
Membre
Dernière intervention
30 juin 2013
14
Il ne faut pas mettre de Call, c'est une fonction et non une procédure (on peut mettre Call uniquement lors de l'appel d'une Sub)
_______________________________________________________________________
VB.NETis good ...VB6is better
Messages postés
228
Date d'inscription
mercredi 13 décembre 2000
Statut
Membre
Dernière intervention
8 août 2011

Sérieusement, je n'ai jamais trouvé d'utilité à "call"

Call(MaSub(arg1,arg2))

on peut faire simplement autant pour une function qu'un sub

MaSub arg1, arg2

C'est plus clair, moins de parenthèses et plus propre!

"C'est pas parce qu'ils sont nombreux à avoir tort qu'ils ont raison!"
(Coluche / 1944-1986 / Pensées et anecdotes)

Je brise la règle 1 et 2. Je
Messages postés
3983
Date d'inscription
jeudi 14 juillet 2005
Statut
Membre
Dernière intervention
30 juin 2013
14
Faut dire je ne lui ai jamais trouvé d'utilité mais ce n'est pas nous qui avons fait VB ...
_______________________________________________________________________
VB.NETis good ...VB6is better