Novembre 2024 | Lun | Mar | Mer | Jeu | Ven | Sam | Dim |
---|
| | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | | Calendrier |
|
|
| nom des variables systèmes | |
| | Auteur | Message |
---|
Invité Invité
| Sujet: nom des variables systèmes Sam 1 Mai 2010 - 0:11 | |
| En voulant reprendre un programme que j'ai laissé de côté quelques jours, je ma suis retrouvé avec au départ de mon programme, l'erreur suivante: Nom déjà défini. le début du programme est le suivant: - Code:
-
error_french width 0,1000:height 0,900
dim Grid_col(30) dim Grid_line(20) quand j'inverse les deux dernières lignes, j'ai le même message: pour Grid_col et Grid_line. Je ne sais pas si c'est un bug, ou l'utilisation de variable déjà définies. Si c'est le deuxième cas, il serait bon de connaitre le nom de ces variables, pour éviter leur emploi. Merci |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: nom des variables systèmes Sam 1 Mai 2010 - 0:20 | |
| A ma connaissance, les seuls noms réservés sont les noms des mots-clés de Panoramic. Si je lance ton bout de programme ci-dessus, ça ne provoque aucune erreur.
Ca doit être toi qui réutilises ces noms quelque part dans la suite de ton programme ? | |
| | | Invité Invité
| Sujet: Re: nom des variables systèmes Sam 1 Mai 2010 - 0:27 | |
| Il y a vraiment quelque chose de bizarre. Si je retire le reste du programme, il n'y a plus d'erreur. les variables déclarées: - Code:
-
error_french width 0,1000:height 0,900
dim Grid_col(30) dim Grid_line(20)
dim Grid_haut(30) , Grid_larg(20) , Grid% , Grid_creat$(20,30) rem " encre fond texte n° couleur dim Grid_ink$(20,30) , Grid_Surf$(20,30), rouge% , vert% , bleu% ,Grid_couleur%
Si maintenant, en ligne 5: dim Gride_col(30) ou dim Grid-cole(30) ou Gride_cole(30), j'ai le même message. Je n'y comprend plus rien. |
| | | Invité Invité
| Sujet: Re: nom des variables systèmes Sam 1 Mai 2010 - 0:32 | |
| Je suis en train de regarder. Il n'y a aucune correspondance avec le reste. Mais je vais arréter ce soir, pour revoir avec des yeux neufs demain. Si il faut je coderais avec le programme de débogage que j'ai fait. Il faut parfois avoir l'esprit libre pour bien voir. Merci d'avoir voulu regarder, ça me gène pas de mettre le reste du programme, mais je me dois de faire des efforts pour comprendre moi aussi. |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: nom des variables systèmes Sam 1 Mai 2010 - 0:33 | |
| J'avoue que je ne comprends pas bien, j'essaie le bout de code ci-dessus, pas d'erreur, et en modifiant comme tu dis, pas d'erreur non plus...
L'erreur n'apparaît que si on refait à la suite un dim avec un des noms déjà utilisés, par exemple dim Grid_col | |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: nom des variables systèmes Sam 1 Mai 2010 - 0:34 | |
| Ah, on s'est croisés cosmos. Bon, bonne nuit quand même ! | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: nom des variables systèmes Sam 1 Mai 2010 - 1:09 | |
| J'ai essayé ton bout de programme, et voici le résultat. Tel quel, pas de problème. Tu dis: - Citation :
Si maintenant, en ligne 5: dim Gride_col(30) ou dim Grid-cole(30) ou Gride_cole(30), j'ai le même message.
Première possibilité: pas de problème. Deuxième possibilité: erreur (27)Nom de varoable incorrect. Line 5." car tu as mis un "-" à la place du "_" Troisième possiblilté: erreur "Instruction inconnue" car tu as omis "dim". En ajoutant dim devant, aucun problème. Donc, à la faute de frappe près dans la deuxième possibilité, je ne vois pas ce qui peut clocher. Je penche pour quelque chose plus loin dans le programme. Fais ceci: - Code:
-
error_french width 0,1000:height 0,900
dim Grid_col(30) dim Grid_line(20)
dim Gride_col(30) dim Grid_haut(30) , Grid_larg(20) , Grid% , Grid_creat$(20,30) rem " encre fond texte n° couleur dim Grid_ink$(20,30) , Grid_Surf$(20,30), rouge% , vert% , bleu% ,Grid_couleur%
message "Ici, tout est OK" end
Comme tu vois, j'ai ajouté ta première suggestion. Exécute, et tu verras le message normal s'afficher; il n'y a pas d'erreur. Il en est de même si dim gride_haut(30) remplace dim_haut(30). Je ne vois pas d'où pourrait venir un problème. | |
| | | Invité Invité
| Sujet: Re: nom des variables systèmes Sam 1 Mai 2010 - 8:43 | |
| programme modifié depuis les remarques faites plus bas. Ajout de contrôle touche pour réflexionancienne demande:Merci bien. J'ai mis en place mon débogueur, et j'ai vu qu'il manquait un <RETURN> suite à un label. Mais maintenant je me trouve avec une autre erreur: (28) variable DIM non déclarée line 33 Or elle est déclarée, et si le DIM est déplacée juste avant d'être utilisée, j'ai la même erreur. Je mets mon programme (de départ, vu que je le construit) en ligne. - Code:
-
' essai de faire un memo en picture avec lignage error_french width 0,1000:height 0,900
dim Grid_col(50) dim Grid_line(50)
dim Grid_haut(30) dim Grid_larg(20) dim Grid% , Grid_creat$(20,30) dim Grid_ink$(20,30) dim Grid_Surf$(20,30) dim rouge% , vert% , bleu% ,Grid_couleur% , Grid_touche%
label grid_r , grid_v , grid_b , grid_w , grid_n , grid_g , grid_j , grid_o label grid_p , grid_l , grid_m
label cumul_largeur , Grid_couleur , Grid_touche
dim a% ,h%,v%,a$ picture 1 :top 1,50:width 1,800:height 1,800:font_name 1,"Bitstream Ver Sans Mono":font_size 1,10 2d_target_is 1:2d_pen_color 214,211,247 :font_bold 1 print_target_is 1 on_click 1,Grid_touche
data 20,50,70,70,50,80,70,70,70,70 for a%=1 to 20: Grid_larg(a%)=70:next a% for a%=1 to 10:read v%:Grid_larg(a%)=v%:next a%
gosub cumul_largeur
for a%=2 to 30:Grid_haut(a%)=25:next a%
Grid_col(1) =20 :' hauteur colonne 1 for a%=2 to 30:Grid_col(a%)=Grid_col(a%-1)+25:next a% for a%=1 to 30:2d_line 1,Grid_col(a%),800,Grid_col(a%):next a%
for a%=1 to 20 Grid_creat$(a%,1)=chr$(a%+64) Grid%=(Grid_line(a%)-Grid_line(a%-1))/2-5 print_locate Grid_line(a%-1)+Grid%,Grid_col(0)+Grid_col(1)-15:print Grid_creat$(a%,1) next a%
Grid_creat$(2,3)="case:2,3":Grid_surf$(2,3)="J":Grid_ink$(2,3)="B" Grid_creat$(5,8)="case:5,8":Grid_surf$(5,8)="N":Grid_ink$(5,8)="R"
for h%=1 to 20 for v%=2 to 30 if Grid_creat$(h%,v%)<>"" Grid%=(Grid_line(h%)-Grid_line(h%-1))+2 a$=grid_surf$(h%,v%):gosub Grid_couleur:2d_fill_color rouge%,vert%,bleu% 2d_rectangle Grid_Line(h%) , Grid_col(v%), Grid_Line(h%+1)+1 , Grid_col(v%+1)+1 a$=Grid_ink$(h%,v%) :gosub Grid_couleur font_color 1,rouge%,vert%,bleu% print_locate Grid_Line(h%)+2,Grid_col(v%)+5:print Grid_creat$(h%,v%) end_if next v% next h%
END:' ** ' ============================================================================== cumul_largeur: for a%=1 to 20:Grid_line(a%)=Grid_line(a%-1)+Grid_larg(a%):next a% for a%=1 to 20:2d_line Grid_line(a%),1,Grid_line(a%),800:next a% return ' ============================================================================== grid_couleur: Grid_couleur%=asc(upper$(a$)) SELECT Grid_couleur% CASE 82:GOSUB Grid_r :' rouge CASE 86:GOSUB Grid_v :' vert CASE 66:Gosub Grid_b :' bleu CASE 87:GOSUB Grid_W :' blanc soit WHITE CASE 78:GOSUB Grid_N :' noir CASE 71:GOSUB Grid_g :' gris CASE 74:GOSUB Grid_j :' jaune CASE 79:GOSUB Grid_O :' orange CASE 80:GOSUB Grid_P :' rose soit PINK CASE 77:GOSUB Grid_M :' marron CASE 76:GOSUB Grid_L :' violet soit LILAS END_SELECT return ' ============================================================================== grid_r: rouge%=255:vert%=0:bleu%=0 return ' ============================================================================== grid_v: rouge%=0:vert%=255:bleu%=0 return ' ============================================================================== grid_b: rouge%=0:vert%=0:bleu%=255 return ' ============================================================================== grid_w: rouge%=255:vert%=255:bleu%=255 return ' ============================================================================== grid_n: rouge%=0:vert%=0:bleu%=0 return ' ============================================================================== grid_g: rouge%=180:vert%=180:bleu%=180 return ' ==============================================================================
grid_j: rouge%=255:vert%=255:bleu%=0 return ' ============================================================================== grid_o: rouge%=255:vert%=180:bleu%=0 return ' ============================================================================== grid_p: rouge%=255:vert%=210:bleu%=255 return ' ============================================================================== grid_l: rouge%=255:vert%=100:bleu%=255 return ' ============================================================================== grid_m: rouge%=190:vert%=110:bleu%=0 return
' ============================================================================== Grid_touche: Grid_touche%=key_down_code rem "contrôle de direction avec les flèches de 37 à 40" if Grid_touche%>36 and Grid_touche%<41 message Grid_touche% repeat:until key_up_code=Grid_touche% end_if return Le problème est que je dois partir maintenant, il faudra que je revienne plus tard. Merci quant même
Dernière édition par cosmos70 le Sam 1 Mai 2010 - 11:33, édité 1 fois |
| | | Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: nom des variables systèmes Sam 1 Mai 2010 - 9:24 | |
| J'ai du mal à piger, mais j'ai une piste:
Mets un END à la ligne 34 après Grid_col(1) =20 :' hauteur colonne 1
Cela va peut_être t'éclairer.
A+ | |
| | | Invité Invité
| Sujet: Re: nom des variables systèmes Sam 1 Mai 2010 - 9:47 | |
| Bonjour Jean-Claude. Je suis sur le EEEPC et j'ai pas le programme ici. Il y ait le END. Le programme fonctionnait jusqu'à ce que je décide de rajouter un tableau pour la largeur de chaque colonne et un pour chaque ligne, afin de pouvoir modifier les colonnes ou les lignes (auparavent je n'avais que le cumul pour gagner du temps lors de l'affichage d'une cellule).
En tout cas, une chose n'est pas normal, et j'ai pu m'en rendre compte avec les lignes de débogage, il y a un problème avec la reconnaissance des numéros de lignes en cas d'erreur.
Ce soir, je reconstruirais le programme d'une autre façon, et je rendrais les ligne de départ de traçage en appel de sous programme (après le END). Peut-être que cela résoudera le problème.
Mais cela me semble bizarre, qu'il y ait ce type de problème. Je ne comprends pas. On a un spécialiste avec Klaus (quand je vois ce qu'il est capable de faire avec ces DLL). Peut-être qu'il aura l'occasion de me donner une bonne leçon (là je ne vois pas clair sur ce que je fais) @+ |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: nom des variables systèmes Sam 1 Mai 2010 - 9:50 | |
| Eh cosmos, tu n'es pas bien réveillé ? c'est vrai, c'est le 1er mai...
Jack a raison, variable non déclarée ligne 33. Et que vois-je ligne 5: dim Gril_col(50) ...
Tu pensais peut-être au barbecue de cet après-midi ? | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: nom des variables systèmes Sam 1 Mai 2010 - 10:06 | |
| Bien trouvé, JL35. C'est bien cette faute de frappe qui pose problème.
Cela montre qu'il est important de donner le programme entier pour résoudre un problème, même s'il est grand, car dans le petit extrait, remanié de surcroit, on ne pouvait pas constater l'anomalie. | |
| | | Invité Invité
| Sujet: Re: nom des variables systèmes Sam 1 Mai 2010 - 10:16 | |
| "putain", c'est pas possible que j'en sois là. Comme quoi être à plusieurs pour regarder une chose, ça a des avantages. Merci bien les gars. @jl35: le barbecue par ce temps là!!! (à vrai dire je suis plus que fatigué de courir partout) |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: nom des variables systèmes Sam 1 Mai 2010 - 10:24 | |
| Je crois que tu as sérieusement besoin de vacances cosmos... allez, prends-toi 8 jours pour décompresser ! (tiens moi demain soir je pars à Venise pour la semaine, sans panoramic). | |
| | | Invité Invité
| Sujet: Re: nom des variables systèmes Sam 1 Mai 2010 - 11:28 | |
| vainard! (ce n'est vraiment dans mes moyens) Profite-en bien surtout. Je porte une modification d'ici 5 mn dans le programme plus haut.
La question est: ne pensez-vous pas qu'il faudrait une possibilité d'annuler le code d'une touche lorsqu'on s'en est servi?
Dans le programme je voudrais choisir une cellule soit avec la souris, soit avec les touches. Or lorsque je tape sur une touche, que je l'ai traité, le code reste en mémoire, et si je veux cliquer ailleurs, j'ai encore ce code qui me posera problème. Il y a peut-être une autre solution, mais je crois qu'il serait bien que cela soit possible. |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: nom des variables systèmes Sam 1 Mai 2010 - 12:21 | |
| Sans approfondir plus, je vois un problème d'utilisation de la variable Key_Up_Code dans ton programme. Voici ce que dit l'aide: - Citation :
- The system variable KEY_UP_CODE returns the code of the key the user is releasing. It is useable only in the treatment of event On_Key_Up happening on a system object.
Je vois deux problèmes. D'abord, tu l'as utilisé dans un évènement on_click, et cette variable par dévinition n'est pas utilisable dans ce context. Ensuite, c'est une variable, et elle garde certainement cette valeur jusqu'à ce qu'elle soit remplacée par un nouvel évènement on_key_up. Je ne pense pas que tu puisses la mettre à zéro, mais il y a une solution: crée une variable tampon du type dim last_key% et fais last_key = on_key_up dans ton traitement. Tu peux ensuite conditionner ton traitement ainsi: - Citation :
dim last_key% ... rem ici, on veut traiter la touche if last_key<>on_key_up last_key = on_key_up rem traiter cette touche ici ... end_if
Bonne chance ! | |
| | | Invité Invité
| Sujet: Re: nom des variables systèmes Sam 1 Mai 2010 - 12:56 | |
| bravo, j'étais pas au bout de mes idées, et je savais qu'il étais possible de faire autrement, mais je viens ici, lorsque je passe devant mon ordi, entre 2 / 3 choses, et j'ai pas le temps d'appronfondir. J'ai utilisé le même système dans le programme que j'utilise pour déboguer, pour connaitre les précédents sous programmes appelés - Code:
-
labelle3$=labelle2$ labelle2$=labelle1$ labelle1$=labelle$ A chaque passage," j'antériorise" la variable. Mais en dehors de ça, il serait je crois intéressant de pouvoir effacer cette variable: key_dow_code (ou up) |
| | | Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: nom des variables systèmes Sam 1 Mai 2010 - 17:24 | |
| Mais qu'est qu'on peut se prendre la tête, des fois, sur un petit rien...... Content que tu ais la solution, Y voit encore clair le JL35... | |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: nom des variables systèmes Sam 1 Mai 2010 - 18:16 | |
| Le JL35 y commence à être un peu dépassé par les ... événements ... Trop forts pour moi, les Klaus et autres cosmos. | |
| | | Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: nom des variables systèmes Sam 1 Mai 2010 - 18:20 | |
| C'est vrai que çà deviens ardu.... | |
| | | Contenu sponsorisé
| Sujet: Re: nom des variables systèmes | |
| |
| | | | nom des variables systèmes | |
|
Sujets similaires | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |