Page 1 sur 1

[Résolu] utiliser 2 variables de même nom et de même type

Publié : mer. 07/oct./2015 11:35
par Micoute
Bonjour à tous,

j'aimerais savoir au sein d'un même programme, on peut utiliser en même temps A$ et A.s

ça aurait le mérite d'être éclaircit.

Re: Peut-on utiliser 2 variables de même nom et de même type

Publié : mer. 07/oct./2015 11:36
par G-Rom
oui, c'est pas la même variable.

Re: Peut-on utiliser 2 variables de même nom et de même type

Publié : mer. 07/oct./2015 11:58
par Micoute
Merci G-Rom pour ta réponse, mais je reste sur ma faim, car je comprends bien Que A$ et A.s ne sont pas la même variable, mais c'est le même type, alors pour être plus tatillon, pourquoi un même type peut-il être codé de deux manières différentes ?

Je pose surtout cette question pour les novices !

Re: Peut-on utiliser 2 variables de même nom et de même type

Publié : mer. 07/oct./2015 12:09
par G-Rom
Seul Fred peu expliqué cette différence de notation. Je pense que lorsqu'il a créer le parser du compilateur, il était plus facile dans un premier temps de faire la distinction entre une variable numérique et un string avec le symbole $ , et c'est resté. a lui de dire si je suis dans le vrai.

Après A$ n'est pas pareil que A.s dans le sens symbolique du terme A$ est le symbole, l'autre c'est juste A , l'un à 2 lettres , l'autre une seule.

Re: Peut-on utiliser 2 variables de même nom et de même type

Publié : mer. 07/oct./2015 12:19
par Ar-S
Salut Micoute, tu aurais pu vérifier ça en 2 secondes petit flemmard :)

Code : Tout sélectionner

a.s = "Je suis a.s"
a$  = "Je suis a$"
Debug a
Debug a$
Par contre, suivant les présomptions de G-Rom, je ne peux que te conseiller de donner des noms différents à tes variables $ et .s
Sait-on jamais, si une prochaine version du compilo se met à les interpréter de manières identiques, tu te retrouverais dans la panade.

Re: Peut-on utiliser 2 variables de même nom et de même type

Publié : mer. 07/oct./2015 12:37
par nico
Cela peut aider aussi dans la récupération des données dans un gadget:

Valeur$ = G

Re: Peut-on utiliser 2 variables de même nom et de même type

Publié : mer. 07/oct./2015 12:37
par falsam
G-Rom a écrit :Après A$ n'est pas pareil que A.s dans le sens symbolique du terme A$ est le symbole, l'autre c'est juste A , l'un à 2 lettres , l'autre une seule.
Jean-Claude Van Damme sort de ce corps ^^

Re: Peut-on utiliser 2 variables de même nom et de même type

Publié : mer. 07/oct./2015 12:38
par nico
Cela peut donner plus de clarté aussi dans la récupération des données dans un gadget:

Valeur$ = GetGadgetText(...)

Valeur.l = val(Valeur$)

Re: Peut-on utiliser 2 variables de même nom et de même type

Publié : mer. 07/oct./2015 12:43
par G-Rom
falsam a écrit :
G-Rom a écrit :Après A$ n'est pas pareil que A.s dans le sens symbolique du terme A$ est le symbole, l'autre c'est juste A , l'un à 2 lettres , l'autre une seule.
Jean-Claude Van Damme sort de ce corps ^^
Un compilateur ( du moins la partie arrière ) fait des jetons avec le code, chaque mots est un jeton "token" , il est mis dans une table de symbole avec ses caractéristique ( type, valeur, scope, ou il est déclaré , dans quel fichier , etc... ) en gros, c'est comme ci je met dans une map ces deux clé :

Code : Tout sélectionner

Map("A$")
Map("A")
Le symbole n'est pas le même.

@Ar-S
A mon avis , Fred ne changera jamais cela, pas de soucis de se coté là.

Re: Peut-on utiliser 2 variables de même nom et de même type

Publié : mer. 07/oct./2015 12:58
par Anonyme2
Micoute a écrit :Bonjour à tous,

j'aimerais savoir au sein d'un même programme, on peut utiliser en même temps A$ et A.s

ça aurait le mérite d'être éclaircit.
Extrait de la doc et de tête c'est là depuis le début.
Notation des variables chaîne de caractères: Il est possible d'utiliser '$' comme dernier caractère d'une variable pour indiquer qu'il s'agit d'une chaîne de caractères. De cette façon vous pouvez utiliser 'a$' et 'a.s' , ce sont deux variables différentes.
Note: Vous devrez conserver le '$' à la fin de la variable a$, contrairement au '.s' de la variable a.s, qui n'est nécessaire que la première fois pour la déclarer.
a.s = "Une chaîne"
a$ = "Une autre chaîne"
Debug a ; Affichera "Une chaîne"
Debug a$ ; Affichera "Une autre chaîne"
Je pense que Fred conserve le $ car c'est à l'origine le symbole des chaines en Basic.
J'ai fait du basic au milieu des années 80 et je me souviens du $ mais pas du .s

Re: Peut-on utiliser 2 variables de même nom et de même type

Publié : mer. 07/oct./2015 13:04
par Micoute
Merci à tous d'avoir répondu dans mon sens.

Re: [Résolu] utiliser 2 variables de même nom et de même typ

Publié : mer. 07/oct./2015 15:30
par Mesa
Comme le dit denis, dans les années 80, une variable chaine en basic s'écrivait avec un '$', un entier avec un '%', etc.
Ou alors, on pouvait les définir avec l'instruction 'AS'.

Davantage d'info, en prenant le basic livré avec DOS 5 et avant, le QBASIC:
http://www.schoolfreeware.com/QBasic_Tu ... _QB64.html

https://en.wikibooks.org/wiki/QBasic/Arrays_and_Types

Ici, http://www.qbasicnews.com/qboho/qck-9997.shtml on observe qu'à l'époque, le nom des fonctions qui utilisaient des chaines, avaient elle même un $, comme MID$() par exemple.

C'est bien plus tard que les .s, .l et autres sont apparus.

Du coup, peut-être par souci de compatibilité, on peut écrire une variable chaines des 2 façons.

M.

Re: [Résolu] utiliser 2 variables de même nom et de même typ

Publié : mer. 07/oct./2015 16:28
par microdevweb
Moi perso je nomes toutes mes Variables string en les terminant par $, je trouve cela plus clair à la lecture et me permet de les différencier du premier coup d’œil. De même je garde la même philosophie pour Procedure$ si elle renvoie un string et declare$.