Option Explicit
Sub Main
'================= PREMESSA =====================================================
'questo script dimostra l'uso di link per la navigazione all'interno del documento
'come sapete l'output di spazioscript è un file in formato html pertanto si possono
'usare le funzionalità del linguaggio html quando occorrono
'per farlo va inserito l'apposito codice html direttamente dentro l'output o con la
'funzione scrivi oppure con la funzione ScriviHtml fatta apposta ma presente solo
'nelle ultime versioni
'================= ISTRUZIONI ====================================================
' per poter navigare il documento bisogna innanzi tutto definire delle sezioni
' all'interno del documento , ogni sezione dovrà avere un suo nome con il quale potremo
' riferirci ad essa , i nomi delle sezioni devono essere univoci
' per creare una sezione nel documento usiamo la routine presente nello script CreaSezione
' successivamente la sezione andrà chiusa con la routine anc'essa presente nello script
' ChiudiSezione
' per spostarci da una parte all'altra del documento inseriremo delle apposite link che
' otteniamo tramite la funzione GetTestoLink al quale passeremo il nome della sezione che
' vogliamo linkare
'================ ESEMPIO ===================================================
' ammettiamo di avere uno script che produca una tabella principale di 10 righe e 10
' tabelle secondarie.
' Vogliamo che da ciascuna riga della tabella principare si possa andare alla relativa
' tabella secondaria.
' Nello stesso tempo vogliamo che dalla tabella secondaria con un click si possa tornare
' alla tabella principale
'=============== PROCEDIMENTO ================================================
' creeremo una prima sezione dove scriveremo la tabella principale , successivamente creeremo
' altre 10 sezioioni una per ogni tabella secondaria.
'nome della sezione contenente la tabella principale
Dim sNomeSezPrincipale
'nome della sezione contenente la tabella secondaria
Dim sNomeSezTabSecondaria
Dim k,j
sNomeSezPrincipale = "TabellaPrincipale"
' apriamo la sezione
Call CreaSezione( sNomeSezPrincipale)
' creiamo la tabella principale e dinamicamente ad ogni riga costruiremo il nome della sezione
' che conterrà la tabella secondaria riferita alla riga corrrente
ReDim aV(2)
aV(1) = "Titolo 1"
aV(2) = "Link"
Call InitTabella ( aV)
For k = 1 To 10
' costruisco il nome per la sezione secondaria.
sNomeSezTabSecondaria = "TabSecondaria" & k
' alimento la riga della tabella
aV(1) = "Testo riga " & k
aV(2) = GetTestoLink(sNomeSezTabSecondaria,"Tab secondaria" & k )
Call AddRigaTabella (aV)
Next
Call CreaTabella
' chiudiamo la sezione della tabella principale
ChiudiSezione
' scriviamo le tabelle secondarie ciascuna dentro la sua sezione
For k = 1 To 10
' creo una link per riportare alla tabella principale
Call ScriviHtml(GetTestoLink(sNomeSezPrincipale , "Indietro"))
' costruisco il nome per la sezione secondaria.
sNomeSezTabSecondaria = "TabSecondaria" & k
' creo la sezione
Call CreaSezione( sNomeSezTabSecondaria )
aV(1) = "titolo 1"
aV(2) = "Titolo 2"
Call InitTabella ( aV)
For j = 1 To 10
aV(1) = "Testo riga " & k
aV(2) = "Testo riga " & k
Call AddRigaTabella (aV)
Next
Call CreaTabella
' chiudo la sezione
ChiudiSezione
Next
End Sub
Sub CreaSezione (sNome )
Dim s
s = "<div id =""" & sNome & """>"
Scrivi s
End Sub
Sub ChiudiSezione
Dim s
s = "</div>"
Scrivi s
End Sub
Function GetTestoLink (sNomeSez , sDescr)
Dim s
s = "<a href=""#" & sNomeSez & """>" & sDescr & "</a>"
GetTestoLink = s
End Function