LE VBSCRIPT / L`ASP Code Commentaire <script language

Transcription

LE VBSCRIPT / L`ASP Code Commentaire <script language
LE VBSCRIPT / L'ASP
Code
<script language="vbscript">
</script>
rem ou '
:
msgbox("Texte à afficher") ou
alert("Texte à afficher")
Opérateur de calcul
+, -, *, /, =, mod
Opérateur de comparaison
=, <, <=, >, >=, <>
Opérateur logique
AND OR NOT
Utilisation de variables
Exemple :
Navigateur= "NetScape"
prixTot = prix * quantite
Evénements
Onclick, OnMouseOver, OnMouseOut
OnLoad, OnUnload
Fonctions
Sub Nom_de_la fonction(paramètre)
instruction1 ;
instruction 2 ;
etc..
End Sub
Commentaire
Début du code vbScript, balise à placer avant la balise <Body>
fin du code script
Commentaire vbscript
Permet séparer deux instructions vbscript
à la place d'écrire
a=3
b=5
sur deux lignes on peut écrire a=3:b=5
Permet d'afficher dans une petite fenêtre (Boite de dialogue avec bouton OK)
le texte de votre choix entre guillemets
Addition (+), soustraction (-), multiplication (*), division (/)
affectation (=), mod= reste de la division
Exemple : A = (9+1)*2 Résultat : A reçoit (affectation) la valeur 20
Est égale à (=), est supérieur à (>), est supérieur ou égale à (>=),
Est inférieur à (<), est inférieur ou égale à (<=), est différent de ( <>)
Opérateur à utiliser dans une condition avec la fonction IF (si)
And (et) Or(ou) Not(négation)
A=true:b=not A
b=false
les variables servent a mémoriser une information
de manière à la modifier ou à la réutiliser
Exemple
X=2
la valeur 2 est affectée à la variable X
X=X+1
la valeur 3 est affectée à la variable X
Onclick au clic de la souris sur un objet (image ou texte)
OnmouseOver au survol de la souris sur un objet
OnMouseOut lorsque l’objet n’est plus survolé
OnLoad au chargement de la page HTML
OnUnload à la fermeture de la page HTML
Evénement à placer après la balise body de la page HTML
Exemple
<html>
Au survole du mot ok
<body>
le mot ‘salut’
<A href="#" onmouseover="alert('salut')">ok</a> s’affichera dans une
</body>
petite boite de dialogue
</html>
Les fonctions sont à placer après la balise script, et sont appelées après la
balise Body à l’aide d’événements
Exemple de fonction
<html>
<script language="vbscript">
//ouverture du fichier indiqué en paramètre
Sub ouvre(page)
msgbox("Une page HTML va s'ouvrir");
…..
If Condition
instruction(s) si condition vrais;
End Sub
</script>
<body>
<a href="#" onmouseover="ouvre('home.html')">page de présentation</a>
</body></html>
Instructions conditionnelles
Exemple
If nom ="Netscape"
msgbox("Vous saviez que Netscape a été racheté par AOL ?");
else
instruction(s) si condition fausse
else
end if
& pour concaténer 2 chaines
msgbox("fin ");
endif
ab="pierre":az="hugues": rf=ab & " " & az
Code
Commentaire
Boucle For
For compteur=v1 to v1 step v3
action à réaliser
Next
v1= valeur de début du compteur
v2= valeur de fin, v3=incrémentation
Affichage des valeurs de 4 à 10
for i= 4 to 10 step 2
msgbox i
next
Cette boucle permet d'afficher(msgbox) les chiffres de 4 à 10 de 2 en 2
donc d'afficher 4,6,8,10
Boucle Do While
initialisation compteur
Do While condition
action à réaliser
incrémentation compteur
Loop
Affichage des valeurs de 4 à 10
i=4
Do while i<=10
msgbox i
i=i+2
Loop
Cette boucle permet d'afficher(msgbox) les chiffres de 4 à 10 de 2 en 2
donc d'afficher 4,6,8,10
c=4
Do while c<=10
msgbox c:c=c+2
if c=8 then exit do
on quitte la boucle si c=4
Loop
Exit do pour sortir du boucle do avant la fin
Exit For pour sortir du boucle for
Exit sub pour quitter une fonction
Gestion des chaînes de caractères
Len(chaine)= longueur de la chaine
Mid(chaine,rang,nbr caractère)
n lettres à partir du rang dans chaine
ucase(chaine) = chaine en majuscule
lcase(chaine)= chaine en minuscule
inStr(rang,chaîne,chaîne à rechercher,casse)
permet de connaître la position d'une sous
chaîne dans une chaîne
Chr(x) = caractère représenté par le code
ASCII x
Asc("caractère")=code ASCII
Replace(chaîne globale, chaîne de
recherche, chaîne de remplacement)
Ville="New-York"
Len(Ville)=8
Mid(Ville,2,4) = "ew-Y"
4 caractères à partir du rang 2 de Ville
le 1er caractère à pour indice 1 et non pas 0 comme en Javascript
Ucase(Ville)="NEW-YORK"
mot en majuscule
Lcase(Ville)="new-york"
mot en minuscule
Recherche de la position du "-" dans la variable Ville
pos=instr(1,Ville,"-",0) le 1er paramètre indique la position de départ pour
la recherche, Ville est la chaîne qui contient la sous chaîne cherchée
"-" est la chaîne à chercher, 1= respect casse, 0 = non respect
le résultat est 4
CHR(65) = A c'est à dire que le code ASCII du A est 65
CHR(66) = B c'est à dire que le code ASCII du B est 66
le code ASCII d'un espace est 32, celui d'un retour à la ligne est 13…..
Exemple ASC("A")=65, ASC("B")=66, ASC("a")=97…
Permet de remplacer une chaîne de caractères par une autre
Exemple:mot="ababab":newmot=replace(mot,"a","z")
Newmot contiendra "zbzbzb" les "a" ont donc été remplacés par des "z"
ASP
Code ASP
<% Response.Buffer=True%>
<% variable=contenu%>
exemple
<% prix=200%>
<% ville="Paris"%>
<%=ville%>
Commentaires
2 ème instruction de la page ASP
Optimisation de la page
Utilisation, création de variables
Affichage dans la page ASP, après la balise <body> du
contenu de la variable
<%rubrique1=Request.QueryString("rubriqueX")
Récupération de la variable rubriqueX envoyée par
une requête à la page ASP (méthode Get)
il est possible d'utiliser 2 fois le même nom
Dans la page ASP la variable est récupérée sous le nom
de rubrique1
Exemple
Exemple
Dans une page html nommée envoieprix.htm
Ville= Request.QueryString("Ville")
…..
<a href="verif.asp?prix=200> Info </a>
….
La page html envoie à la page asp l'information
prix=200 (au clic sur le mot "Info" par l'utilisateur)
Dans la page asp, pour récupérer cette valeur (200)
il faut taper:
<%Tarif=Request.QueryString("prix")%>
la variable Tarif contient alors la valeur 200
<%Variable1=Request.Form("ChampXduFormulaire") Récupération d'un champ de formulaire envoyé par
un Formulaire avec la méthode POST
Dans la page ASP le champ est récupéré dans une
Exemples
variable
Ville= Request.Form("Ville")
Exemple
Dans une page html nommée formulaire.htm
ageclient= Request.Form("age")
…..
<form action="page.asp" method="post">
<input type="text" name="ville">…..
La page html envoie à la page asp ,
le contenu du champ ville saisie par l'utilisateur.
Dans la page asp, pour récupérer cette valeur (Cannes
par exemple, la ville de l'utilisateur)
il faut taper:
<%Ville=Request.Form("Ville")%>
la variable Ville contient alors la valeur "Cannes"
<%nav=request.ServerVariables("http_user_agent")%> Permet de connaître le type de Navigateur utilisé
La variable nav contient
par l'utilisateur
Pour un PC sous windows
pour Internet explorer
Internet explorer ou pas
MSIE Windows
pour Netscape
Pc ou Mac
Win (le mot "Netscape" n'est pas mentionné)
Pour un Mac
pour IE
MSIE power-pc
pour Netscape
PPC
<%Response.Redirect("nom_de_la_page")%>
Permet de rediriger le navigateur du client
vers telle ou telle page
Exemple: <%Response.Redirect("p1.asp")%>
Relation avec le serveur
Code ASP
<%=Request.ServerVariables("path_info")%>
<%=Server.Mappath("nom de fichier")%>
<%=Server.Mappath(".")%> répertoire
<%=Server.Mappath("..")%> repertoire parent
<%=request.ServerVariables("remote_host")%>
<% on error resume next
set lecteur=Server.CreateObject("Scripting.FileSystemObject")
set L0=lecteur.Drives
for each L1 in L0%>
<%=L1.DriveLetter%>-<%=L1.DriveType%><%=L1.VolumeName%>
<%=L1.FreeSpace%>
<%=L1.IsReady%>
<%=L1.TotalSize%>
<br>
<%next%>
lecteur, L0, L1 sont des variables de votre choix
lecteur=Server.CreateObject("Scripting.FileSystemObject")
LC=lecteur.GetDrive("lettre du lecteur:")
Commentaires
Permet de connaître l'arborescence du fichier en
cours d'utilisation à partir du répertoire racine du site
Pour obtenir le chemin complet d'un fichier donné
A partir de la racine du disque
Exemple : <%=server.mappath("test.asp")%>
Résultat:d:\site\toto\test.asp
Pour obtenir le chemin complet du répertoire du
programme en cours
Permet de connaître la provenance du client visitant
le serveur
En local donne l'adresse IP
Les 2 derniers caractères donnent le code du pays
Affichage des Lecteurs de disque du serveur
On error permet d'eviter l'affichage des erreurs
Scripting.FileSystemObject permet la création d'objet
de type Lecteur, dossier, fichier, ici création de lecteur
Boucle permettant l'affichage de tous les lecteurs du
serveur
DriveLetter la lettre du lecteur, DriveType =1 pour
disquette, 2 pour disque dur, 3 pour un lecteur réseau, 4
pour lecteur de Cdrom
VolumeName= nom du volume du disque
FreeSpace= place disponible sur le lecteur (en octet)
IsReady = indique si le lecteur est prêt
TotalSize=Donne l'espace disque total (en octet)
Pour obtenir des informations sur un lecteur en
particulier. Exemple :
<%LC=lecteur.GetDrive("C:")%>
Dossier=lecteur.GetFolder("nom du répertoire:")
Propriétés : Attributes,size,Subfolders,DateCreated
set liste=dossier.files ->contient la liste des fichiers
for each id in liste%><%=id.name%><br><%next%>
affiche la liste de tous les fichiers du répertoire
fichier=lecteur.GetFile("nom du fichier:")
Propriétés : Attributes,size,type,DateCreated
octet disponible sur C: <%=lc.freespace%>
Pour obtenir des informations sur un dossier en
particulier. Exemple :
<%DS=lecteur.Getfolder("C:\windows")%>
octet dans dossier windows: <%=DS.size%>
Pour obtenir des informations sur un fichier en
particulier. Exemple :
<%fic=lecteur.Getfile("C:\config.sys")%>
octet dans config.sys: <%=fic.size%>
Création de fichier
<%on error resume next
Pour éviter l'affichage des erreurs
set fichier=Server.CreateObject("Scripting.FileSystemObject")
Création de l'objet fichier
rep=Server.Mappath(".") & "\test.txt"
Rep=chemin complet du fichier test.txt à créer
set fiche=fichier.CreateTextFile(rep)
Création du fichier test.txt au format ASCII
fiche.writeline("salut gaby")
Ecriture dans le fichier du texte "salut Gaby"
fiche.close%>
Fermeture du fichier et sauvegarde
Lecture du contenu d'un fichier
<%on error resume next
Pour éviter l'affichage des erreurs
set fichier=Server.CreateObject("Scripting.FileSystemObject")
Création de l'objet fichier
rep=Server.Mappath(".") & "\test.txt"
Rep=chemin complet du fichier test.txt à ouvrir
set fiche=fichier.OpenTextFile(rep)
Ouverture du fichier test.txt au format ASCII
Do while not fiche.AtEndOfStream%>
Boucle de lecture du contenu du fichier ligne par ligne
<%=fiche.ReadLine%><br>
Si fiche.AtEndOfStream= true alors c'est la fin du
<%loop
fichier
fiche.close%>
ReadLine permet de lire une ligne
AtEndOfLine=true permet de savoir que le fin de la
ReadAll permet de tout lire
ligne est atteinte (cas de lecture caractère par caractère) Read (n) permet de lire n caractères