Webaperto
  Facili Lezioni Asp - Terza Lezione     
 
Eventi
<
Luglio
>
L M M G V S D
-- -- -- 01 02 03 04
05 06 07 08 09 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31 --

Messaggi veloci
Messaggetti

Coleporter: Qui puoi inserire direttamente i tuoi messaggi
Coleporter: Ultimate le 8 facili lezioni Asp che trovate nel menu orizzontale.
Canasta: Vero che state per pubblicare dei progetti Asp?
Coleporter: Sì, prossimamente.
Coleporter: Inserita la Mappa del Sito in Menu
Coleporter: In downloads/asp la guida al VBScript
The-BiT: Un caro saluto a Coleporter, dopo mesi di mia assenza su internet
Coleporter: Ricambio sinceramente, Bit

Per imettere messaggi occorre essere registrati.

 
Facili Lezioni Asp - Terza Lezione

         Terza Lezione

Sommario:
   Strutture di controllo di VBScript

- Logica condizionale
- Logica ciclica
- Logica ramificata
Ora entriamo in un settore fondamentale, molto usato nella programmazione e soprattutto affascinante perchè mette in luce le potenzialità senza limiti della logica riferita allo sviluppo delle applicazioni informatiche.

Logica condizionale

Guardate quanto è bello, nella sua semplicità, questo ragionamento estrapolato da "Asp 3 per esempi" di D.Bochicchio:

If....then

<%
Dim intA, intB
intA = 4
intB = 2
 If intA > intB then
     Response.Write intA & " è maggiore di "& intB
  end if
%>

Output:
4 maggiore di 2
Se però inverto i valori delle variabili non otterrò alcun risultato. Quindi posso aggiungere:

<%
Dim intA, intB
intA = 2
intB = 4
  If intA > intB then
     Response.Write intA &" è maggiore di "  & intB
  else
     Response.Write intB & " è maggiore di " & intA
  end if
%>

Output:
4 maggiore di 2
Poi ci accorgiamo che, se diamo i valori, per esempio, di 2 e 2 alle variabili, avremo un output secondo cui 2 è maggiore di 2. Quindi dobbiamo aggiungere:

<%
Dim intA, intB
intA = 2
intB = 2
  If intA > intB then
     Response.Write intA &" è maggiore di "  & intB
  elseIf (o elsif) intA = intB then
     Response.Write intB & " è uguale a " & intA
  else
     Response.Write intB & " è maggiore di " & intA
  end if
%>

Output:
2 è uguale a 2
Eppure l'applicazione ha bisogno di un ulteriore controllo per il caso in cui uno dei termini non sia un numero intero:

<%
Dim intA, intB
intA = 2
intB = "Pippo"
   If isNumeric(intA) AND isNumeric(intB)then
     If intA > intB then
        Response.Write intA &" è maggiore di " & intB
   elseIf intA = intB then
        Response.Write intB & " è uguale a " & intA
   else
        Response.Write intB & " è maggiore di " & intA
   end if
   else
   Response.Write "Perchè l'applicazione sia eseguita occorrono due numeri interi"
   end if
%>

Output:
Perchè l'applicazione sia eseguita occorrono due numeri interi

Select Case

Abbiamo visto che le istruzioni If ed Else possono essere anche più di una. E' opportuno, comunque, non oltrepassare due o tre livelli. Se le condizioni vanno applicate, ad esempio, a 10 o più livelli, ci serviremo dell'istruzione Select Case.
Esempio:

<%
Dim scelta
scelta = "Aereo"
   Select Case scelta
Case "Treno"
   Response.Write "Viaggerò in Aereo"
Case "Auto"
   Response.Write "Viaggerò in Auto"
Case "Aereo"
   Response.Write "Viaggerò in Aereo"
End Select
%>

Ovviamente l'output sarà:
"Viaggerò in Aereo". Il listato ci sembra non abbia bisogno di spiegazioni.

Logica Ciclica

Ci evita di scrivere più volte una stessa istruzione. Anche qui estrapoleremo gli esempi dal testo "Asp 3 per esempi" perchè, oltrechè spiegare i cicli, contengono anche altre istruzioni.

For....Next

<%
Dim arrParDis(5)
arrParDis(0) = 0
arrParDis(1) = 4
arrParDis(2) = 9
arrParDis(3) = 5
arrParDis(4) = 2
   For item = 0 to ubound(arrParDis)-1
     Response.Write "<li>" & arrParDis(item)
If (arrParDis(item)mod 2) <> 0 then
     Response.Write " è un numero dispari."
else
     Response.Write " è un numero pari."
end if
    Next
%>

L'output è il seguente:

Geniale, vero? Per eventuali spiegazioni, parliamone nel forum.

For each...nex

Questa istruzione si utilizza per accedere ad elementi memorizzati in una serie di informazioni come, ad esempio, un array.

Esempio:

<%
Nomi = array("Gianni", "Sergio", "Giorgio")
    For each x in Nomi
       Response.Write x & "<br>"
    Next
%>

Output:
Gianni
Sergio
Giorgio

Do...loop

Questo ciclo, rispetto a for...next, ha il vamtaggio che le operazioni contenute al suo interno vengono ripetute fino a quando è rispettata la condizione
Ve ne sono tre.

Esempio:
Do...until item = 30
    item = item + 1
Loop
significa: fino a che item non sarà uguale a 30 aumentane il valore di un'unità.

Esempio:
Do While item <> 30
    item = item + 1
Loop
significa: finchè item è diverso da 30 aumentane il valore di un'unità.

While...Wend è sostanzialmente uguale a Do While...Loop

Logica ramificata

Evita di ripetere la scrittura di codice nel caso in cui questo sia ripetitivo. Si realizza mediante le funzioni e le subroutine.

Subroutine

In una variabile si inserisce una certo numero o una stringa; in una subroutine oppure in una funzione si inserisce un  insieme di righe di codice che poi si possono richiamare quando occorre.
Subroutine e funzioni si somigliano, solo che queste ultime vengono usate per calcoli numerici mentre le prime per codice generico.
La funzione si crea assegnandole un nome seguito da (), digitando poi il codice relativo e concludendo con "end sub".
La funzione si richiama con "Call" + il nome della subroutine (Es.: Call Pippo()).
Il richiamo della subroutine in una pagina può avvenire sia prima che dopo l'inserimento della sub.
Se occorre che, all'interno del listato della sub, dobbiate uscire dalla stessa, il comando relativo è "Exit sub".
Se la subroutine non è inserita nello script contenente anche l'istruzione Call, va inserita tra i tag <head> e </head>.
Lo scopo delle subroutine e delle funzioni è quello di evitare di riscrivere serie di istruzioni il cui output dovrà ripresentarsi in più di una pagina.
Il sistema più idoneo è quello di salvare subroutine e funzioni in un file  con estensione .inc e richiamarlo nella pagina con un'istruzione di questo tipo:
<!-- #include file = "tools.inc" -->)
il file richiamato, ovviamente, dovrà trovarsi nella stessa directory della pagina che lo richiama diversamente dovrà scriversi:
<!-- #include file = "altraCartella/tools.inc" -->
Con riferimento all'esempio qui sotto, ogni volta che avrò bisogno di scrivere quella serie di nomi, dopo aver inserito all'inizio della pagina l'include, potrò scrivere, nel punto in cui desidero la visualizzazione, Call ScriviNomi (Nomi); nel caso di una funzione potrò richiamarla con Response.Write NomeDellaFunzione.

Esempio:

<%
Sub ScriviNomi(Nomi)
Response.write "Pippo" & "<BR>"
Response.write "Maria" & "<BR>"
Response.write "Carlo" & "<BR>"
Response.write "Anna" & "<BR>"
Response.write "Alberto"
End sub

Call ScriviNomi(Nomi)
%>

Output:

Pippo
Maria
Carlo
Anna
Alberto

Funzioni

Esempio:

<%
Sub UnMezzo(Valore)
DivisionePerDue=Numero/2
Response.write DivisionePerDue
End sub

Dim Numero
Numero = 1000

Call UnMezzo(Valore)
%>

Output: 500

Se vi sono problemi su questa o su successive lezioni, comunicatecelo nel forum  oppure scriveteci.

    Back     Next
Stampa questa pagina

Continuate a leggere le Lezioni Asp. Vi gioverà e vi piacerà anche.
 
Visitatori
Visitatori Correnti : 3
Membri : 0

Per visualizzare la lista degli utenti collegati alla community, devi essere un utente registrato.
Iscriviti
Log in
Login
Password
Memorizza i tuoi dati:
Più recenti - Siti
NicolaPiscopoART (IT)
danzaclassica.net (IT)
Luisa Signorelli, danzatrice e coreografa (IT)
Webstyling.it (IT)
realizzazione biopiscine (IT)
piccolo principe counseling (IT)
I Misteri di Patricia Cornwell (IT)
coop soc l'arcoiris (IT)
vba di excel (IT)
Festival di Sanremo (IT)
umbria travel (IT)
Hotel Roma (IT)
Portale culturale e turistico sul Cilento e Paestu (IT)
annunci (IT)
Sito di A.P.T. (IT)
New Point City (IT)
DISKA's PHOTOS (IT)
Antichi sapori del Salento (IT)
PubbliCartoMania (IT)
Il mio Jazz (IT)
LuciaGardellin (IT)
Parabita Online (IT)
Arte Attacchi (IT)
La Bottega di Nina (IT)
Pittura e Poesia (IT)
Ricerca Creativa (IT)
Mondo Antico..... (IT)
Don Dialetto (IT)
Fianello Borgo (IT)
The-Bit (IT)
Maryart-Gallery (IT)
Jan Friend (IT)
Il Mondo di Krilù (IT)
Sitoaperto (IT)
I preferiti
Il Mondo di Krilù (897)
Jan Friend (738)
Sitoaperto (547)
Il mio Jazz (481)
Don Dialetto (345)
Maryart-gallery (325)
The-Bit (310)
Fianelloborgo (295)
Parabita Online (293)
PubbliCartoMania (283)
Labottegadinina (265)
DISKA's PHOTOS (249)
Cerca nel Sito


 
 © 02/2007 Webaperto  -   Contattami  -   Realizzato con © ASP-Nuke 2.0.7
Questa pagina è stata eseguita in 0,0625secondi.
Versione stampabile Versione stampabile