Flux rss

VBScript - Les fonctions et les procédures

Collection CommentCaMarche.net

La notion de procédure

On appelle fonction un sous-programme qui permet d'effectuer un ensemble d'instructions par simple appel dans le corps du programme principal. Cette notion de sous-programme est généralement appelée fonction (ou procédure) dans la plupart des langages de programmation. VBScript distingue deux types de procédures :

  • Les procédures Sub, ensemble d'instructions ne retournant pas de valeur
  • Les procédures Function, ensemble d'instructions retournant une valeur en sortie

Les procédures permettent d'exécuter dans plusieurs parties du programme une série d'instructions, cela permet une simplicité du code et donc une taille de programme minimale. D'autre part, une fonction peut faire appel à elle-même, on parle alors de fonction récursive (il ne faut pas oublier de mettre une condition de sortie au risque sinon de ne pas pouvoir arrêter le programme...).

VBScript contient des fonctions prédéfinies qui peuvent s'appliquer pour un ou plusieurs types d'objets spécifiques, on appelle ces fonctions des méthodes.

La déclaration d'une procédure Sub

Avant d'être utilisée, une procédure Sub doit être définie car pour l'appeler dans le corps du programme il faut que l'environnement la connaisse, c'est-à-dire qu'il connaisse son nom, ses arguments et les instructions qu'elle contient. La définition d'une procédure s'appelle "déclaration".

La déclaration d'une procédure Sub se fait entre les insctructions Sub et End Sub selon la syntaxe suivante :

Sub Nom_De_La_Procedure(argument1, argument2, ...)
		   liste d'instructions
End Sub

Remarques:

  • Le mot clé Sub est suivi du nom que l'on donne à la procédure
  • Le nom de la fonction suit les mêmes règles que les noms de variables :
    • le nom doit commencer par une lettre
    • un nom de procédure peut comporter des lettres, des chiffres et les caractères _ et & (les espaces ne sont pas autorisés!)
    • le nom de la fonction, comme celui des variables est sensible à la casse (différenciation entre les minuscules et majuscules)
  • Les arguments sont facultatifs, mais s'il n'y a pas d'arguments, les parenthèses doivent rester présentes
  • Il ne faut pas oublier de refermer les accolades

  • Le nombre d'accolades ouvertes (fonction, boucles et autres structures) doit être égal au nombre de parenthèses fermées!
  • La même chose s'applique pour les parenthèses, les crochets ou les guillemets!
Une fois cette étape franchie, votre procédure ne s'exécutera pas tant que l'on ne fait pas appel à elle quelque part dans le script !

La déclaration d'une procédure Function

Une procédure Function est similaire à une procédure Sub, à la différence près qu'elle peut retourner une valeur.

La déclaration d'une procédure Function se fait entre les insctructions Function et End Function selon la syntaxe suivante :

Function Nom_De_La_Procedure(argument1, argument2, ...)
		   Liste d'instructions
End Function

La procédure Function peut renvoyer une valeur, de type Variant en affectant une valeur dans une ou plusieurs de ses instructions à une valable possédant le même nom qu'elle.

La fonction suivante convertit par exemple en euros le prix passé en argument en francs :

Function FrancEuro(prix)
 FrancEuro = prix / 6.55957
End Function

Appel de fonction

Pour exécuter une fonction, il suffit de faire appel à elle en écrivant son nom (une fois de plus en respectant la casse) suivi d'une parenthèse ouverte (éventuellement des arguments) puis d'une parenthèse fermée :

Nom_De_La_Fonction()

L'appel d'une procédure se fait de la manière suivante :

Call Nom_De_La_Procedure()

Il est également possible d'appeler une procédure comme suit :

Nom_De_La_Procedure arguments

Remarques:

  • Si jamais vous avez défini des arguments dans la déclaration de la fonction, il faudra veiller à les inclure lors de l'appel de la fonction (le même nombre d'arguments séparés par des virgules!)

Veillez toujours à ce qu'une fonction soit déclarée avant d'étre appelée, sachant que l'interpréteur traite le script de haut en bas (Pour éviter des erreurs de ce type on déclare généralement les fonctions en début de script).

Grâce au gestionnaire d'événement onLoad (à placer dans la balise BODY) il est possible d'exécuter une fonction au chargement de la page, comme par exemple l'initialisation des variables pour votre script, et/ou le test du navigateur pour savoir si celui-ci est apte à faire fonctionner le script.
Il s'utilise de la manière suivante :

<HTML>

<HEAD>

<SCRIPT language="VBScript">

<!--
 

function Chargement() {
alert('Bienvenue sur le site');

}

 

//-->

</SCRIPT>

</HEAD>

<BODY onLoad="Chargement();" >

 

Code VBScript qui ne sert absolument à rien
si ce n'est déranger vos visiteurs...
 

</BODY>

</HTML>

Les paramètres d'une fonction

Il est possible de passer des paramètres à une fonction, c'est-à-dire lui fournir une valeur ou le nom d'une variable afin que la fonction puisse effectuer des opérations sur ces paramètres ou bien grâce à ces paramètres.
Lorsque vous passez plusieurs paramètres à une fonction il faut les séparer par des virgules, aussi bien dans la déclaration que dans l'appel et il faudra veiller à bien passer le bon nombre de paramètres lors de l'appel au risque sinon de créer une erreur dans votre script...

Travailler sur des variables dans les fonctions

Lorsque vous manipulerez des variables dans des fonctions, il vous arrivera de constater que vous avez beau modifier la variable dans la fonction celle-ci retrouve sa valeur d'origine dès que l'on sort de la fonction...

Cela est dû à la portée des variables, c'est-à-dire si elles ont été définies comme variables globales ou locales.

  • Une variable déclarée implicitement (non précédée du mot var) sera globale, c'est-à-dire accessible après exécution de la fonction
  • Une variable déclarée explicitement (précédée du mot var) sera locale, c'est-à-dire accessible uniquement dans la fonction, toute référence à cette variable hors de la fonction provoquera une erreur (variable inconnue)...
Ce document intitulé « VBScript - Les fonctions et les procédures » issu de Comment Ça Marche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.

Résultats pour VBScript Les fonctions et les procédures

VBScript - Fonctions diverses Fonctions diverses Fonction Description CreateObject(Servername.typename [, location]) Crée un objet Automation (ActiveX). servername représente le nom de l'application fournissant... www.commentcamarche.net/contents/vbscript/vbs-fonctions-diverses.php3
VBScript - Les fonctions de chaînes de caractères Les fonctions de chaînes de caractères Fonction Description Filter(InputStrings, Value[, Include[, Compare]]) Sélectionne des chaînes de caractères parmi un tableau de chaînes... www.commentcamarche.net/contents/vbscript/vbs-fonctions-chaines-caracteres.php3
VBScript - Les structures conditionnelles Qu'est-ce qu'une structure conditionnelle ? On appelle structure conditionnelle les instructions qui permettent de tester si une condition est vraie ou non, c'est-à-dire si la valeur de son expression vaut 0 ou 1 (VBScript associe le mot clé true à... www.commentcamarche.net/contents/vbscript/vbscond.php3

Résultats pour VBScript Les fonctions et les procédures

Mise à jour d'une procèdure ou d'une fonction en VBAMise à jour d'une procédure ou d'une fonction en VBA Souvent la gestion d'un classeur, avec seulement les fonctions standards du tableur, pose des problèmes d'utilisation. Vous songez donc à utiliser Visual Basic pour Applications (VBA) mais... www.commentcamarche.net/faq/sujet-8130-mise-a-jour-d-une-procedure-ou-d-une-fonction-en-vba
[Windows] Afficher la loupeWindows XP possède une option très utile et peu connue permettant d'afficher une loupe. Cette fonctionnalité peut notamment être très pratique lors de présentations. Pour activer simplement la loupe, il suffit de suivre l'une des procédures... www.commentcamarche.net/faq/sujet-2742-windows-afficher-la-loupe
Gestion d'écran en PascalLa gestion d'écran se fait par les fonctions et les procédures prédéfinies de l’unité WinCrt. C’est pourquoi dans chaque programme on utilise l’unité WinCrt (Crt en Free Pascal) Exemple : Par défaut, le titre d’une fenêtre c’est le nom du... www.commentcamarche.net/faq/sujet-7583-gestion-d-ecran-en-pascal

Résultats pour VBScript Les fonctions et les procédures

VBS- Traiter fichiers dans un répertoire (Résolu)Bonjour, VBScript : Traiter chaque fichier dans un répertoire ? Assez complexe - Help Bonjour à tous, Etant debutant et n'ayant pas vraiment trouvé une réponse en cherchant, je vous pose la question : J'ai plusieurs fichiers log qui... www.commentcamarche.net/forum/affich-3746292-vbs-traiter-fichiers-dans-un-repertoire
Problème MySQL / PHP , procédure stockée (Résolu)Bonjour, j'ai des problèmes pour récupérer mes enregistrements, que je suppose sont renvoyés par une procédure stockée sur MySQL, sachant que ma procédure fonctionne très bien avec le "Querry browser", en fait cette procédure doit retourner... www.commentcamarche.net/forum/affich-7811199-probleme-mysql-php-procedure-stockee
[VBScript] Arreter l'execution du script (Résolu)Bonjour, Je suis en train de faire un petit programme en vbscript et je veux que mon programme s'arrete completement lorsqu'une erreur se produit (et non que seul la procedure en cours soit quittée). Voici où j'en suis : On Error Resume... www.commentcamarche.net/forum/affich-3113034-vbscript-arreter-l-execution-du-script

Résultats pour VBScript Les fonctions et les procédures

Télécharger Notepad2Notepad2 est un bloc-note sans installation libre possédant des fonctionnalités avancées de coloration syntaxique. Fonctionnalités Coloration syntaxique pour les langages suivants : HTML, XML, PHP, ASP (JScript, VBS), CSS, JavaScript, VBScript,... www.commentcamarche.net/telecharger/telecharger-34055332-notepad2

Résultats pour VBScript Les fonctions et les procédures

Objet TextStreamObjet TextStream L'objet TextStream obtenu à l'aide d'une méthode de l'objet FileSystemObject (CreateTextStream ou OpenTextStream) ou via la méthode OpenAsTextStream de l'objet File. Il permet de lire ou écrire dans un fichier en mode texte, avec... www.commentcamarche.net/contents/vbscript/vbs-textstream.php3
Perl - Les fonctionsLa notion de fonction et de procédure On appelle procédure un sous-programme qui permet d'effectuer un ensemble d'instruction par simple appel de la procédure dans le corps du programme principal. Les procédure permettent d'exécuter dans plusieurs... www.commentcamarche.net/contents/perl/perlfonc.php3
Les procédures en assembleurLa notion de procédure En langage assembleur, on appelle procédure un sous-programme qui permet d'effectuer un ensemble d'instructions par simple appel de la procédure. Cette notion de sous-programme est généralement appelée fonction dans d'autres... www.commentcamarche.net/contents/asm/procedure.php3