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