Sapere quale file è stato creato per ultimo

Da Gambas-it.org - Wikipedia.

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


In vero il predetto codice è utile anche per conoscere l'ultimo file modificato.