Newsgroup: it.comp.lang.visual-basic
Titolo: [?] Ricavare la data di un file.

Per ottenere la data di creazione di un file ho dichiarato la seguente
funzione dell'API:
Declare Function GetFileTime Lib "kernel32" (ByVal hFile As Long,
lpCreationTime As FILETIME, lpLastAccessTime As FILETIME, lpLastWriteTime As
FILETIME) As Long
Quindi per leggere la data dovrei ricavare l'handle del file (hFile) e poi
fare, ad esempio:
GetFileTime hFile, DtCreaz, DtLstAc, DtLstWr
DataFile = DtCreaz
Per ricavare hFile la "Microsoft Win32 Programmer's Reference" dice.
"Identifies the files for which to get dates and times. The file handle must
have been created with GENERIC_READ access to the file. "
Cioč?
Ringrazio chi vorrą aiutarmi...... e magari farmi un esempio concreto.
Ciao a tutti.

Scusa, ma se non sbaglio c'č un'apposita funzione di vb che ha piů o meno lo
stesso nome: basta passargli il percorso e il nome del file; cerca bene
sull'msdn, č molto piů semplice che dichiarare l'api
Rogis ha scritto nel messaggio ...


--
Ciao da RangO e....
...visita il mio sito:
http://utenti.tripod.it/RangO72/
Spero di averti detto tutto quello che ti serve
x giorgio: Con questo sistema hai MOLTE ma MMMOOOLLLTTTEEE informazioni
P.S. Ho modificato il codice senza stare tanto attento!!!! Fai attenzione
Type FILETIME
    dwLowDateTime As Long
    dwHighDateTime As Long
End Type
Type BY_HANDLE_FILE_INFORMATION
    dwFileAttributes As Long
    ftCreationTime As FILETIME
    ftLastAccessTime As FILETIME
    ftLastWriteTime As FILETIME
    dwVolumeSerialNumber As Long
    nFileSizeHigh As Long
    nFileSizeLow As Long
    nNumberOfLinks As Long
    nFileIndexHigh As Long
    nFileIndexLow As Long
End Type
Declare Function CreateFile Lib "kernel32" Alias "CreateFileA" _
    (ByVal lpFileName As String, _
    ByVal dwDesiredAccess As Long, _
    ByVal dwShareMode As Long, _
    ByVal lpSecurityAttributes As Long, _
    ByVal dwCreationDisposition As Long, _
    ByVal dwFlagsAndAttributes As Long, _
    ByVal hTemplateFile As Long) As Long
Const GENERIC_READ = &H80000000 'apre in lettura
Const GENERIC_WRITE = &H40000000 'apre in scrittura
Const FILE_SHARE_READ = &H1 'Condivisione del file in lettura
Const FILE_SHARE_WRITE = &H2 'Condivisione del file in scrittura
Const CREATE_NEW = 1 'Crea un nuovo file. La funzione fallisce se il file
esiste
Const CREATE_ALWAYS = 2 'Crea un nuovo file. Se il file esiste già, la
funzione lo sovrascrive.
Const OPEN_EXISTING = 3 'Apre il file. La funzione fallisce se il file non
esiste..
                                    'In caso di apertura di' un dispositivo,
ad es. porta seriale questo
                                    'parametro è d'obbligo poichè indica a
Windows di non creare una
                                    'nuova porta, ma di aprirne una già
esistente
Const OPEN_ALWAYS = 4 'Apre il file se esiste. Se il file non esiste, la
funzione lo crea come se si fosse passato il flag CREATE_NEW.
Const TRUNCATE_EXISTING = 5 'Apre il file. Dopo L'apertura, il file viene
troncato affinchè
                                            'la sua dimensione sia di zero
bytes.Ciò per consentire al
                                            'processo seguente l'accesso
diretto in scrittura..
                                            'La funzione fallisce se il file
non esiste
Const FILE_ATTRIBUTE_ARCHIVE = &H20 'Un file di archivio (la maggior parte
dei files).
Const FILE_ATTRIBUTE_COMPRESSED = &H800 'Un file in un drive o in una
directory compressa
Const FILE_ATTRIBUTE_DIRECTORY = &H10 'Una directory invece di un file
Const FILE_ATTRIBUTE_HIDDEN = &H2 'File nascosto
Const FILE_ATTRIBUTE_NORMAL = &H80 'File senza attributi.
Const FILE_ATTRIBUTE_READONLY = &H1 'File di sola lettura.
Const FILE_ATTRIBUTE_SYSTEM = &H4 'File di sistema (lo usa solo il sistema
operativo)
Const FILE_FLAG_WRITE_THROUGH = &H80000000 'Legge e scrive direttamente nel
file bypassando qualsiasi cach intermediaria.
Const FILE_FLAG_OVERLAPPED = &H40000000 'Modalità I/O asincrona. consente la
lettura e la scrittura del file simultanea.Se utilizzato, la funzione che
legge e scrive nel file deve appoggiarsi alla struttura OVERLAPPED
identificando il puntatore al file.
Const FILE_FLAG_NO_BUFFERING = &H20000000 'Non usa alcun buffer o cache.Se
utilizzato, tenere presente che: l'accesso al file deve iniziare al numero
intero multiplo della dimensione dei settori del disco,  il totale dei dati
accessibili, deve essere un numero intero multiplo della dimensione dei
settori del disco, gli indirizzi per le operazioni di  I/O devono essere
allineati al   numero intero multiplo della dimensione dei settori del disco
Const FILE_FLAG_RANDOM_ACCESS = &H10000000  'Ottimizza la cache per
l'accesso casuale.
Const FILE_FLAG_SEQUENTIAL_SCAN = &H8000000  'Ottimizza la cache per
l'accesso sequenziale
Const FILE_FLAG_DELETE_ON_CLOSE = &H4000000 'Cancella il file al termine
della chiusura
Const FILE_FLAG_POSIX_SEMANTICS = &H1000000 'Abilita il nome del file ad
essere case-sensitive.
                                                            'Utilizzare con
cautela questo flags, poichè i file creati
                                                            'con questo
flags, non saranno accessibili dalle applicazioni
                                                            'scritte in Dos
o in Win 3.x
Declare Function CloseHandle Lib "kernel32.dll" _
                                        (ByVal hObject As Long) As Long
Declare Function GetFileInformationByHandle Lib "kernel32.dll" _
                                        (ByVal hFile As Long, _
                                        lpFileInformation As
BY_HANDLE_FILE_INFORMATION) As Long
Function informazioni(Nomefile As String)
    Dim hFile As Long
    Dim InfFile As BY_HANDLE_FILE_INFORMATION
    'Apertura file
    hFile = CreateFile(Nomefile, GENERIC_READ, 0, 0, OPEN_EXISTING, 0, 0)
    'Ricava informazioni del file
    GetFileInformationByHandle hFile, InfFile
    'Chiudi file
    CloseHandle hFile
end function