Visual Basic
     
    << Retour >>  
   
Le B & A, BA
Les Bases du langage VB
Objets VB
Procédures & Fonctions

Les Procédures

Qu'est qu'une procédure ?

C'est un sous-programme a qui l'on donne un nom, une sorte d'instruction supplémentaire.
Cela sert à :

  • Alléger la lecture d'un programme :
    Un programme trop long est difficile à comprendre. On va donc découper se programme en tronçons pour en alléger la lecture.
  • Eviter les répétitions de partie de programme. Il peut arriver qu'une tache (une partie de programme) se répète plusierus fois, en créant une procédure on écrira cette partie de programme qu'une fois, évitant ainsi des erreurs possibles.

Déclaration d'une procédure

[Private | Public | Friend] [Static] Sub nom [(arguments)]
Les procédures Sub peuvent être récursives ; en d'autres termes, elles peuvent faire appel à elles-mêmes pour exécuter une tâche.

La procédure "Toto" est déclarée "Public" dans un module "Bas".
Elle est visible par tous et exécutable sous la forme : Toto

La procédure "Routine2" est aussi déclarée "Public".
Elle est visible par tous et exécutable sous la forme : Form1.Routine2

La procédure "Routine1" est déclarée "Private". Elle n'est visible que par les éléments contenus dans Form1.

La procédure "Routine3" est par défaut "Private" et visible que par les éléments de Form2.

Friend :Utilisé uniquement dans un module de classe. Indique que la procédure Sub est visible dans tout le projet, mais pas d'un contrôleur d'une instance d'objet.

Static : Indique que les variables locales de la procédure Sub sont conservées entre les appels. L'attribut Static n'a aucun effet sur les variables déclarées en dehors de la procédure Sub, même si elles sont utilisées dans cette dernière.

Les arguments suivent la syntaxe et comprend les éléments suivants :

[Optional] [ByVal | ByRef] [ParamArray] varname[( )] [As type] [= defaultvalue]

Élément
Description
Optional Facultatif. Mot clé indiquant qu'un argument n'est pas nécessaire.
ByVal Facultatif. Indique que l'argument est passé par valeur.
ByRef Facultatif. Indique que l'argument est passé par référence. ByRef est l'option par défaut dans Visual Basic.
ParamArray Facultatif. Utilisé exclusivement comme dernier argument dans arglist pour indiquer que l'argument final est un tableau Optional contenant des éléments de type Variant. Le mot clé ParamArray, qui permet d'indiquer un nombre quelconque d'arguments, ne peut être utilisé avec les mots clé ByVal, ByRef ou Optional.
varname Nom de la variable représentant l'argument.
type Facultatif. Type de données de l'argument
defaultvalue Facultatif. Toute constante ou expression constante.


exemple :

Routine publique nommée "CreateTable", crée une table dans une base de donnée "Worksdata" et lui donne pour nom le contenu de la variable "Table".

L'appelle de cette routine se fait ainsi dans le programme :

...
CreateTable "machin"
...

OU :

Table = "machin"
...
CreateTable Table
...

Public Sub CreateTable(ByVal Table As String)

Dim Tb As TableDef
Set Tb = Worksdata.CreateTableDef(Table)
For q = 1 To 25
Tb.Fields.Append Tb.CreateField("Champ" & Format(q), dbText, 255)
Next q
Worksdata.TableDefs.Append Tb


End Sub

Les Fonctions

Comme les procédures une fonction est un ensemble d'instructions réalisant une certaine tâche. Alors qu'une procédure ne renvoi pas de résultat, la fonction renvoie un résultat.

Déclaration d'une fonction

[Public | Private | Friend] [Static] Function nom [(arguments)] [As type]

Nous retrouvons les mêmes éléments que dans la déclaration d'une procédure, mais en plus nous devons déclarer quel type de variable la fontion doit retourner
Les Fonctions peuvent être récursives ; en d'autres termes, elles peuvent faire appel à elles-mêmes pour exécuter une tâche.
Pour retourner une valeur, il suffit d'assigner cette valeur à la fonction à l'intérieur du bloc d'instruction. Par exemple si la fonction s'appelle "machin" on écrira dans le bloc d'instruction "machin = valeur".
Exemple, une fonction récursive :

Cette fonction doit renvoyer comme valeur la somme de tous les nombres entiers inférieur nou égal à un nombre donné.
si n=3, retourne 3 + 2 +1
si n=10, retourne 10+9+8+7+6+5+4+3+2+1
etc...

L'appelle de cette fonction se fait ainsi dans le programme :

...
valeur = somme(n)
...

Public Function somme(ByVal n as integer)as long

if n=1 then
somme = 1
else
somme=n+somme(n-1)
end if

End Function

 

   
         
     

<-  Haut de page  ->
 

   
Webmaster : Arkensys | © Design : LaCasaGoum.com