[Résolu] utiliser 2 variables de même nom et de même type
[Résolu] utiliser 2 variables de même nom et de même type
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.
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.
Dernière modification par Micoute le mer. 07/oct./2015 13:06, modifié 1 fois.
Microsoft Windows 10 Famille 64 bits : Carte mère : ASRock 970 Extreme3 R2.0 : Carte Graphique NVIDIA GeForce RTX 3080 : Processeur AMD FX 6300 6 cœurs 12 threads 3,50 GHz PB 6.20 LTS (x64)
Un homme doit être poli, mais il doit aussi être libre !
Un homme doit être poli, mais il doit aussi être libre !
Re: Peut-on utiliser 2 variables de même nom et de même type
oui, c'est pas la même variable.
Re: Peut-on utiliser 2 variables de même nom et de même type
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 !
Je pose surtout cette question pour les novices !
Microsoft Windows 10 Famille 64 bits : Carte mère : ASRock 970 Extreme3 R2.0 : Carte Graphique NVIDIA GeForce RTX 3080 : Processeur AMD FX 6300 6 cœurs 12 threads 3,50 GHz PB 6.20 LTS (x64)
Un homme doit être poli, mais il doit aussi être libre !
Un homme doit être poli, mais il doit aussi être libre !
Re: Peut-on utiliser 2 variables de même nom et de même type
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.
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
Salut Micoute, tu aurais pu vérifier ça en 2 secondes petit flemmard
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.

Code : Tout sélectionner
a.s = "Je suis a.s"
a$ = "Je suis a$"
Debug a
Debug a$
Sait-on jamais, si une prochaine version du compilo se met à les interpréter de manières identiques, tu te retrouverais dans la panade.
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Re: Peut-on utiliser 2 variables de même nom et de même type
Cela peut aider aussi dans la récupération des données dans un gadget:
Valeur$ = G
Valeur$ = G
- falsam
- Messages : 7324
- Inscription : dim. 22/août/2010 15:24
- Localisation : IDF (Yvelines)
- Contact :
Re: Peut-on utiliser 2 variables de même nom et de même type
Jean-Claude Van Damme sort de ce corps ^^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.
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Re: Peut-on utiliser 2 variables de même nom et de même type
Cela peut donner plus de clarté aussi dans la récupération des données dans un gadget:
Valeur$ = GetGadgetText(...)
Valeur.l = val(Valeur$)
Valeur$ = GetGadgetText(...)
Valeur.l = val(Valeur$)
Re: Peut-on utiliser 2 variables de même nom et de même type
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é :falsam a écrit :Jean-Claude Van Damme sort de ce corps ^^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.
Code : Tout sélectionner
Map("A$")
Map("A")
@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
Extrait de la doc et de tête c'est là depuis le début.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.
Je pense que Fred conserve le $ car c'est à l'origine le symbole des chaines en Basic.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"
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
Merci à tous d'avoir répondu dans mon sens.
Microsoft Windows 10 Famille 64 bits : Carte mère : ASRock 970 Extreme3 R2.0 : Carte Graphique NVIDIA GeForce RTX 3080 : Processeur AMD FX 6300 6 cœurs 12 threads 3,50 GHz PB 6.20 LTS (x64)
Un homme doit être poli, mais il doit aussi être libre !
Un homme doit être poli, mais il doit aussi être libre !
Re: [Résolu] utiliser 2 variables de même nom et de même typ
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.
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.
- microdevweb
- Messages : 1802
- Inscription : mer. 29/juin/2011 14:11
- Localisation : Belgique
Re: [Résolu] utiliser 2 variables de même nom et de même typ
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$.
Windows 10 64 bits PB: 5.70 ; 5.72 LST
Work at Centre Spatial de Liège
Work at Centre Spatial de Liège