Introduction
Les opérateurs
Les déclarations
Les instructions de contrôle
Utiliser Option Explicit
Introduction
L'ASP utilise les balises <SCRIPT LANGUAGE="VBSCRIPT" RUNAT=Server> et
</SCRIPT>, ce qui permet au serveur de repérer le script et de l'exécuter avant le chargement de la page.
Ces scripts peuvent être exécutés dans le navigateur du client en utilisant les balises
<SCRIPT LANGUAGE="VBSCRIPT"> et </SCRIPT>.
Tous comme le PHP avec <? et ?>, ASP peut également utiliser les balises <% et
%> pour repérer le script à exécuter. Dans ce cas le début de votre document doit toujours commencer avec :
<%@ LANGUAGE="VBScript"%> : Pour une utilisation de VBScript
(utilisé par défaut)
<%@ LANGUAGE="Jscript"%> : Pour une utilisation de JavaScript Dans
le suite de cet essentiel, nous allons nous concentrer sur le développement de
pages ASP en VBScript.
Exemple d'un script ASP :
La fonction Request est utilisée ici pour un simple retour à la page précédente (referer).
<A HREF="<% =Request.ServerVariables("HTTP_REFERER") %>">Précédente</A>
Les Opérateurs
| Opérateur |
Signification |
| + |
Ajoute deux nombres |
| - |
Soustrait deux nombres, ou rend négatif
un nombre |
| * |
Multiplie deux nombres |
| ^ |
Élève un nombre à une puissance |
| / |
Divise deux nombres (le résultat est en
virgule flottante) |
| \ |
Divise deux nombres (division entière) |
| Mod |
Retourne le reste de la division entière
de deux nombres |
| < |
Inférieur |
| <= |
Inférieur ou égal |
| > |
Supérieur |
| >= |
Supérieur ou égal |
| = |
Égal |
| <> |
Différent |
| Not |
Non logique |
| And |
Et logique |
| Or |
Ou logique |
| Xor |
Xor logique |
| Eqv |
Équivalence logique |
| Imp |
Implication logique |
| & |
Retourne une chaîne qui est la
concaténation de deux autres. |
Les déclarations
| Élément |
Code associé |
| Variable |
Dim nom_variable |
| Constante |
Const nom_constante =
expression |
| Procédure |
Sub nom_procédure (argument_1,
argument_2)
Bloc_instructions_1
(Exit Sub)
Bloc_instructions_2
End Sub |
| Fonction |
Function nom_fonction (argument_1,
argument_2)
Bloc_instructions_1
nom_fonction = expression_1
(Exit Function)
Bloc_instructions_2
nom_fonction = expression_2
End Sub |
Les instructions de contrôle
| Élément |
Code associé |
| Instruction conditionnelle |
If condition_1 Then
Bloc_instructions_1
(Else If condition_2 Then
Bloc_instructions_2
Else
Bloc_instructions_3)
End If |
| Boucle For |
For compteur = début
To fin
Bloc_instructions_1
(Exit For)
Bloc_instructions_2
Next |
| Boucle Do |
Do While (Until)
condition
Bloc_instructions_1
Exit Do
Bloc_instructions_2
Loop |
| Boucle Do |
Do
Bloc_instructions_1
Exit Do
Bloc_instructions_2
Loop While (Until) condition |
| Boucle While |
While condition
Bloc_instructions
Wend |
| Exécution d'un bloc d'instructions selon
une condition |
Select Case expression_testée
Case liste_expressions_1
Bloc_instructions_1
Case liste_expressions_1
Bloc_instructions_1
Case Else
Bloc_instructions_n
End Select |
| Commentaires |
Lignes commençant par :
Rem
ou
' |
Utiliser Option Explicit
Si vous avez déjà utilisé Visual Basic vous connaissez sans doute la valeur de cette ligne. Elle vous force à déclarer toutes variables contenues dans l'application. Si vous utilisez cette ligne et que vous ne déclarez pas une variable par l'intermédiaire de
'dim', une erreur ASP sera déclenchée.
Exemple :
<% @ Language=Vbscript %>
<% option explicit
for i=1 to 10
response.write("test<br>")
next
%>
Cet Exemple provoque l'erreur suivante : Erreur d'exécution Microsoft VBScript erreur '800a01f4' Variable non définie: 'i'
Pour corriger cette erreur il suffit d'ajouter :
'Dim i' avant le début de la boucle for.
Pourquoi utiliser 'Option Explicit' et déclarer les variables ?
Exemple :
<% @ LANGUAGE=VbScript %>
<%
function mafonction()
for i=1 to 10
response.write("test<br>")
next
end function
for i=1 to 10
mafonction()
next
%>
Aucune erreur ASP n'est déclenchée, toutefois au lieu d'afficher 100 fois le message test, le serveur ne renvoit que 10 fois le mot test.
Pourquoi ?
Le serveur confond la variable i du programme principal et la variable i de la fonction. Sur cet exemple il est simple d'identifier la source du problème, mais imaginez un programme avec 1000 lignes de codes et 5 ou 6 fonctions incluses.
Correction de l'erreur :
<% @ LANGUAGE=VbScript %>
<%
Option Explicit
Dim i
' Variable à portée global sur tout le fichier Asp
function mafonction()
Dim i
' Variable à portée locale (uniquement dans la fonction)
for i=1 to 10
response.write("test<br>")
next
end function
for i=1 to 10
mafonction()
next
%>
Cette fois-ci même si les deux variables ont le même nom, le serveur identifie et isole ces deux variables comme étant différentes. Le serveur renvoi 100 fois le mot test.
D'où l'intérêt évident d'utiliser Option Explicit (qui vous aide à déclarer toutes vos variables) et de déclarer effectivement toutes les variables du programme et de chaque fonction par l'intermédiaire de Dim.
Chapitre 1 |
Chapitre 2 |
Chapitre 3 |
Chapitre 4
|
|
 |
Pour afficher ou poster un commentaire, cliquez sur ce lien : Forum-Microsoft
|
|