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
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
I più letti di oggi
- Simulare Azure Cosmos DB in locale con Docker
- Utilizzare il metodo Index di LINQ per scorrere una lista sapendo anche l'indice dell'elemento
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!
- .NET Conference Italia 2024 - Milano
- .NET Conference Italia 2023 - Milano e Online