Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1898 connectés 

  FORUM HardWare.fr
  Programmation
  Delphi/Pascal

  [ Delphi ] Je souhaiterais de l?aide pour les transmission de fonction

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[ Delphi ] Je souhaiterais de l?aide pour les transmission de fonction

n°225289
gabgab
Une loi juste rend libre.
Posté le 08-10-2002 à 21:31:42  profilanswer
 

Salut a tous  
 
Voilà je suis un peu perdu ou plus exactement je n?ai pas tous compris par rapport au procédures et fonctions sous delphi6.
 
Bon j?ai compris comment on fait pour définir une fonction j?ai aussi compris comment on fais pour l?appeler mais la ou j?ai un probleme c?est quand a la transmission par valeur ou par référence.
Sur mon livre il est m?est donner un explication très sucsaite que je n?arrive pas a comprendre. Celle-ci est illustre par un exemple que vois ci :
 
 
Le choix se fait dans la déclaration de la fonction réceptrice. Il suffit d?ajouter le mot réservé VAR avant le nom du paramètre, comme dans une déclaration de variable globale . voici comment modifier notre projet pour une transmission par référence :
 
Function ParDeux(var a: Integer) : Integer ;
Begin
  A :=7 ;
 ParDeux := a * 2 ;
End ;
Supposez l?appel suivant à notre nouvelle fonction :
??..
 B := 2;
 A := ParDeux(b);
(* combien vaut b maintenant ? 2 ,7 ou 14 ? *)
??..
 
 
 la réponse est a vaut 14 et b vaut 7
 
je pense que pour vous tous ces fonctions sont déjà bien connus de vous mais pour moi non  
si vous pouviez m?aider cela serais sympa
 
et dite moi aussi si on a souvent besoin de ce type de transmission  
il y a aussi d?autre type je crois eu nom de transmission de plusieurs paramètre  
 
merci et a bientôt  :jap:  :jap:  
 
gab
 


---------------

mood
Publicité
Posté le 08-10-2002 à 21:31:42  profilanswer
 

n°225321
SuperTotor
Posté le 08-10-2002 à 22:39:44  profilanswer
 

Je crois que c'est simple  :sol:  
 
quand tu passe par référence (utilisation de: var a: integer) et que tu affecte une valeur à ta variable (a := 7) tu modifie aussi la valeur de la variable référencé (ici b car tu appel ta fonction avec b).
 
si tu définie ParDeux(a: integer) (donc sans le var) la valeur de b ne devrait pas changer (sauf si je me plante  :pt1cable: )
 
Test et tu verra ...
 

n°225412
Olyv
Posté le 09-10-2002 à 08:41:42  profilanswer
 

le var est util pour le passage de paramètres dont la procédures va modifier la valeur et dont tu veux récupérer la valeur après l'appel.  
Il semble en fait que lorsque tu met le 'var' devant ta variable le compilo va faire passer l'adresse de ta variable (mais c'est invisible pour le développeur) donc tu modifis le contenu de la variable originale. Et lorsque tu ne mets pas le 'var', le compilo fait une 'copie' de ta variable, comme ca si tu la modifie dans ta procédure, cela n'affectera le reste de ton prog après l'appel à ta procédure.
 
corrigez moi si je m'a gouru.  :sweat:


Message édité par Olyv le 09-10-2002 à 08:41:52

---------------
La mort... c'est un peu comme la connerie. Le mort, lui, il ne sait pas qu'il est mort... ce sont les autres qui sont tristes. Le con, c'est pareil... (Le Chat)
n°225430
antp
Super Administrateur
Champion des excuses bidons
Posté le 09-10-2002 à 09:40:02  profilanswer
 

var/const/out passe fait un passage d'adresse (plus rapide) alors que sinon il fait une copie
 
var -> on peut modifier la valeur
const -> on ne peut pas la modifier, donc si on ne la modifie pas il y a intérêt à indiquer const pour éviter une recopie, surtout pour les chaînes (string)
out -> on ne fait que récupérer la valeur mise dans la variable. Je sais plus exactement comment ça marche, c'est le même genre que var sauf que la fonction ne reçoit pas l'ancienne valeur de la variable


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Delphi/Pascal

  [ Delphi ] Je souhaiterais de l?aide pour les transmission de fonction

 

Sujets relatifs
DELPHI CA SUXX DES OURSSSSS !!!!![PHP] + XMLDOM besoin d'aide !!
Une fonction peut-elle renvoyer un tableau ? (résolu)Un ptit peu d'aide svp pour le windowstate please
[c] temps d'exécution d'une fonctionBorland delphi ------> ?!*
[delphi ] Ou trouver des Bibliothèques ?Besoin d'aide
[ASP] Besoin d'aide boucle DO WHILE...[Visual C] Recuperation de fichier par CInternetFile ... a l'aide : (
Plus de sujets relatifs à : [ Delphi ] Je souhaiterais de l?aide pour les transmission de fonction


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR