Les itérations (boucle) Les routines Les Fonctions Le langage ASP Les itérations (boucle) Les routines Les Fonctions
Pour exécuter un code plus qu’une fois ASP fournit: Langage ASP Pour exécuter un code plus qu’une fois ASP fournit: DO, LOOP / WHILE, WEND L'une ou l'autre de ces déclarations peut être suivi par UNTIL ou WHILE DO UNTIL (WHILE) .....code... LOOP DO LOOP UNTIL (WHILE) Une boucle qui est infinie ne fonctionnera pas pour toujours. IIS terminera la boucle dans 90 secondes (par défaut)
Un exemple de logique sans fin qui est terminé par IIS Langage ASP Un exemple de logique sans fin qui est terminé par IIS 1 <%response.buffer=true%> 2 <TITLE>doloop1.asp</TITLE> 3 <body bgcolor="#FFFFFF"> 4 <HTML> 5 <% 6 DO 7 counter=counter+1 8 response.write counter & "<br>" 9 response.flush 10 LOOP 11 %> 12 </BODY> 13 </HTML>
Un exemple où l’on spécifie le temps d’exécution 1 <% Langage ASP Un exemple où l’on spécifie le temps d’exécution 1 <% 2 response.buffer=true 3 server.scripttimeout=20 4 %> 5 <TITLE>loop2.asp</TITLE> 6 <body bgcolor="#FFFFFF"> 7 <HTML> 8 <% 9 DO 10 counter=counter+1 11 response.write counter & "<br>" 12 response.flush 13 LOOP 14 %> 15 </BODY> 16 </HTML>
Les fonctions et instruction Fonction RND Fonction INT Langage ASP Exemple de programme Cette page démontre comment employer plusieurs instructions pour afficher différents contenu basé sur un nombre aléatoire : Les fonctions et instruction Fonction RND Fonction INT Instruction SELECT CASE
Langage ASP Le script randomadvice.asp affiche un conseil différent chaque fois que la page est régénérée : <html><head> <TITLE>randomadvice.asp</TITLE> </head> <body bgcolor="#FFFFFF"> <% ' générer un nombre entre 1-6 randomize randomnum=int(rnd*6)+1 SELECT CASE randomnum CASE 1,2,3 %> Plant your crops early this year <br> No frost expected<br> <%CASE 4%> Never play cards<br>with a man named after a city<br> <%CASE 5%> You can never be too rich, too thin or backup too often<br> <%CASE 6%> A swallow keeps away the stork<br> <%END SELECT%> </body></html>
Les Routines Les routines (SUB) Il y a plusieurs règles très franches à se rappeler en donnant des noms à vos routines: - Le nom peut contenir tous les caractères alphabétiques ou numériques et le caractère de soulignage. - Le nom ne peut pas commencer par un caractère numérique. - Le nom ne peut contenir aucun espaces. (Employer le caractère de soulignage pour séparer les mots pour faciliter la lecture. Illégal: 123MySub() mon Routine() Légal: MySub123() My_Sub_Routine()
Les Routines Sub cmdButton1_OnClick Call ShowAlertBox(cmdButton1.Value) End Sub Sub cmdButton2_OnClick ShowAlertBox cmdButton2.Value Sub cmdButton3_OnClick ShowAlertBox cmdButton3.Value Sub ShowAlertBox(strButtonValue) dim strMessage strMessage = "This is to let you know" & vbCrLf strMessage = strMessage & "you just pressed the button" & vbCrLf strMessage = strMessage & "marked " & strButtonValue Alert strMessage
Passer un paramètre par valeur <SCRIPT LANGUAGE="VBScript" RUNAT="Server"> Sub DoSubroutine( ) Dim x x = 10 Response.Write "In DoSubroutine, x is " & x & "<P>" CallAnotherSub x Response.Write "Back in DoSubroutine, x is " & x & "<P>" End Sub Sub CallAnotherSub(ByVal var1) var1 = var1^2 Response.Write "In CallAnotherSub, var1 is " & var1 & "<P>" </SCRIPT> About to call DoSubroutine <P> <% DoSubroutine %>
Les fonctions Les fonctions prennent des paramètres et peuvent retourné des valeurs Function Convert(Faren) Convert = (Faren - 32) * 5 / 9 End Function Pour utiliser la fonction Temp = Convert(212)