Oscaribout
Nombre de messages : 471 Date d'inscription : 29/12/2016
| Sujet: [Résolu] Un prg Panoramic s'abime avec le temps (erreur) Lun 25 Juin 2018 - 1:48 | |
| Bonsoir, Théoriquement je devrais mettre ceci dans les bugs. Mais cela n'aura aucun effet car le résultat ne se produit qu'au bout d'une dizaine/quinzaine de jours de travail. Donc quelque soit le code, personne ne pourra voir ce qui se passe. C'est un code qui fonctionne normalement. Il y a une progression dans la construction de celui-ci, et voila se qui se passe maintenant. Vous remarquez que la variable: BOX_GrilStyleProgr% est lu plusieurs fois avant d'arriver à la ligne 632. Dans l'image, on la retrouve en ligne: 610 - 614 - 626 - 629. Et pourtant en 632, l'objet n'est plus reconnu alors qu'à aucun moment il n'a été supprimé. Que peut-on faire? Rien du tout, mais je présente le cas pour que Jack voit que le problème existe. Je doute qu'il trouve le problème, je comprend que ce n'est pas simple.
Dernière édition par Oscaribout le Lun 25 Juin 2018 - 13:49, édité 1 fois | |
|
papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: [Résolu] Un prg Panoramic s'abime avec le temps (erreur) Lun 25 Juin 2018 - 3:14 | |
| Vérifie la variable BOX_GrilStyleProgr%. Vérifie qu’en cours de la boucle, elle ne prend pas une valeur hors limite. Vérifie aussi la variable line% En affichant ces valeurs ou en ajoutant un STOP dans la boucle, tu peux suivre le déroulement de la boucle. | |
|
Oscaribout
Nombre de messages : 471 Date d'inscription : 29/12/2016
| Sujet: Re: [Résolu] Un prg Panoramic s'abime avec le temps (erreur) Lun 25 Juin 2018 - 8:43 | |
| Bon j'ai fait les vérifications que tu demandes, et voici la constatation: Je mets la partie du code, il s'agit de la boucle FOR/NEXT, et une fonction: BOX_Tab%() C'est au retour de cette fonction que la valeur est modifiée, et là il y a un problème, car rien ne le permet! - Code:
-
for v% = 1 to line% message BOX_GrilStyleProgr% GRID_WRITE BOX_GrilStyleProgr%,7,10,le% ' ^^^^^^^^^^^^^^^^^^^ a$ = upper$(GRID_READ$(BOX_GrilStyleProgr%,v%,1)) ' ^^^^^^^^^^^^^^^^^^^ txt$ = GRID_READ$(BOX_GrilStyleProgr%,v%,4) ' ^^^^^^^^^^^^^^^^^^^ ' .................position virgule............ rem @VIR: " TOUJOURS UN NOMBRE " if a$ = "@VAR" txt$ = GRID_READ$(BOX_GrilStyleProgr%,v%,5) :' entier ' ^^^^^^^^^^^^^^^^^^^ decimal$ = GRID_READ$(BOX_GrilStyleProgr%,v%,6) ' ^^^^^^^^^^^^^^^^^^^ BOX_tab%(txt$,decimal$,x%,y%,BOX_Picture_Style%,BOX_GrilStyleProgr%) :' il y a ici à un appel à une fonction ajoutée plus bas ' ^^^^^^^^^^^^^^^^^^^ ' au retour de la fonction, BOX_GrilStyleProgr% qui vaut 110, devient 85 POURQUOI? rem " ICI RETOUR DE L'ERREUR 3 end_if if a$ = "@VIR" x% = GRID_READ$(BOX_GrilStyleProgr%,v%,2) ' ^^^^^^^^^^^^^^^^^^^ txt$ = GRID_READ$(BOX_GrilStyleProgr%,v%,5) ' ^^^^^^^^^^^^^^^^^^^ decimal$ = GRID_READ$(BOX_GrilStyleProgr%,v%,6) ' ^^^^^^^^^^^^^^^^^^^ x1% = BOX_special_Virgule%(txt$,x%,y%,decimal$,BOX_Picture_Style% , no%) :' un autre appel rem dans "BOX_special_Virgule%(txt$,x%,y%,decimal$,BOX_Picture_Style% , no%)" '} il y a aucun rien avec "GridStyleProgr%" if flag% = -1 then flag%=1 : x0% = x1% x% = val(GRID_READ$(BOX_GrilStyleProgr%,8,10) ) ' ^^^^^^^^^^^^^^^^^^^ end_if ' .............................................................. if left$(a$,2) = "@_" if flag%=-1 2d_line x0% , val(GRID_READ$(BOX_GrilStyleProgr%,2,10))+ligne% +l% , x% , val(GRID_READ$(BOX_GrilStyleProgr%,2,10))+ligne% +l% ' ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ' cela devrait-être bon. A contrôler end_if if right$(a$,1) = "/" 2d_pen_width 2 2d_line x0% , val(GRID_READ$(no%,2,10))+ligne% +l% , x% , val(GRID_READ$(no%,2,10))+ligne% +l% flag%=0 : 2d_pen_width 1 else color% = asc(upper$(right$(a$,1))) flag% = -1 : x0%=x% select color% case 66 : 2d_pen_color 0,0,255 :' bleu case 71 : 2d_pen_color 0,255,0 :' vert case 74 : 2d_pen_color 255,255,0 :' jaune case 77 : 2d_pen_color 220,150,60:' marron case 78 : 2d_pen_color 0,0,0 :' noir case 79 : 2d_pen_color 250,180,0 :' orange case 82 : 2d_pen_color 255,0,0 :' rouge case 86 : 2d_pen_color 185,50,240:' violet end_select GRID_WRITE BOX_GrilStyleProgr%,10,10,x% ' ^^^^^^^^^^^^^^^^^^^ end_if end_if next v% STOP :' l'erreur se produit avant d'arriver à la sortie de la boucle ' @@@@@@@@@@@@@@@@@ sortie du sous_programme ... ... rem " au retour BOX_GrilStyleProgr% est modifié, pourquoi? fnc BOX_tab%(n$,de$,x%,y%,pict%,gri%) message "gri%=" + str$(gri%) :' reçu 110 ce qui est normal dim_local le%,p%,a$,re$ , i% , space% if left$(n$,1) = "_" then x% = x%+text_width("2",pict%):n$ = right_pos$(n$,2) le% = len(n$) : p%=int( le%/3) : p% =le%-p%*3 space% = text_width("2",pict%) /2.5 : a$ = left$(n$,p%) print_locate x%,y% : print a$+" " x% = x% + text_width(a$,pict%)+space% : a$ = right_pos$(n$,p%+1) : le% = le%-p% for i% = 1 to le% step 3 re$ = mid$(a$,i%,3) : print_locate x%,y% if i%+3 < le% then print re$+" ":else:print re$ x% = x% + text_width(re$,pict%)+space% next i% print_locate x%-space%,20 : print de$ result x%-space% + text_width(de$,pict%) grid_write gri%,10,10,x% ' ^^^^ rem " LA FONCTION MODIFIE AU RETOUR LA VALEUR DE BOX_GrilStyleProgr% " end_fnc ' ================
| |
|
papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: [Résolu] Un prg Panoramic s'abime avec le temps (erreur) Lun 25 Juin 2018 - 13:05 | |
| Ligne 16 - Code:
-
BOX_tab%(txt$,decimal$,x%,y%,BOX_Picture_Style%,BOX_GrilStyleProgr%) :' il y a ici à un appel à une fonction ajoutée plus bas
On ne peut pas appeler une FNC de cette manière. Comme une FNC retourne une valeur, l’appel doit être par exemple - Code:
-
Bidon% = BOX_tab%(txt$,decimal$,x%,y%,BOX_Picture_Style%,BOX_GrilStyleProgr%)
Ceci affectera le retour de la FNC à la variable Bidon% La FNC BOX_tab%(txt$,decimal$,x%,y%,BOX_Picture_Style%,BOX_GrilStyleProgr%) retourne la valeur de la ligne 85 - Code:
-
result x%-space% + text_width(de$,pict%)
Or tu fais un appel à la fonction en ligne 16 sans affecter la valeur de retour à aucune variable. Dans ce cas la FNC se contente d’exécuter les instructions qu’elle contient et ne retourne rien. Bon, j'espère que je n'ai pas raconté des bêtises, sait-on jamais ! | |
|
Oscaribout
Nombre de messages : 471 Date d'inscription : 29/12/2016
| Sujet: Re: [Résolu] Un prg Panoramic s'abime avec le temps (erreur) Lun 25 Juin 2018 - 13:48 | |
| - Papydall a écrit:
- On ne peut pas appeler une FNC de cette manière.
Dès que j'ai lu cela, j'ai compris tout de suite l'erreur! Bravo Papydall Que c'est-il passé?, J'ai mis au point cette fonction dans un autre onglet, et ensuite reportée. Au départ c'était une sub, et j'ai cherché plutôt à savoir où il pouvait y avoir une modification de la variable, sans voir le problème. Au départ je n'avais pas besoin du retour. Merci. Je mets en résolu. | |
|
Contenu sponsorisé
| Sujet: Re: [Résolu] Un prg Panoramic s'abime avec le temps (erreur) | |
| |
|