5 messages in org.openoffice.fr.prog[prog] Re : [prog] Paramètres par réf...
FromSent OnAttachments
xavier roguiezJun 9, 2009 1:36 pm 
xavier roguiezJun 9, 2009 1:43 pm 
Pasc...@ac-grenoble.frJun 9, 2009 3:33 pm 
Pasc...@ac-grenoble.frJun 9, 2009 3:57 pm 
Bernard MarcellyJun 9, 2009 11:40 pm 
Actions with this message:
Paste this link in email or IM:
Paste this link in email or IM:
Atom feed for this thread
Paste this URL into your reader:
Subject:[prog] Re : [prog] Paramètres par référenceActions...
From:Pasc...@ac-grenoble.fr (Pasc@ac-grenoble.fr)
Date:Jun 9, 2009 3:57:34 pm
List:org.openoffice.fr.prog

Pour compléter ma réponse, voici un exemple :

sub main dim x as double x=2 modif(x) print x end sub

sub modif(x as double) print x x=3 end sub

Lors de l'exécution de main, on a bien les affichages successifs : 2 (le print de la macro modif) 3 (le print de main après l'exécution de modif).

Si on modifie juste double en integer dans dim x :

sub main dim x as integer x=2 modif(x) print x end sub

sub modif(x as double) print x x=3 end sub

lors de l'exécution de main, on a alors les affichages successifs : 2 (le print de la macro modif) 2 (le print de main après l'exécution de modif) au lieu de 3.

Cela prouve que la conversion impicite de type double vers integer en sortie de
modif pose problème.

Or je pense que, dans votre exemple, le fait de ne pas définir le type de Nrcc
fait que la ligne Nrcc=2 le définit implicitement comme un integer.

----- Message d'origine ----- De: Pasc@ac-grenoble.fr Date: Mercredi, Juin 10, 2009 0:34 am Objet: [prog] Re : Re: [prog] Paramètres par référence

Bonjour,

dim Nrcc,Mrcc,epsh1,epsb1 as double

ne définit pas Nrcc et Mrcc comme double mais comme variant.

La syntaxe basic impose de donner le type de chaque variable séparément.En fait :

dim Nrcc,Mrcc,epsh1,epsb1 as double

signifie :

dim Nrcc as variant, Mrcc as variant, epsh1 as variant, epsb1 as double Il est donc déjà normal que en remplaçant

dim Nrcc,Mrcc,epsh1,epsb1 as double

par

dim Nrcc as double, Mrcc as double ,etc...

on puisse avaoir un comportement différent.

----- Message d'origine ----- De: xavier roguiez <xr@geo.hmg.inpg.fr> Date: Mardi, Juin 9, 2009 10:46 pm Objet: Re: [prog] Paramètres par référence

xavier roguiez a écrit :

Bonsoir

Je me trouve confronté à un problème dont je ne comprends ni les tenants ni les aboutissants;, est ce que quelqu'un peut m'aider ?

J'ai sorti l'ECM suivant :

option explicit sub interaction_Rect() dim Nrcc,Mrcc,epsh1,epsb1 as double Nrcc=2: Mrcc=2 print Nrcc,Mrcc 'affiche 2 2 normal EffC_Rect(Nrcc,Mrcc) print Nrcc,Mrcc 'affiche 2 2 pas normal ????????????????????? end sub

sub EffC_Rect(Nrc2 as double,Mrc2 as double) Nrc2=10: Mrc2=10 end sub

Par contre si je modifie les déclarations d'entêtes à savoir : dim Nrcc,Mrcc as double

En fait il faut modifier pour obtenir le bon résultat la déclaration en dim Nrcc as double dim Mrcc as double

alors le comportement redevient normal... print Nrcc,Mrcc 'affiche 2 2 normal EffC_Rect(Nrcc,Mrcc) print Nrcc,Mrcc 'affiche 10 10 normal !!!!!!!!!!!!!

Avez vous une idée ? D'avance merci xavier

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

To unsubscribe, e-mail: prog@fr.openoffice.org For additional commands, e-mail: prog@fr.openoffice.org