FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  FAQFAQ  RechercherRechercher  S'enregistrerS'enregistrer  MembresMembres  GroupesGroupes  Connexion  
Derniers sujets
» EPP_V01 éditeur pour Panoramic
par Minibug Hier à 21:03

» [RESOLU] Quelle ligne est sélectionnée dans SYNEDIT ?
par Jean Claude Hier à 21:02

» PanExpress : l'éditeur Panoramic avec création d'objet
par Minibug Hier à 15:58

» Planétarium virtuel.
par Pedro Alvarez Hier à 9:28

» Demande pour Jack concernant PanExpress
par Marc Mar 18 Sep 2018 - 23:56

» Calculatrice
par joeeee2017 Mar 18 Sep 2018 - 9:35

» Petit coucou en passant !
par Minibug Dim 16 Sep 2018 - 15:03

» bug SEVERE fnc+sub : variables globales corrompus
par silverman Dim 16 Sep 2018 - 13:38

» Verrouiller un form en avant plan
par silverman Dim 16 Sep 2018 - 12:50

» Fin de l'aventure.
par Pedro Alvarez Sam 15 Sep 2018 - 18:16

» Demande d'explications Sur File_Write & File_writeln
par Jack Sam 15 Sep 2018 - 17:26

» MEMO avec des possibilités de commande
par Oscaribout Mer 12 Sep 2018 - 1:06

» La théorie du chaos
par jean_debord Mar 11 Sep 2018 - 9:30

» Orbites de l’ensemble de Mandelbrot
par Jean Claude Lun 10 Sep 2018 - 21:08

» Version instantanée V 0.9.29i2 du 4/09/2018
par silverman Mer 5 Sep 2018 - 10:15

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Septembre 2018
LunMarMerJeuVenSamDim
     12
3456789
10111213141516
17181920212223
24252627282930
CalendrierCalendrier

Partagez | 
 

 [Résolu] Un prg Panoramic s'abime avec le temps (erreur)

Aller en bas 
AuteurMessage
Oscaribout



Nombre de messages : 195
Date d'inscription : 29/12/2016

MessageSujet: [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
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
papydall

avatar

Nombre de messages : 5990
Age : 68
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

MessageSujet: 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.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
Oscaribout



Nombre de messages : 195
Date d'inscription : 29/12/2016

MessageSujet: 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
' ================

Revenir en haut Aller en bas
Voir le profil de l'utilisateur
papydall

avatar

Nombre de messages : 5990
Age : 68
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

MessageSujet: 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 !
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
Oscaribout



Nombre de messages : 195
Date d'inscription : 29/12/2016

MessageSujet: 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 bounce

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.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Contenu sponsorisé




MessageSujet: Re: [Résolu] Un prg Panoramic s'abime avec le temps (erreur)   

Revenir en haut Aller en bas
 
[Résolu] Un prg Panoramic s'abime avec le temps (erreur)
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» [Résolu] Pare feu Zone Alarm compatible avec Windows 7 ?
» Résolu : Assistant de voies de circulation avec l'affichage des panneaux routiers Nuvi50
» [Résolu] Aide... j'ai un souci avec mon PC
» [résolu]Problème menu déroulant avec Chrome
» [RÉSOLU] Lecture de fichiers Open Office avec Word

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: Présentation et bavardage-
Sauter vers: