| erreur : "Illégal variable name" | |
|
|
|
Auteur | Message |
---|
exdragon
Nombre de messages : 601 Date d'inscription : 05/01/2012
| Sujet: erreur : "Illégal variable name" Dim 15 Jan 2012 - 14:17 | |
| Salut Quelqu'un sait pourquoi j'ai le message ? "Illégal variable name" à la ligne du IF... - Code:
-
place: cible$="" x%=int(mouse_X_position(1)/16) y%=int(mouse_Y_position(1)/16) if(sel%==0)then numero%=1 cible$=element$+str$(numero%)+".bmp" file_load 10,cible$ 2D_image_paste 10,x%,y% return
clickliste: numero%=item_index(9) sel%=1 return
Le label place est atteint quand on clique sur le scene2D Le label clickliste est ateint quand on clique sur la liste des persos (un Tlist) J'ai une liste de personnages dans un Tlist Je clique sur la liste, l'index du choix est sauvegardé dans numero. il faut que numéro contienne l'index avant que je clique sur le scene2D et au cas où j'ai pas cliqué sur la liste, je mets numéro=1 pour avoir l'index 1 par défaut, avant de cliquer sur le scene2D. Il faut juste que numéro contienne 1 à N'importe, avant que je clique sur le scene2D sinon il y a erreur. Donc j'ai ces deux variables : sel% c'est une variable de test 0 ou 1 (comme un boolean) Je le mets à 1 quand on a cliqué sur la liste des persos sinon il est à 0 numero% c'est le numéro d'index du Tlist : si on a cliqué sur la liste des persos (je fais le test de sel%) numéro contiendra l'index de la sélection. si on a pas cliqué sur la liste des persos, je mets 1 dans numero pour sélectionner l'index 1 par défaut. | |
|
| |
Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: erreur : "Illégal variable name" Dim 15 Jan 2012 - 14:22 | |
| Par ce qu'il ne faut qu'un seul = .... | |
|
| |
Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: erreur : "Illégal variable name" Dim 15 Jan 2012 - 14:25 | |
| - Code:
-
if(sel%==0)then numero%=1 Le problème est dans cette ligne (= est en double) PS: On s'est croisé Jcehel | |
|
| |
exdragon
Nombre de messages : 601 Date d'inscription : 05/01/2012
| Sujet: Re: erreur : "Illégal variable name" Dim 15 Jan 2012 - 14:44 | |
| Ah mince, c'est si bête C'est mes réminiscences de Delphi^^ merci à vous deux | |
|
| |
Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: erreur : "Illégal variable name" Dim 15 Jan 2012 - 14:44 | |
| Pas grave, ça fait 2 réponses pour le prix d'une ^^ (de toute façon, j'ai gagné, mon post est avant !! ) | |
|
| |
exdragon
Nombre de messages : 601 Date d'inscription : 05/01/2012
| Sujet: Re: erreur : "Illégal variable name" Dim 15 Jan 2012 - 14:45 | |
| J'ai corrigé le = mais pareil :/ Si j'enlève la ligne du IF... je n'ai plus d'erreurs. Les variables sont déclarée et initialisées pourtant oO - Code:
-
' Déclaration des variables dim numero% dim cible$ dim element$ dim sel%
' Initialisation des variables element$="perso1" sel%=0
| |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: erreur : "Illégal variable name" Dim 15 Jan 2012 - 15:30 | |
| Peux-tu nous donner le source complet de ton programme ? On n'a pas les définitions des objets 1 et 10, et il manquait de DIM pour la variable X%. Voici ce que j'ai reconstitué: - Code:
-
label place, clickliste
' Déclaration des variables dim numero% dim cible$ dim element$ dim sel%
dim x%
' Initialisation des variables element$="perso1" sel%=0
gosub place
end
place: cible$="" x%=int(mouse_X_position(1)/16) y%=int(mouse_Y_position(1)/16) if(sel%=0)then numero%=1 cible$=element$+str$(numero%)+".bmp" file_load 10,cible$ 2D_image_paste 10,x%,y% return
clickliste: numero%=item_index(9) sel%=1 return
mais on n'a pas les objets 1 ( pour mouse_x_position(1) ) et 10 ( pour file_load 10,... ). Avec un source complet, on pourra t'aider. | |
|
| |
Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: erreur : "Illégal variable name" Dim 15 Jan 2012 - 16:01 | |
| Bravo Klaus pour le puzzle. La pièce qu'il te manque est dans son autre sujet, on a Scene_2D 1 et Image 10
| |
|
| |
Invité Invité
| Sujet: Re: erreur : "Illégal variable name" Dim 15 Jan 2012 - 16:02 | |
| Bonjour, Je ne suis pas chez moi, et je ne suis que pour un instant. Il y a une chose qui ne va pas: - Code:
-
if(sel%==0)then numero%=1 En plus des deux "=", le THEN est collé à la parenthèse Une souris qui ne va pas du tout sur cet ordi. Je laisse la place! |
|
| |
JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: erreur : "Illégal variable name" Dim 15 Jan 2012 - 17:27 | |
| et le if est collé à la parenthèse... c'est du compactage. | |
|
| |
exdragon
Nombre de messages : 601 Date d'inscription : 05/01/2012
| Sujet: Re: erreur : "Illégal variable name" Dim 15 Jan 2012 - 20:57 | |
| Merci les amis, ça c'est de l'aide^^ C'est résolu pour ce coup-ci c'était l'espace entre le if et la parenthèse ... un truc bête :/ - Code:
-
if (sel%=0) then numero%=1 peut-être que ça peut être un exemple de petite amélioration qui fera moins embêter les nouveaux^^ PS: Hé cosmos, ta rien dit à propos de la soluce que je t'ai proposé, si elle te convenait ou pas, je veux dire^^ ah oui c'est vrai, je suis bête^^ : - Citation :
- Je ne suis pas chez moi, et je ne suis que pour un instant.
| |
|
| |
Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: erreur : "Illégal variable name" Dim 15 Jan 2012 - 21:20 | |
| Nan, ça compliquerait beaucoup l'analyse de syntaxe ... Éventuellement, on pourrait s'en apercevoir par l’éditeur avec la mise en couleur des mots clé qui ne se ferait pas sans l'espace | |
|
| |
JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: erreur : "Illégal variable name" Dim 15 Jan 2012 - 21:32 | |
| Ça voudrait dire (la coloration) qu'il faut quand même reconnaître les mots-clés même s'ils sont collés à autre chose ! et aussi une faute d'orthographe bénigne dans un mot-clé ? Non, il est bien évident qu'il faut un minimum de rigueur pour coder, sinon c'est n'importe quoi. | |
|
| |
exdragon
Nombre de messages : 601 Date d'inscription : 05/01/2012
| Sujet: Re: erreur : "Illégal variable name" Dim 15 Jan 2012 - 21:49 | |
| heu...j'ai confondu avec un autre post Par contre je vois pas comment ça compliquerait l'analyse de syntaxe de voir s'il y a un espace entre if et la parenthèse oO Si tu as une ligne comme : première$=10:if(sortie%=20)then sortie tout est collé, mais si tu remplace momentanément la parenthèse par un espace ça donne ça : première$=10:if then sortie et le if on le trouve bien ensuite on replace la parenthèse dans son contexte.
Dernière édition par exdragon le Dim 15 Jan 2012 - 21:59, édité 1 fois | |
|
| |
JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: erreur : "Illégal variable name" Dim 15 Jan 2012 - 21:56 | |
| Et si tu fais ifa=10 au lieu de if a=10, il faut le prendre comment ? | |
|
| |
exdragon
Nombre de messages : 601 Date d'inscription : 05/01/2012
| Sujet: Re: erreur : "Illégal variable name" Dim 15 Jan 2012 - 22:02 | |
| Ah ok je vais voir : ifa=10 1) détecter le signe = 2) chercher le "if" avant le "=" puisque on sait qu'il y en a un grace au "=". | |
|
| |
JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: erreur : "Illégal variable name" Dim 15 Jan 2012 - 22:17 | |
| Ah bon ? il y a un if avant parce qu'il y a un = ?
C'est bien joli, mais qu'est-ce qui te dit que ifa n'est pas une variable (non déclarée éventuellement) quand tu trouves ifa=10 ? | |
|
| |
exdragon
Nombre de messages : 601 Date d'inscription : 05/01/2012
| Sujet: Re: erreur : "Illégal variable name" Dim 15 Jan 2012 - 22:22 | |
| heu....
bein peut-être en analysant la suite aprés le 10
| |
|
| |
JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: erreur : "Illégal variable name" Dim 15 Jan 2012 - 22:33 | |
| Si tu as ifa=10 tout seul sur la ligne, comment vas-tu décréter que c'est if a=10 ? en analysant la suite du programme ? bon courage !
Regarde les programmes d'analyse de sources que nous avons fait avec Nardo pour isoler les mots-clés, les variables et les labels, tu verras les difficultés.
De toute façon, mon avis est qu'il est malsain de tolérer les fautes de syntaxe dans un source, et l'analyse est déjà bien assez compliquée comme ça, avec tous les cas particuliers qui peuvent se présenter. | |
|
| |
Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: erreur : "Illégal variable name" Dim 15 Jan 2012 - 22:37 | |
| C'est beaucoup plus simple de mettre directement en bleu par exemple les mot qui seront reconnus comme des mots clés et en une autre couleur ce qui ne l'est pas. | |
|
| |
exdragon
Nombre de messages : 601 Date d'inscription : 05/01/2012
| Sujet: Re: erreur : "Illégal variable name" Dim 15 Jan 2012 - 22:52 | |
| - Citation :
- De toute façon, mon avis est qu'il est malsain de tolérer les fautes de syntaxe dans un source
tu as raison, mais comment faire ça, à part analyser la ligne caractère par caractère. d'ailleurs on dirait que c'est ce que fait panoramic (enfin je sais pas) parce que si j'écris : 'scene2D 1: c'est la scene du jeu il le met en rose pour commentaire mais au RUN il détecte une faute à cause de la présence du scene2D dans le commentaire. La meilleure solution c'est sûr, c'est de coloriser les mots clefs !!! | |
|
| |
JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: erreur : "Illégal variable name" Dim 15 Jan 2012 - 22:56 | |
| Evidemment la coloration syntaxique! mais ça ça existe déjà dans l'éditeur. Ce n'est pas facile si des mots-clés se retrouvent dans les commentaires, il peut y avoir un petit bémol de temps en temps, l'essentiel c'est que ce soit interprété correctement à l'exécution. | |
|
| |
exdragon
Nombre de messages : 601 Date d'inscription : 05/01/2012
| Sujet: Re: erreur : "Illégal variable name" Dim 15 Jan 2012 - 23:12 | |
| Oui, c'est vrai que ça existe dans l'editeur, mais ce que je disais au début c'est de pouvoir lancer un code même si la parenthèse est collée au if ou sinon détecter ça au moment de l'édition mais là c'est plus dur.
En tous cas, vous êtes d'accord je pense qu'un débutant ou même une faute d'attention et hop la parenthèse est vite collée au if.
| |
|
| |
Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: erreur : "Illégal variable name" Dim 15 Jan 2012 - 23:32 | |
| Et après avoir cherché pendant des heures, il ne fera plus l'erreur !! ^^ Non sérieux, si le contrôle syntaxique marche bien dans l'éditeur, le débutant verra bien que la couleur n'est pas bonne (IFA resterait de la couleur des variables et non dans celle des instructions) | |
|
| |
exdragon
Nombre de messages : 601 Date d'inscription : 05/01/2012
| Sujet: Re: erreur : "Illégal variable name" Dim 15 Jan 2012 - 23:39 | |
| Oui c'est juste ce que tu dis^^
Mais dans le cas de if(...) il a compté juste mais a fait l'erreur au lancement. C'est pour minimiser les erreurs au lancement que je dis ça car souvent quand y en a trop pour un premier programme par exemple ça décourage les débutants en programmation.
| |
|
| |
Contenu sponsorisé
| Sujet: Re: erreur : "Illégal variable name" | |
| |
|
| |
| erreur : "Illégal variable name" | |
|