Può essere utile studiare per le nostre pagine ASP, una funzione in Visual Basic Script (d'ora in poi VBS ) capace di fare la conversione Lire/Euro per tabelle, listini ed altro ancora.
Anche se Netscape Navigator non supporta il VBS non ci dobbiamo preoccupare, perchè sarà il Web Server remoto a processare e compilare la nostra funzione. Per fare questo all'interno della pagina ASP identificheremo la funzione di conversione attraverso un TAG SCRIPT particolare:
class="colorato">
<SCRIPT RUNAT="Server" Language="VBScript" >Codice della Funzione
</SCRIPT>
possiamo osservare che a differenza del normale TAG SCRIPT che conosciamo vi è un argomento in più, specifico per i server che supportano ASP: RUNAT="Server"
il quale indica al server web stesso che prima di passare l'output al browser, questo script venga eseguito dal server, e non dal client.
Il codice della nostra funzione
Una funzione in VBS è una procedura che può essere chiamata all'interno di una pagina ASP ed ha la seguente sintassi:.
Function nome ( lista argomenti )
Corpo della funzione; Espressioni, variabili
End Functionnome = è il nome della funzione, nel nostro caso sarà Euro
lista argomenti = è la lista delle variabili che rappresentano gli argomenti che vengono passati alla funzione quando è chiamata e possiede una sintassi articolata:
( byval nome variabili )
byval = ci dice che l'argomento è passato attraverso un valore.
nome variabili = sono le variabili che vengono passate ed utilizzate all'interno della funzione.
Nel nostro caso l'argomento della funzione Euro sarà la somma in lire che vogliamo convertire, ad esempio Euro(ByVal somma_in_lire_da_convertire).
corpo della funzione = contiene le espressioni ed il codice VBS.
Ecco qui sotto il codice della funzione sistemato all'interno di una ipotetica pagina di prova che abbiamo chiamato euro.asp :
<SCRIPT RUNAT=Server Language=VBScript>
FUNCTION Euro ( ByVal somma_in_lire_da_convertire ) ' Nome e lista degli argomenti della funzione
Corpo della funzione
' Valore dell'EURO è pari a 1936.27
somma_in_EURO = somma_in_lire_da_convertire/1936.27
intEuro = int(somma_in_EURO)
Cents = CInt((somma_in_EURO - intEuro) * 100)
' Formattazione delle centinaia
If Cents = 0 Then
strCents = "00"
ElseIf Cents< 10 Then
strCents = "0" & Cents
Else
strCents = CStr(Cents)
End If
' Inizializzazione dell'EURO
strEuro = ""
' Determinazione dell'EURO
While len(CStr(intEuro))> 3
Temp = intEuro mod 1000
If Temp = 0 Then
strEuro = "000" & strEuro
ElseIf Temp< 10 Then
strEuro = "00" & CStr(Temp) & strEuro
ElseIf Temp< 100 Then
strEuro = "0" & CStr(Temp) & strEuro
Else
strEuro = CStr(Temp) & strEuro
End If
strEuro = "." & strEuro
intEuro = (intEuro - Temp) / 1000
Wend
' Il simbolo € lo potete trovare premendo alt+0128 sulla tastiera
' (se avete la patch dei font per l'Euro fornita da Microsoft)
strEuro = CStr(intEuro) & strEuro
Euro = "Euro " & strEuro & "." & strCents
END FUNCTION
</SCRIPT>
<HTML>
<HEAD><TITLE>Esempio di Funzione in VBS</TITLE></HEAD>
<BODY>
Testo della pagina, all'interno del quale posso utilizzare la mia funzione Euro()
vedi sotto alcuni esempi.
<P> Il valore di Lire 100.000 è pari a <%=Euro(100000)%></P>
</BODY>
</HTML>Se avete un pò di pratica con il Visual Basic od il Basic, non vi sarà difficile riuscire a capire il codice sopradescritto.
Come utilizzarla nelle nostre pagine ASP ?
Una volta inserito il TAG SCRIPT con la nostra funzione in testa alla pagina ASP che dobbiamo produrre, possiamo utilizzare la funzione ogni qualvolta lo desideriamo all'interno della pagina, ad esempio:
Codice HTML/ASP:
<P> Il valore di Lire 100.000 è pari a <%=Euro(100000)%></P>Output sul client dopo che la pagina è stata processata dal server:
Il valore di Lire 100.000 è pari a Euro 51.65
oppure se stiamo sfogliando la tabella del nostro database:
Codice HTML/ASP:
.... Connessione al database (per maggiori informazioni)
<TABLE>
<%
Do While not RS.EOF
%>
<TR>
<TD>Il prezzo del prodotto in lire è<%= RS("prezzi_in_lire") %>
</TD>
<TD>Il prezzo del prodotto in Euro è<%=Euro(RS("prezzi_in_lire")) %>
</TD>
</TR>
<%
rs.MoveNext
Loop
%>
</TABLE>Avremo una tabella formattata automaticamente con i prezzi in Lire ed in Euro, con un notevole risparmio di tempo e di spazio.
Difatti il nostro catalogo merci non dovrà essere aggiornato sul database per i nuovi valori in Euro, ma solamente al momento della sua interrogazione via ASP.
Sfruttando i Serve-Sider-Include possiamo inserirla all'interno della nostra pagina in questo modo:
<!--#include virtual="/scripts/euro.inc"-->Il file euro.inc conterrà il TAG SCRIPT, con all'interno il codice della funzione.
Ovviamente a partire da questo semplice esempio è possibile creare nuovi moduli, in modo da facilitare la conversione in più valute, funzionalità molto comoda ai tempi dell'Euro e dell'Europa unita.






Difficoltà
Stampa
Download 


10annidi.ASPItalia.com: iscriviti alla competizione e vinci fantastici premi ogni mese!