begin process at 2012 02 16 16:34:54
  Trouver un code source :
 
dans
 
Accueil > 

Tutoriels

 > 

Trucs & Astuces

 > DIFFÉRENCE ENTRE "BYREF" ET "BYVAL"

DIFFÉRENCE ENTRE "BYREF" ET "BYVAL"


 Information sur le tutoriel

Note :
6 / 10 - par 2 personnes
6,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10


 Description

Dans ce petit tutorial je vais essayer de parler sur la différence entre "ByVal" et "ByRef" qui peut être inconnu (disant le sens de chaque mot clé) par plusieurs

Tutorial

 


              

 Présentation     

            Dans nos fonction qui acceptent des paramètres on passe souvent ces paramètres sans faire attention de la façon avec laquelle on les passe, est ce que par valeur (ByVal) ou bien par référence (ByRef) et pourtant c'est quelque chose très important de choisir entre les passés "ByVal" ou bien "ByRef" puisque ça peut changer beaucoup de change et c'est ce qu on va voir au cours de ce tutorial et on va essayer de répondre de quelque questions genre de "c'est quoi la différence entre "ByVal" et "ByRef"? et ce qu ils peuvent être remplaçable? et on vas parcourir à un exemple qui va éclaircir tout ça

     

      ByVal : Par Valeur :

      

            Passer une variable à une fonction quelconque par valeur veux dire qu'on passe juste un copie de cette variable ou bien plus précisément sa valeur qui peut être traiter par la fonction de plusieurs façon soit assigné sa valeur à une autre variable soit l utiliser d'une autre façon, mais on peut jamais changer sa valeur puisque même si on affecte une modification au variable la modification ne sera effectué que sure la variable local du fonction et non pas sur la variable principale qui a été passer comme paramètre à notre fonction.

 

 

    ByRef : Par Référence :

         

              Passer une variable à une fonction par référence permet a cette fonction d'affecter des modification à cette variable (c'est à dire la variable principale également) et ça peut être utiliser par exemple dans une Sub qui ne renvoi pas de valeur mais juste affecte des opération sur les variables passer , on va voir un exemple pour bien comprendre la notion  de ces deux mot clé

         Si on a une fonction qui peut accepter que ses paramètres soit passer ByVal alors on peut utiliser a la place de ByVal le mot clé ByRef mais le contraire ne peut pas être valide parce que si une fonction demande qu'une variable soit y passer en tant que référence alors elle veux l'affecter une nouvelle valeur ce qui ne peut pas être faite si la variable et passer par valeur

 

      Exemple

               Dans cette exemple on va crée une Sub qui n aura pas de valeur à renvoyer bien sure ce SUB aura le nom SWAP ça fonction et de donner la valeur de X à Y et la valeur de Y à X ...

         La Déclaration du SUB sera comme ca :

                  Public Sub SWAP(ByRef X As Integer, ByRef Y As Integer)
                            Dim Tmp As Integer
                             Tmp = X
                             X = Y
                             Y = Tmp
                  End Sub

           Ici on déclare les paramètres par référence

            L'appel du SUB sera :

                     Dim X As Integer = 10
                     Dim Y As Integer = 20
                     SAWP(X, Y)
                     Msgbox " X Value = " & X & VbCrlf & " Y Value = " & Y
    on a  bien passer à la fonction SWAP deux variable qui son (X=10 et Y=20) alors la SUB SWAP va alors changer la valeur de ces deux variable alors le MsgBox affichera :

               X Value = 20
               Y Value = 10
alors les valeurs des variables principaux passés au fonction SWAP ont été changer

mais si on écrit "ByVal" à la place de "ByRef" le MsgBox affichera :
               X Value = 10
               Y Value = 20

Alors la fonction ne changera pas les valeurs des variables

P.S : ce truc et valable pour VB.NET et également pour le VB 6

Aller c'est tout :)

 

Commentaires

Commentaire de Lucyberad le 31/07/2005 23:53:38

salut,
c bien tu repond au sujet mais il a deja été traité avant:
http://vbfrance.com/tutorial.aspx?ID=4
voila
@+
Lucyberad

Commentaire de andregoub le 12/05/2006 21:51:07

merci pour ton tutorial il est bien pour nous les débutants

Commentaire de mr_youness le 27/10/2006 23:35:28

salut,
c bien  Merci

Commentaire de pico57 le 23/04/2007 14:05:58

Le sujet est interressant mais pour un tutorial, tu aurais vraiment pu faire des efforts d'orthographe, il y a vraiment des fautes a chaques lignes.

 Ajouter un commentaire




Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,106 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales