djes a écrit :Oui, je n'aurais pas dû faire de généralités, même s'il n'y a pas de BASIC «traditionnel» comme tu le dis,
c'est pourquoi j'ai mis entre guillemets !
Je rappelle quand même pour faire avancer le schmilblick qu'il ne s'agit pas de variables, mais de paramètres. Ce n'est pas tout à fait la même chose, perso je fais la distinction et je vous encourage à le faire, même si ça ne va pas changer le monde...
on parle bien de variables ... qui se trouve dans la procedure ...
le parametres c'est une variable qu'on passe en parametre (par les parentheses) de la fonction ... on va pas jouer sur les mots ..
et que je n'ai pas le courage d'aller voir les quelques versions normalisées ANSI et autres pour te contredire
ben j'ai recherché pour toi
en VisualBasic
1.2 Portée des variables
L’existence d’une variable peut se dérouler sur trois niveaux :
Niveau Procédure : cela veut dire que la variable est locale. Dès que l’on quitte la procédure en question, la variable disparaît, et son contenu avec elle.
en GFABAsic , il fallait preciser qu'une variable etait Local , avec la directive "Local"
exemple : (ici en GFABasic 32 bits )
Code : Tout sélectionner
Proc WndProc(hWnd As Handle, msg As Int, _
wParam As Int, lParam As Int) Naked
Local RetVal
'... Code ...
Asm mov eax, [RetVal]
EndProc
en BlitzBasic 3D
les variable dans les procedures sont automatiquement en Local exemple :
Code : Tout sélectionner
function Machin()
var#=9.0
end function
print Var => affichera '0.0'
en DarkBasic Pro , page 31 du manuel il est ecrit
Les variables et tableau sont idépendants du reste du programme
Ainsi, une variable FRED dans une fonction n'affectera pas une autre variable FRED
qui serai déclaré dans le programme principal ni
qui serai déclarée dans une autre fonction .....
en OMIKRON Basic
On peut définir des variables locales par LOCAL V$=, W$=, qui n'interféreront pas avec les variables globales de même nom,
je ne parlerai bien sur pas des anciens basic, qui ne geraient pas le concept de fonctions (procedures)
je pense au ZX81 Basic (basic Spaghettis a base de Goto )
mais pour ma part mis a part quelques uns (rare) ou il faut preciser qu'une variable est Local dans une procedure (GFA Basic , L'Omikron ; et d'une certaine façon le Purebasic avec son "Protected" )
la plupart considerent que c'est Local par defaut lorsque c'est dans une procedure ou une fonction .....
mais dans tout les cas, une variable Local, n’interfère pas avec son homonyme Global !!