Funzione per la conversione da Lire in Euro

di Luca Milan, in ASP - Scripting,

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">

&LT;SCRIPT RUNAT=&quot;Server&quot; Language=&quot;VBScript&quot;</b> &GT;

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 ( <i>lista   argomenti</i> )

 <i>Corpo della funzione;</i> Espressioni, variabili

End Function

nome = è 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 :

 <a name="tag"></a> &LT;SCRIPT RUNAT=Server Language=VBScript&GT;

FUNCTION <a name="arg"></a> Euro ( <i>ByVal somma_in_lire_da_convertire</i> )  ' 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 <a href="http://www.microsoft.com/italy/euro/" target="_blank"> patch dei  font per l'Euro</a> fornita da Microsoft)

 strEuro = CStr(intEuro) & strEuro

 Euro = "Euro " & strEuro & "." & strCents

END FUNCTION

&LT;/SCRIPT&GT;

&LT;HTML&GT;

&LT;HEAD&GT;&LT;TITLE&GT;Esempio  di Funzione in VBS&LT;/TITLE&GT;&LT;/HEAD&GT;

&LT;BODY&GT;

Testo della pagina, all'interno del quale posso utilizzare  la mia funzione Euro()
  vedi sotto alcuni esempi.

&LTP&GT; Il valore di Lire 100.000 è pari  a &LT;%=Euro(100000)%&GT;&LT;/P&GT;

&LT;/BODY&GT;

&LT;/HTML&GT;

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:

&LTP&GT; Il valore di Lire 100.000 è  pari a &LT;%=Euro(100000)%&GT;&LT;/P&GT;

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:

&LT;!--#include virtual="/scripts/euro.inc"--&GT;

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.

Contenuti dell'articolo