Un esplora risorse in ASP

4 pagine in totale: <<Indietro 1 [2] 3 4 Avanti >>

Il contenuto della directory

Function Mostra_Directory(cartella)

Vengono ora settate le variabili Fso , FL , ed SF aventi le relative funzioni di: collegamento all'oggetto Scripting per l'utilizzo della classe FileSystemObject , ricerca delle directory presenti sul percorso e, elenco delle sottodirectory

 Set Fso = CreateObject("Scripting.FileSystemObject")
 Set FL = fso.GetFolder(cartella)
 Set SF = fl.SubFolders
 

Viene quindi processato il valore della variabile cartella per inserire, se necessario, il link verso la cartella precedente. Nel caso in cui la lunghezza della stringa contenuta nella variabile cartella sia pari a tre caratteri significa che il valore della variabile indica la root del disco su cui stiamo lavorando (a:\, c:\, d:\, etc.) e quindi il link sopracitato non deve essere inserito:

 If Len(cartella) > 3 then
  Precedente = ""

Per l'inserimento del link è necessario ricostruire il percorso della cartella precedente. Questa operazione è molto semplice infatti, supponendo che cartella abbia come valore c:\inetpub\wwwroot\ , sarà sufficiente ricercare il secondo slash a partire a destra ( c:\inetpub\wwwroot\ ) e quindi assegnare ad una variabile precedente il valore c:\inetpub\ :

  For f = len(cartella)-1 to 1 step -1
   If Mid(cartella,f,1) = "\" and Precedente = "" then
   Precedente = Mid(cartella,1,f)
   End If
  Next
  Response.write "<a href='index.asp?percorso=" & Precedente
Response.write "' TARGET='_parent'>..</A><BR>"
 End If

Dopo tutti questi controlli, finalmente si arriva al cuore di tutto, la procedura For Each per la creazione dell'elenco delle directory:

 For Each FL in SF
 Sotto_Cartella = FL.Name
 If Len(cartella) < 3 then
  Response.write Sotto_Cartella & "<BR>"
 Else
  Response.write "<a href='index.asp?percorso=" & Percorso & Sotto_Cartella & "' TARGET='_parent'>" & Sotto_Cartella & "</A><BR>"
 End If
 Next

Il ciclo For Each può essere compreso se traduciamo "letteralmente" dall'inglese all'italiano ottenendo, For Each FL in SF ? Next in luogo di Per Ogni FL in SF ? Ripeti

Quindi, il ciclo si ripeterà sino a quando i valori di FL (le directory presenti sul percorso corrente) sono compresi all'interno di SF (la directory principale del percorso corrente).

End Function
%>

Da una rapida occhiata, si può vedere che tutti i link creati da questa pagina (ma anche dagli altri file .asp ancora da analizzare) richiamano sempre il file index.asp con il parametro percorso .

Il cuore del sistema

Vediamo quindi la struttura del file index.asp che è relativamente semplice:

<%
' Reperimento variabili
Percorso = Request.QueryString("percorso")
If Percorso <> "" then
 Link_1 = "percorso.asp?percorso=" & Percorso
 Link_2 = "directory.asp?percorso=" & Percorso
 Link_3 = "file.asp?percorso=" & Percorso
%>
<FRAMESET ROWS="10%,* " FRAMEBORDER=0 BORDER=0 NORESIZE>
 <FRAME NAME="percorso" src="<%=Link_1%>">
 <FRAMESET COLS="25%,* " FRAMEBORDER=0 BORDER=0 NORESIZE> <!-- Indiquer la grandeur de vos cadres -->
  <FRAME NAME="directory" src="<%=Link_2%>">
  <FRAME NAME="file" src="<%=Link_3%>">
 </FRAMESET>
</FRAMESET>
<%Else
 Response.redirect "default.asp"
End If%>

Il file analizza il valore contenuto nel parametro percorso , se quest'ultimo non contiene alcun valore, richiama la pagina default.asp , diversamente utilizza questo valore per creare il link necessario al caricamento delle varie parti ed assegnandone i valori alle variabili link_1 , link_2 , e link_3 .

A questo punto crea la pagina suddivisa nei tre frame necessari per un'ottimale utilizzo del programma:

Un frame orizzontale in alto di nome percorso in cui viene caricato il file percorso.asp , un frame verticale (sinistro) di nome directory in cui viene caricato il file directory.asp ed un frame verticale (destro) di nome file dove viene inserito in file file.asp .

Il file percorso.asp ha come unico scopo la visualizzazione del percorso corrente e l'inserimento di un link per il refresh di tutti e tre i frame:

<%
' Verifica il valore del parametro "Percorso"
Percorso = Request.QueryString("percorso")
%>
<TABLE cellspacing=0 cellpadding=0 WIDTH=100%>
 <TR>
  <TD ALIGN=LEFT WIDTH=85%><FONT  SIZE=2><%=Percorso%></FONT></TD>
  <TD ALIGN=RIGHT WIDTH=15%><FONT  SIZE=2>
<A href="index.asp?percorso=<%=Percorso%>" TARGET="_parent">Refresh</A>
</FONT>
</TD>
 </TR>
</TABLE>

File di estrema semplicità, recupera il valore inserito nel parametro percorso e crea quindi una tabella costituita da due celle, la prima visualizza il valore appena recuperato mentre nella seconda cella viene inserito il link di refresh che, semplicemente, richiama il file index.asp con l'aggiunta del parametro percorso .

4 pagine in totale: <<Indietro 1 [2] 3 4 Avanti >>

Attenzione: Questo articolo contiene un allegato

Contenuti dell'articolo

Commenti
Dai un voto a questo articolo, ci aiuterà a migliorare il nostro sito (1 è il voto minimo, 5 il massimo).

Per procedere al rating dell'articolo devi essere autenticato.

Aggiungi un nuovo commento »»»
Per inserire un commento, devi registrarti alla nostra community.


TUTORIALS
TOP TEN ARTICOLI
NOTIFICHE

Iscriviti alla nostra newsletter nuoviarticoli per ricevere e-mail le notifiche!

Indirizzo e-mail:
PROVIDER ASP.NET 2.0

Seleziona il database per avere il web.config pronto per Membership, Roles e Profile API.



IN EVIDENZA
MISC