Ordinare le directory con FSO e disconnected recordset di ADO

di , in Classic ASP, Files,

In passato abbiamo già visto algoritmi particolari per ordinare degli insiemi:
https://www.aspitalia.com/liste/usag/script.aspx?ID=44
https://www.aspitalia.com/liste/usag/script.aspx?ID=45
https://www.aspitalia.com/liste/usag/script.aspx?ID=46

Si tratta degli algoritmi noti a chi studia informatica e pertanto molto utilizzati.
L'esempio di oggi invece farà uso di una caratteristica non troppo sfruttata di ADO: i disconnected recordset.
Per prima cosa dunque creeremo un nuovo recordset, impostando tre campi: nome, dimensione e data.
In seguito popoleremo il recordset attraverso un ciclo, sfruttando l'oggetto FSO per popolarlo.
Infine, tramite la proprietà sort dell'oggetto recordset ordineremo i risultati appena ottenuti per data.

<%

' definizione del recordset
set custRs = Server.CreateObject("ADODB.Recordset")
custRs.Fields.Append "nome", 200, 300 ' adVarChar
custRs.Fields.Append "dimensione", 2, 4 ' smallint
custRs.Fields.Append "data", 7 ' Date
custRs.Open

' popolamento
Set FileObject = Server.CreateObject("Scripting.FileSystemObject")
StrPath = Server.MapPath("/")

Set f = FileObject.GetFolder(strPath)
Set fc = f.SubFolders

For Each f1 in fc
        custRs.AddNew
 custRs("nome") = f1.name
   custRs("data") = f1.DateCreated
 custRs("dimensione") = f1.size / 1024
Next

Set fc = Nothing
Set f = Nothing
Set FileObject = Nothing

' Ordino in base al campo data
custRs.Sort = "data DESC"
 
Response.write ("<table border=1>")
Response.write ("<tr><th>Nome<th>Dimensione<th>Data di creazione")

 ' Mostro il recordset appena ordinato
 Do until custRs.eof
  Response.Write ("<tr><td>" & custRs("nome") )
  Response.Write ("<td>" & custRs("dimensione") & " KB" )
  Response.Write ("<td>" & custRs("data") )
   custRs.movenext
loop

Response.write ("</table>")
' libero risorse
custRs.Close
set custRs = Nothing

%>

In sintesi, questo script mosterà in una tabella i nomi delle directory ordinate per data di modifica.
E' ovviamente possibile estendere questo stesso script per visualizzare anche i files, oltre per ordinare in base a campi differenti.

Commenti

Visualizza/aggiungi commenti

Ordinare le directory con FSO e disconnected recordset di ADO (#393) 810 147
| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Approfondimenti

Nessuna risorsa collegata

I più letti di oggi