Visual Basic - Fecha de Creacion de un Archivo

Life is soft - evento anual de software empresarial
 
Vista:

Fecha de Creacion de un Archivo

Publicado por Juan Carlos (26 intervenciones) el 15/03/2005 17:37:40
hola:
Alguen me podria explicar como le puedo hacer para checar la fecha de creacion de un archivo, si me puedes explicar con codigo se los agradeceria , de antemano muchas gracias...ok,
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Fecha de Creacion de un Archivo

Publicado por Goran_lll (5 intervenciones) el 15/03/2005 22:53:02
Bien te daré dos opciones soy mas partidario de usar fso pero como a veces lo he puesto y se me kejan de q es demasiado q es mejor la api pos yo pongo los dos metodos en otros tendran razon pero en este usar la api es un coñazo....

Version con API :

1º Declaro todas las estructuras y funciones necesarias.
2º Uso OpenFile para conseguri el identificativo del fichero.
3º Uso GetFileTime para conseguir las fechas (ojo la fecha de ultimo acceso la hemos modificado al usar openfile)
4º Uso FileTimeToSystemTime para pasar la fecha devuelta en FILETIME aSYSTEMTIME q es entendible.

----CÓDIGO------

Const OFS_MAXPATHNAME = 128
Const OF_CREATE = &H1000
Const OF_READ = &H0
Const OF_WRITE = &H1
Private Type OFSTRUCT
cBytes As Byte
fFixedDisk As Byte
nErrCode As Integer
Reserved1 As Integer
Reserved2 As Integer
szPathName(OFS_MAXPATHNAME) As Byte
End Type
Private Type FILETIME
dwLowDateTime As Long
dwHighDateTime As Long
End Type
Private Type SYSTEMTIME
wYear As Integer
wMonth As Integer
wDayOfWeek As Integer
wDay As Integer
wHour As Integer
wMinute As Integer
wSecond As Integer
wMilliseconds As Integer
End Type
Private Declare Function OpenFile Lib "kernel32" (ByVal lpFileName As String, lpReOpenBuff As OFSTRUCT, ByVal wStyle As Long) As Long
Private Declare Function GetFileTime Lib "kernel32" (ByVal hFile As Long, lpCreationTime As FILETIME, lpLastAccessTime As FILETIME, lpLastWriteTime As FILETIME) As Long
Private Declare Function FileTimeToSystemTime Lib "kernel32" (lpFileTime As FILETIME, lpSystemTime As SYSTEMTIME) As Long
Private Sub Command1_Click()
Dim OF As OFSTRUCT, sSaveTo As String
Dim hwd As Long
Dim l1 As FILETIME
Dim l2 As FILETIME
Dim l3 As FILETIME
Dim l11 As SYSTEMTIME
Dim l22 As SYSTEMTIME
Dim l33 As SYSTEMTIME
hwd = OpenFile("path del fichero", OF, OF_READ)
Call GetFileTime(hwd, l1, l2, l3)
Call FileTimeToSystemTime(l1, l11)
Call FileTimeToSystemTime(l2, l22)
Call FileTimeToSystemTime(l3, l33)

----CÓDIGO------

Método con FSO:
1º referenciamos el fso a nuestro proyecto. (scrrun.dll)
2ºlas fechas las conseguimos en formato date q es compatible con string

----CÓDIGO------

Dim usuario As New FileSystemObject
Dim fichero As File
Set fichero = usuario.GetFile("path del fichero")
Text1.Text = fichero.DateCreated
Text2.Text = fichero.DateLastAccessed
Text3.Text = fichero.DateLastModified

----CÓDIGO------

No se vas ser q con al Api te lias mas....jeje

SALU2 :-)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar