Corso basi di dati Costrutti nelle pagine ASP Gianluca Di Tomassi Email: [email protected] Università di Roma Tre Costrutti utilizzabili nelle pagine ASP Istruzioni condizionali n If, Case Istruzioni di ciclo n For, While, Do Procedure n Sub, Function Corso basi di dati - Costrutti nelle pagine ASP [email protected] 2 1 Istruzione IF <HTML> <HEAD><TITLE>Esempio 4</TITLE></HEAD> <BODY bgcolor="#FFFFFF"> <% If Hour(Now) < 12 Then Response.Write “Buon Giorno!” ElseIf Hour(Now) >= 18 Then Response.Write “Buona sera!” Else Response.Write “Buon pomeriggio!” End If %> </BODY> </HMTL> Corso basi di dati - Costrutti nelle pagine ASP [email protected] 3 Istruzione Case <HTML> <HEAD><TITLE>Esempio 4</TITLE></HEAD> <BODY bgcolor="#FFFFFF"> <% Select Case Hour(Now) Case 0,1,2,3,4,5,6,7,8,9,10,11 Response.Write “Buon Giorno!” Case 12,13,14,15,16,17 Response.Write “Buona Sera!” Case Else Response.Write “Buon Pomeriggio!” End Select %> </BODY> </HMTL> Corso basi di dati - Costrutti nelle pagine ASP [email protected] 4 2 Istruzione For...Next <HTML> <HEAD><TITLE>Esempio “For - Next”</TITLE></HEAD> <BODY bgcolor="#FFFFFF"> <% for counter = 1 to 5 response.write ”Ciclo numero: " & counter &"<br>" next %> </BODY> </HMTL> Corso basi di dati - Costrutti nelle pagine ASP [email protected] 5 Istruzione For con step in avanti <HTML> <HEAD><TITLE>Esempio 5 “For - Next in avanti”</TITLE></HEAD> <BODY bgcolor="#FFFFFF"> <% for counter = 0 to 25 step 5 response.write ”Ciclo For in avanti: " &counter & "<br>" next %> </BODY> </HTML> Corso basi di dati - Costrutti nelle pagine ASP [email protected] 6 3 Istruzione For con step indietro <HTML> <HEAD><TITLE>Esempio “For - Next indietro”</TITLE></HEAD> <BODY bgcolor="#FFFFFF"> <% for counter = 25 to 0 step -5 response.write ”Ciclo For indietro: " &counter & "<br>" next %> </BODY> </HTML> Corso basi di dati - Costrutti nelle pagine ASP [email protected] 7 Istruzione For Each...Next <HTML> <HEAD><TITLE>Esempio “For Each - Next”</TITLE></HEAD> <BODY bgcolor="#FFFFFF"> omissis... <% For Each item In Request.Form Response.Write Request.Form(Item) Next %> omissis... </BODY> </HTML> Permette di iterare su collezioni di oggetti dello stesso tipo Corso basi di dati - Costrutti nelle pagine ASP [email protected] 8 4 Istruzione While...Wend <HTML> <HEAD><TITLE>Esempio “While - Wend”</TITLE></HEAD> <body bgcolor="#FFFFFF"> <% cont = 0 WHILE cont<=5 Response.write cont&“ Ciao a tutti!<BR>" cont = cont + 1 WEND %> </BODY> </HTML> Corso basi di dati - Costrutti nelle pagine ASP [email protected] 9 Istruzione Do...Loop Until <HTML> <HEAD><TITLE>Esempio “Do - Loop Until”</TITLE></HEAD> <body bgcolor="#FFFFFF"> <% Do Response.Write i&“Ciao Mondo!” i = i + 1 Loop Until i > 5 %> </BODY> </HTML> Corso basi di dati - Costrutti nelle pagine ASP [email protected] 10 5 Definire procedure • Le Active Server Pages hanno la capacità di incorporare diverse procedure di linguaggi di scripting in un singolo file “.asp” • E’ possibile definire una propria procedura e chiamarla ripetutamente nei propri scripts • Le definizioni di procedure devono apparire tra i tag <script> e </script> Esempio: <SCRIPT RUNAT=Server LANGUAGE=VBScript> Sub CiaoVB Response.write "ciao da VBScript " End Sub </SCRIPT> Corso basi di dati - Costrutti nelle pagine ASP [email protected] 11 Richiamare una procedura • Per richiamare una procedura bisogna includere il nome della procedura in un comando • Call è la parola chiave per effettuare la chiamata • Tra parantesi dopo il nome della procedura possono essere inseriti i parametri della procedura stessa • Se la parola chiave Call viene omessa allora devono essere omesse anche le parantesi attorno ai parametri Corso basi di dati - Costrutti nelle pagine ASP [email protected] 12 6 Esempio: <SCRIPT RUNAT=SERVER LANGUAGE=JSCRIPT> function CiaoJS() { Response.write("ciao da JScript") } </SCRIPT> <SCRIPT RUNAT=Server LANGUAGE=VBScript> Sub CiaoVB Response.write "ciao da VBScript" End Sub </SCRIPT> <html><HEAD><TITLE>Esempio Script latoServer”</TITLE></HEAD> <body> <% Call CiaoJS%><BR> <% Call CiaoVB%> </body> </html> Corso basi di dati - Costrutti nelle pagine ASP [email protected] 13 Esempio: <SCRIPT LANGUAGE=Jscript RUNAT=Server> function PrintDate() { var x x = new Date() Response.Write(x) } </SCRIPT> <HTML><HEAD><TITLE>Esempio Jscript</TITLE></HEAD> <BODY><% Call PrintDate %></BODY> </HTML> Perché definire le procedure ? Ciò si rende necessario ogni qualvolta si ha bisogno di funzioni o procedure, dato che ASP, non è in grado di definirle. Corso basi di dati - Costrutti nelle pagine ASP [email protected] 14 7