silverman
Nombre de messages : 970 Age : 52 Localisation : Picardie Date d'inscription : 18/03/2015
| Sujet: variable_fill(T,N) pour les SUBs Mar 20 Sep 2016 - 12:55 | |
| Bonjour à tous! Il serait pratique d'avoir une commande qui permettrait de remplir une variable si on en connait le nom. Pour une sub(c'est là l'intérêt!), il n'y aurait plus besoin de déclarer une variable d'échange, son nom serait transmis en paramètre dans une chaîne de caractère. L'idée c'est de faciliter l'utilisation des subs que l'on trouve dans le forum; De cette manière, ce ne sera pas le programmeur qui s'adaptera à la sub, mais bien le contraire! - Code:
-
dim a,i, b%,j%, c$,my_txt$ ,var$
a=4/3 var$="i" variable_fill("i",a) : print i variable_fill("i",3.5) : print i variable_fill(var$,a) : print i variable_fill(var$,3.5) : print i print
b%=5 var$="j%" variable_fill("j%",b%) : print j% variable_fill("j%",8) : print j% variable_fill(var$,b%) : print j% variable_fill(var$,8) : print j% print
c$="Bonjour " var$="my_txt$" variable_fill("my_txt$",c$) : print my_txt$ variable_fill("my_txt$","le monde") : print my_txt$ variable_fill(var$,c$) : print my_txt$ variable_fill(var$,"le monde") : print my_txt$
end sub my_sub(var_to_fill$) REM traitement ---> resultat variable_fill(var_to_fill$,resultat) end_sub
Voir une application en panoramic pur ICI | |
|
Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: variable_fill(T,N) pour les SUBs Sam 8 Oct 2016 - 20:48 | |
| | |
|
JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: variable_fill(T,N) pour les SUBs Sam 8 Oct 2016 - 21:25 | |
| D'accord avec vous, mais j'ai été déçu à l'époque de découvrir que les variables passées en paramètres à la sub deviennent locales dans la sub. Peut-être n'y a-t'il pas moyen de faire autrement, mais j'aurais aimé pouvoir écrire, par exemple pour une sub qui donne les dimensions d'une image f$ en pixels: Dans le programme appelant: - Code:
-
Dimimage(f$,w%,h%) -> résultat dans w% et h% et dans la sub: - Code:
-
SUB Dimimage(f$,w%,h%) ... lecture des dimensions dans f$ ... w% = largeur h% = hauteur END_SUB | |
|
papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: variable_fill(T,N) pour les SUBs Dim 9 Oct 2016 - 1:16 | |
| - JL35 a écrit:
- D'accord avec vous, mais j'ai été déçu à l'époque de découvrir que les variables passées en paramètres à la sub deviennent locales dans la sub.
Peut-être n'y a-t'il pas moyen de faire autrement, mais j'aurais aimé pouvoir écrire, par exemple pour une sub qui donne les dimensions d'une image f$ en pixels: Dans l’état actuel de Panoramic, la transmission des paramètres à une procédure SUB se fait uniquement « par valeur » et non « par adresse ». Rappel de transmission de paramètres 1) Transmission de paramètres par valeur : Panoramic dépose sur la pile une copie de chaque paramètre de type « valeur » transmis. Une fois la routine exécutée, lors du retour au programme appelant, le système éliminera les paramètres de la pile. Ces valeurs sont en fait des copies temporaires, les valeurs d’origine connues du programme appelant ne sont pas modifiées par l’exécution de la procédure. 2) Transmission des paramètres par adresse : Lorsqu’on désire qu’entre le programme appelant et la procédure, la transmissions de paramètres se réalise dans les deux sens, c’est-à-dire que la procédure puisse elle aussi transmettre des informations au programme appelant, on doit alors employer la transmission de paramètres par adresse. Le système ne dépose pas une copie du continue sur la pile, mais il travaille directement en mémoire sur la variable. Cela provient de ce que la procédure reçoit l’adresse mémoire à laquelle figure le continu de la variable. De cette façon, le sous-programme est en mesure de modifier la valeur d’une variable et de transmettre au programme appelant cette valeur modifiée. Malheureusement, Panoramic ne permet pas (encore) la transmission de paramètres par adresse comme le font les autres langages de programmation. Voir mon tuto ici | |
|
Contenu sponsorisé
| Sujet: Re: variable_fill(T,N) pour les SUBs | |
| |
|