Sapere quale file è stato creato per ultimo

Da Gambas-it.org - Wikipedia.
Versione del 24 giu 2024 alle 16:37 di Vuott (Discussione | contributi)

(diff) ← Versione meno recente | Versione attuale (diff) | Versione più recente → (diff)

Mostreremo un possibile codice per conoscere quale file fra diversi all'interno di una directory è stato creato per ultimo e prima che il programma Gambas, atto a rilevarlo, fosse lanciato.

Public Struct InfoFile
  nome As String
  tempus As Float
End Struct

Private Const PERCORSO As String = "/percorso/della/cartella/contenente/i file"


Public Sub Main()

 Dim fl As String
 Dim info As InfoFile
 Dim vettore As New InfoFile[]
 Dim f As Float
 Dim ff As New Float[]
 Dim j, index As Integer

 For Each fl In Dir(PERCORSO, Null, gb.File)
   info = New InfoFile
   With info
     .nome = fl
' La data (comprensiva di ore, minuti e secondi) di ultimo accesso al file è convertita in un valore a virgola mobile:
     .tempus = CFloat(Stat(PERCORSO &/ fl).LastAccess)
   End With
   vettore.Add(info)
 Next

 f = vettore[0].tempus

' Confronta il valore in virgola mobile di ciascuna data convertita, salvando quello più elevato (ossia il più recente), nonché l'indice dell'elemento vettoriale corrispondente al valore salvato:
 For j = 0 To vettore.Max
   ff.Add(Max(f, vettore[j].tempus))
   If ff[j] <> f Then index = j
   f = ff[j]          
 Next

' Mostra in console i risultati:
 Print "\nIl valore della data convertita più alto è =  "; f
 Print "                 corrispondente all'indice =  "; index
 Print "           L'ultimo file generato dunque è =  "; PERCORSO; "/"; vettore[index].nome

End

Il predetto codice è utile anche per conoscere l'ultimo file modificato.