Recherche…


Introduction aux procédures

Un Sub est une procédure qui effectue une tâche spécifique mais ne renvoie pas de valeur spécifique.

Sub ProcedureName ([argument_list])
    [statements]
End Sub

Si aucun modificateur d'accès n'est spécifié, une procédure est Public par défaut.

Une Function est une procédure qui reçoit des données et renvoie une valeur, idéalement sans effets secondaires globaux ou de portée de module.

Function ProcedureName ([argument_list]) [As ReturnType]
    [statements]
End Function

Une Property est une procédure qui encapsule des données de module. Une propriété peut avoir jusqu'à 3 accesseurs: Get une valeur ou une référence d'objet, Let pour affecter une valeur et / ou Set pour affecter une référence d'objet.

Property Get|Let|Set PropertyName([argument_list]) [As ReturnType]
    [statements]
End Property

Les propriétés sont généralement utilisées dans les modules de classe (bien qu'elles soient également autorisées dans les modules standard), exposant l'accesseur à des données inaccessibles au code appelant. Une propriété qui expose uniquement un accesseur Get est "en lecture seule"; une propriété qui exposerait uniquement un accesseur Let et / ou Set est "en écriture seule". Les propriétés en écriture seule ne sont pas considérées comme une bonne pratique de programmation - si le code client peut écrire une valeur, il doit pouvoir le lire . Envisagez d'implémenter une procédure Sub au lieu de créer une propriété en écriture seule.

Retourner une valeur

Une Function ou une procédure d' Property Get peut (et devrait!) Renvoyer une valeur à son appelant. Cela se fait en attribuant l'identifiant de la procédure:

Property Get Foo() As Integer
    Foo = 42
End Property

Fonction avec exemples

Comme indiqué ci-dessus, les fonctions sont des procédures plus petites qui contiennent de petits morceaux de code qui peuvent être répétitifs dans une procédure.

Les fonctions permettent de réduire la redondance dans le code.

Semblable à une procédure, une fonction peut être déclarée avec ou sans liste d'arguments.

La fonction est déclarée comme type de retour, toutes les fonctions renvoyant une valeur. Le nom et la variable de retour d'une fonction sont identiques.

  1. Fonction avec paramètre:

     Function check_even(i as integer) as boolean
     if (i mod  2) = 0 then
     check_even = True
     else
     check_even=False
     end if
     end Function
    
  2. Fonction sans paramètre:

     Function greet() as String
     greet= "Hello Coder!"
     end Function
    

La fonction peut être appelée de différentes manières dans une fonction. Comme une fonction déclarée avec un type de retour est essentiellement une variable. il est similaire à une variable.

Appels fonctionnels:

    call greet() 'Similar to a Procedural call just allows the Procedure to use the
                 'variable greet 
    string_1=greet() 'The Return value of the function is used for variable
                     'assignment

De plus, la fonction peut également être utilisée comme condition pour if et d'autres instructions conditionnelles.

      for i = 1 to 10
      if check_even(i) then
      msgbox i & " is Even"
      else
      msgbox i & " is Odd"
      end if
      next i

De plus, les fonctions peuvent avoir des modificateurs tels que By ref et By val pour leurs arguments.



Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow