Class System.IO.FileInfo

Messages postés
53
Date d'inscription
mercredi 11 août 2004
Statut
Membre
Dernière intervention
11 juin 2010
- - Dernière réponse : DD05
Messages postés
53
Date d'inscription
mercredi 11 août 2004
Statut
Membre
Dernière intervention
11 juin 2010
- 5 déc. 2008 à 20:23
Bonjour,


Je suis débutant et je recherche la class pour pourvoir utiliser le type System.IO.FileInfo sous VB6.

J'en ai besoin pour trouver l'heure du dernier accès du fichier.


Merci


DD05


Voici mon code :

Dans un module, je déclare :
Public information As System.IO.FileInfo  ' Messagelors du lancement"Compile error :  User-defined type not defined"
Public fso As New FileSystemObject


Dans ma Form :
Private Sub Form_Load()


 Nom_fichier_1 = Dir1.Path & "" & Fichier_1


  If (FichierExiste(Nom_fichier_1) = True ) Then


   Set f = fso.GetFile(Nom_fichier_1)


   information = My.Computer.FileSystem.GetFileInfo(Nom_fichier_1) 


   Date_fichier_1 = Format(f.DateLastAccessed, "dd/mm/yyyy")        

  

   Heure_fichier_1 = information.LastAccessTime                 

                

 End If


End Sub
Afficher la suite 

5 réponses

Messages postés
282
Date d'inscription
lundi 29 septembre 2003
Statut
Membre
Dernière intervention
15 août 2012
2
0
Merci
salut

tu mélanges VB6 et VB.NET

en vb6, tu dois passé par FileSystemObject ou encore les API pour avoir accès à des propriétés d'un fichier.
Commenter la réponse de radcur
Messages postés
53
Date d'inscription
mercredi 11 août 2004
Statut
Membre
Dernière intervention
11 juin 2010
1
0
Merci
Bonjour,

Merci pour ta réponse.

Mais le problème en VB6, c'est qu'avec FileSystemObject, on ne peut obtenir que la date du dernier accés au fichier avec les commandes Getfile(Nom_fichier)et Format(f.DateLastAccessed, "dd/mm/yyyy").

Mais on ne peut pas obtenir l'heure.

Salut,

DD05
Commenter la réponse de DD05
Messages postés
282
Date d'inscription
lundi 29 septembre 2003
Statut
Membre
Dernière intervention
15 août 2012
2
0
Merci
salut

bon... ma réponse est disparue...

on recommence

as-tu essayé (ce qui suit est de mémoire car VB6 commence à être loin pour moi)

format(f.datelastaccessed, "dd/mm/yyyy hh:nn:ss")  où hh:nn:ss représente heures:minutes:secondes

sinon, tu devras peut-être te tourner du côté des API qui t'offriront un peu plus de "puissance"
Commenter la réponse de radcur
Messages postés
53
Date d'inscription
mercredi 11 août 2004
Statut
Membre
Dernière intervention
11 juin 2010
1
0
Merci
Salut,

Oui, j'ai déjà essayé format(f.datelastaccessed, "dd/mm/yyyy hh:mm:ss").

J'obtiens : 05/12/2008 00:00:00.

Et j'ai vérifié, le dernier accès n'a pas été fait à minuit !!

C'est quoi les API ?
Commenter la réponse de DD05
Messages postés
53
Date d'inscription
mercredi 11 août 2004
Statut
Membre
Dernière intervention
11 juin 2010
1
0
Merci
J'ai trouvé l'API sur Codes Sources :
http://www.vbfrance.com/codes/RETROUVE-DATE-CREATION-FICHIER-API_27512.aspx

Mais j'ai le même problème. J'ai la date mais pas l'heure. J'en déduit que cela vient de mon PC portable qui a 4 ans !!
Lundi j'essayerai sur un autre PC. Je te tiens au courant.

Il suffit de remplacer dans sont code

Call FileTimeToLocalFileTime(Info_Fichier.ftCreationTime, ft)

par 
Call FileTimeToLocalFileTime(Info_Fichier.ftLastAccessTime, ft)

et

Date_File = st.wDay & "/" & st.wMonth & "/" & st.wYear
par
par Date_File = st.wDay & "/" & st.wMonth & "/" &
st.wYear & "  " & st.wHour & ":" & st.wMinute & ":"
& st.wSecond

  
Commenter la réponse de DD05