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

Résolu
lisco Messages postés 54 Date d'inscription lundi 14 juillet 2008 Statut Membre Dernière intervention 28 septembre 2008 - 27 juil. 2008 à 10:24
cs_ghuysmans99 Messages postés 3983 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 - 28 juil. 2008 à 19:00
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

cs_ghuysmans99 Messages postés 3983 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 16
27 juil. 2008 à 12:12
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
3
cs_ghuysmans99 Messages postés 3983 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 16
27 juil. 2008 à 10:47
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
0
lisco Messages postés 54 Date d'inscription lundi 14 juillet 2008 Statut Membre Dernière intervention 28 septembre 2008
27 juil. 2008 à 10:51
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
0
gillardg Messages postés 3275 Date d'inscription jeudi 3 avril 2008 Statut Membre Dernière intervention 14 septembre 2014 3
27 juil. 2008 à 11:12
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>
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jmfmarques Messages postés 7668 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
27 juil. 2008 à 11:23
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)
0
lisco Messages postés 54 Date d'inscription lundi 14 juillet 2008 Statut Membre Dernière intervention 28 septembre 2008
27 juil. 2008 à 11:45
merci,tu peux me donner un pe plus d'explication stp c'est a dire comment l'integrer ds mon codage?
merci d'avance
0
lisco Messages postés 54 Date d'inscription lundi 14 juillet 2008 Statut Membre Dernière intervention 28 septembre 2008
27 juil. 2008 à 13:31
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.

 
0
cs_ghuysmans99 Messages postés 3983 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 16
27 juil. 2008 à 17:18
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
0
bonjourcheval Messages postés 228 Date d'inscription mercredi 13 décembre 2000 Statut Membre Dernière intervention 8 août 2011
28 juil. 2008 à 14:56
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
0
cs_ghuysmans99 Messages postés 3983 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 16
28 juil. 2008 à 19:00
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
0