Récupérer la date de dernière modification d'un fichier sur un serveur FTP.
cs_JMV83
Messages postés1Date d'inscriptionlundi 7 février 2005StatutMembreDernière intervention 7 octobre 2005
-
7 oct. 2005 à 09:28
cs_Willi
Messages postés2375Date d'inscriptionjeudi 12 juillet 2001StatutModérateurDernière intervention15 décembre 2018
-
7 oct. 2005 à 14:38
Bonjour,
Voici un problème que je n'arrive pas à résoudre et pour lequel je sollicite
votre expertise.
J'essaie de récupérer la date de dernière modification d'un fichier sur un
serveur FTP.
Pour cela, j'utilise le code suivant :
Module TEST
Public Const MAX_PATH As Short = 260
Public Structure FILETIME
Public dwLowDateTime As Integer
Public dwHighDateTime As Integer
End Structure
Public Structure WIN32_FIND_DATA
Public dwFileAttributes As Integer
Public ftCreationTime As FILETIME
Public ftLastAccessTime As FILETIME
Public ftLastWriteTime As FILETIME
Public nFileSizeHigh As Integer
Public nFileSizeLow As Integer
Public dwReserved0 As Integer
Public dwReserved1 As Integer
<System.Runtime.InteropServices.MarshalAs(System.Runtime.InteropServices.Unm
anagedType.ByValTStr, SizeConst:=MAX_PATH)> _
Public cFileName As String
<System.Runtime.InteropServices.MarshalAs(System.Runtime.InteropServices.Unm
anagedType.ByValTStr, SizeConst:=14)> _
Public cAlternateFileName As String
End Structure
Public Structure SYSTEMTIME
Public wYear As Integer
Public wMonth As Integer
Public wDayOfWeek As Integer
Public wDay As Integer
Public wHour As Integer
Public wMinute As Integer
Public wSecond As Integer
Public wMilliseconds As Integer
End Structure
Public Declare Function FileTimeToLocalFileTime Lib "kernel32" ( _
ByVal lpFileTime As FILETIME, _
ByVal lpLocalFileTime As FILETIME) As Long
Public Declare Function FileTimeToSystemTime Lib "kernel32" ( _
ByVal lpFileTime As FILETIME, _
ByVal lpSystemTime As SYSTEMTIME) As Long
Function testdate1()
Dim fData As WIN32_FIND_DATA
Dim St As SYSTEMTIME
Dim Ft1 As FILETIME
Dim Ft2 As FILETIME
Lorsque je fais tourner ce code, je récupère bien dans la structure fData
les paramètres qui m'interessent :
fData.cFileName : Contient le nom du fichier concerné,
fData.nFileSizeLow : Contient la taille du fichier.
fData.ftCreationTime et fData.ftLastAccessTime = 0 (ce qui d'après ce que
j'ai lu sur Internet semble
cohérent).
En revanche, fData.fLastWriteTime n'est pas vide.
La structure FILETIME associée à fLastWriteTime contient les valeurs :
Ceci m'amène à vous poser une première question : Est-ce que les valeurs
ci-dessus vous
semblent correctes ?
Lorsque j'exécute le code de la fonction testdate1(), j'obtient lors de
l'exécution
de FileTimeToLocalFileTime(Ft1, Ft2) le message d'erreur suivant :
"Une exception non gérée du type 'System.NullReferenceException' s'est
produite dans
toto.exe.
La référence d'objet n'est pas définie à une instance d'un objet".
Voila.
Merci d'avance pour toute aide que vous pourrez m'apporter.
Jean-Marc
A voir également:
Récupérer la date de dernière modification d'un fichier sur un serveur FTP.
cs_Willi
Messages postés2375Date d'inscriptionjeudi 12 juillet 2001StatutModérateurDernière intervention15 décembre 201822 7 oct. 2005 à 14:38
Je pense que cela devrait résoudre ton problème. C'est du vb6 mais bon c'est relativement la meme chose sur la conversion
Si ta besoin d'aide fais signe :)
http://www.vb-helper.com/howto_file_times.html