Ho tentato, con la mia poca esperienza, di ordinare i files con la data decrescente per vizualizzare dal primo all'ultimo fileinserito, senza successo; spero che qualche paziente esperto mi indichi una soluzione. Grazie a quanti mi leggono e a quantii voranno offrirmi una soluzione. Buona navigazione
<%@ language = VBScript %>
<%
'--------------------------------------------------------------------------------------------
' LisFiles.Asp
'
' By Herman Liu
'
' This ASP is to list the files under a designated directory ready for download. File names
' are streamlined in uniform upper and lower cases, and sorted in an ascending order. Page
' navigational buttons will avail themselves when there are more than one pages, and will be
' appropriately updated as and when the user switches between pages, e.g. either "Next" or
' "Previous" if there are only two pages, additional "First" and/or "Last" if more than two.
' During browsing, a user can select any file for download by clicking on its name.
'
'--------------------------------------------------------------------------------------------
%>
<%
Option Explicit
On Error Resume Next
Response.buffer = true
DIM objFSO, objFolder, objFilesInFolder
DIM arrFiles(), mFileCount, mPageSize, mPageNo, mPageCount
DIM mDirPath, mFileSpec, mFile, mTemp
DIM mServerName
DIM i, j, k, s0, s1
DIM mformPage, mformCtl, mformCtlVal
Dim mDownloadDir, mHttpPath
' Change as appropriate to your needs
mPageSize = 8
' Change to the actual directory name you have
mDownloadDir = "../public/risultati"
' mDownloadDir should be one subdirectory down from where this page resides, e.g.
' if this page is on C:\InetPub\Wwwroot, your dir is C:\InetPub\Wwwroot\Downloads.
' The page should of course be in a directory that is defined as the home
' or a virtual directory.
mDirPath = server.mapPath(".") & "\" & mDownloadDir
'-----------------------------------------------
' Following the earlier remarks, if C:\Inetpub\wwwroot is home directory,
'and this page is in C:\InetPub\Wwwroot, the URL should be
'-----------------------------------------------
mHttpPath = "/" & mDownloadDir & "/"
'-----------------------------------------------
' but if this page is not in the home or a virtual directory
'(e.g,. on PWS, the page may be in C:\InetPub\Webpub but C:\Inetpub\wwwroot is
'defined as the home directory), then you need to adjust:
'-----------------------------------------------
' mHttpPath = "/WebPub/" & mDownloadDir & "/"
' Instances of object
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFolder = objFSO.GetFolder(mDirPath)
Set objFilesInFolder = objFolder.Files
mFileCount = objFilesInFolder.Count
IF mFileCount = 0 Then
Response.write "No file available for download yet."
Set objFSO = Nothing
Set objFolder = Nothing
Set objFilesInFolder = Nothing
Response.End
End If
mPageCount = INT(mFileCount \ mPageSize)
IF ( mFileCount Mod mPageSize) > 0 THEN
mPageCount = mPageCount + 1
End If
' Test the existence of a control on form. If exists, its name should
' have been wrapped up in HTTP header, since our form uses POST method.
mformPage = Request.Form("HiddenPage")
If mformPage <> "" Then
IF mPageCount > 1 Then
mPageNo = Cint(mformPage)
' Test the values returned. The unselected ones would have
' the pattern of "xxx" and the selected one "xxx, xxx".
For Each mformCtl In Request.Form
mformCtlVal = Request.Form(mformCtl)
IF mformCtlVal = "First, First" Then
mPageNo = 1
Exit For
ElseIf mformCtlVal = "Indietro, Indietro" Then
mPageNo = mPageNo - 1
Exit For
ElseIf mformCtlVal = "Avanti, Avanti" Then
mPageNo = mPageNo + 1
Exit For
ElseIf mformCtlVal = "Last, Last" Then
mPageNo = mPageCount
Exit For
End if
Next
Else
mPageNo = 1
End If
Else ' First run
mPageNo = 1
End If
' Two dimension array, for File Name and Size columns (entry for Description
' column not provided here)
ReDim arrFiles(mFileCount-1, 1)
' Store file name, size info to array
i = 0
For Each mFile In objFilesInFolder
' First char upper, rest lower case, for display purposes only
mTemp=UCASE(LEFT(mFile.Name,1)) & LCASE((RIGHT(mFile.Name, LEN(mFile.Name) -1)))
arrFiles(i, 0) = mTemp
' Fill file size
arrFiles(i, 1) = mFile.Size
i = i + 1
Next
' Sort array by file name
For i = 0 To UBOUND(arrFiles)-1
k = i
s0 = arrFiles(i, 0)
s1 = arrFiles(i, 1)
For j = i + 1 To UBound(arrFiles)
If StrComp(arrFiles(j, 0), s0, vbTextCompare) < 0 Then
s0 = arrFiles(j, 0)
s1 = arrFiles(j, 1)
k = j
End If
Next
arrFiles(k, 0) = arrFiles(i, 0)
arrFiles(k, 1) = arrFiles(i, 1)
arrFiles(i, 0) = s0
arrFiles(i, 1) = s1
Next
%>
<HTML>
<HEAD>
<TITLE>U. S. Aldo Moro classifiche</TITLE>
<META http-equiv="Content-Type" Content="text/html; Charset=iso-8859-1" ;>
</HEAD>
<BODY bgcolor="#66CCFF">
<%'<IMAGE SRC="LisFiles.gif" VSPACE=2 HSPACE=15 ALIGN=LEFT> %>
<p align="center" style="margin-top: 0; margin-bottom: 0">
<u><i><b><font face="Arial Black" color="#FF00FF">LISTA
DELLE CLASSIFICHE DISPONIBILI</font></b></i></u></p>
<p style="margin-top: 0; margin-bottom: 0" align="left">
<BR>
<FONT FACE="ARIAL" SIZE="1"> <B> Totale: <%= cStr(mFileCount) %>
classifiche. Pagina <%=Cstr(mPageNo) %>
di
<%=Cstr(mPageCount) %> pagine </B></FONT>
<BR> <BR>
</p>
<TABLE CELLPADDING=6 CELLSPACING=0 BORDER=1 width="623">
<TR> <TH ALIGN=LEFT width="527" bgcolor="#FFFF00">
<p align="center"><B>   Nome della
classifica </B></TH>
<TH ALIGN=RIGHT width="66" bgcolor="#FFFF00">
<p align="center">Bytes</TH></TR>
</TABLE>
<TABLE CELLPADDING=6 CELLSPACING=0 BORDER=1 width="624">
<%
k = (mPageNo - 1) * mPageSize
j = 0
FOR i = k To mFileCount -1
'-------------------------------------------------------------------
' To form an URL which will be used as an anchor tag for file name
'-------------------------------------------------------------------
mTemp = mHttpPath & arrFiles(i, 0)
%>
<TR><TD width="529"><A HREF="<%=mTemp%>"> <%=arrFiles(i,0)%> </A> <BR></TD>
<TD ALIGN=RIGHT width="67"> <%=arrFiles(i,1)%> <BR></TD>
<%
j = j + 1 ' Count to control the max
IF j = mPageSize then ' j is zero-based
Exit For
End If
Next
' Fill up one page with blanks
DO WHILE j < mPageSize
%>
<TR><TD width="529"> <BR></TD>
<TD width="67"> <BR></TD> </TR>
<%
j = j + 1
LOOP
%>
</TABLE>
<FORM NAME="UpdPage" ACTION="LisFiles.asp" METHOD="POST">
<INPUT TYPE="HIDDEN" NAME="HiddenPage" VALUE="<%=cstr(mPageNo)%>">
<INPUT TYPE="HIDDEN" NAME="OfFirst" VALUE="First" STYLE="POSITION: RELATIVE;LEFT=10; WIDTH=70; COLOR=MAROON;">
<INPUT TYPE="HIDDEN" NAME="OfIndietro" VALUE="Indietro" STYLE="POSITION:RELATIVE;LEFT=10; WIDTH=70; COLOR=MAROON;">
<INPUT TYPE="HIDDEN" NAME="OfAvanti" VALUE="Avanti" STYLE="POSITION:RELATIVE; LEFT=10; WIDTH=70; COLOR=MAROON;">
<INPUT TYPE="HIDDEN" NAME="OfLast" VALUE="Last" STYLE="POSITION:RELATIVE; LEFT=10; WIDTH=70; COLOR=MAROON;">
<% IF mPageCount>1 Then %>
<% If mPageNo=1 Then %>
<INPUT TYPE="SUBMIT" NAME="OfAvanti" VALUE="Avanti" STYLE="POSITION:RELATIVE; LEFT=10; WIDTH=70; COLOR=MAROON;">
<% If mPageCount>2 Then %>
<INPUT TYPE="SUBMIT" NAME="OfLast" VALUE="Last" STYLE="POSITION:RELATIVE; LEFT=10; WIDTH=70; COLOR=MAROON;">
<% End If %>
<% ElseIf mPageNo=mPageCount Then %>
<% If mPageCount>2 Then %>
<INPUT TYPE="SUBMIT" NAME="OfFirst" VALUE="First" STYLE="POSITION: RELATIVE;LEFT=10; WIDTH=70; COLOR=MAROON;">
<% End If %>
<INPUT TYPE="SUBMIT" NAME="OfIndietro" VALUE="Indietro" STYLE="POSITION:RELATIVE;LEFT=10; WIDTH=70; COLOR=MAROON;">
<% ElseIf mPageNo>1 And mPageNo<mPageCount Then %>
<% If mPageCount>2 Then %>
<INPUT TYPE="SUBMIT" NAME="OfFirst" VALUE="First" STYLE="POSITION: RELATIVE;LEFT=10; WIDTH=70; COLOR=MAROON;">
<% End If %>
<INPUT TYPE="SUBMIT" NAME="OfPrevious" VALUE="Previous" STYLE="POSITION:RELATIVE;LEFT=10; WIDTH=70; COLOR=MAROON;">
<INPUT TYPE="SUBMIT" NAME="OfNext" VALUE="Next" STYLE="POSITION:RELATIVE; LEFT=10; WIDTH=70; COLOR=MAROON;">
<% If mPageCount>2 Then %>
<INPUT TYPE="SUBMIT" NAME="OfLast" VALUE="Last" STYLE="POSITION:RELATIVE; LEFT=10; WIDTH=70; COLOR=MAROON;">
<% End If %>
<% End If %>
<% End If %>
</FORM>
</BODY>
</HTML>
<%
Set objFSO = Nothing
Set objFolder = Nothing
Set objFilesInFolder = Nothing
Response.End
%>