FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  MembresMembres  Connexion  
Derniers sujets
» Editeur EliP 6 : Le Tiny éditeur avec 25 onglets de travail
 IF END_IF  qui ne IF pas ; bizarre non  Emptypar papydall Hier à 16:57

» PANORAMIC V 1
 IF END_IF  qui ne IF pas ; bizarre non  Emptypar papydall Hier à 3:22

» select intégrés [résolu]
 IF END_IF  qui ne IF pas ; bizarre non  Emptypar jjn4 Mer 8 Mai 2024 - 17:00

» number_mouse_up
 IF END_IF  qui ne IF pas ; bizarre non  Emptypar jjn4 Mer 8 Mai 2024 - 11:59

» Aide de PANORAMIC
 IF END_IF  qui ne IF pas ; bizarre non  Emptypar jjn4 Mer 8 Mai 2024 - 11:16

» trop de fichiers en cours
 IF END_IF  qui ne IF pas ; bizarre non  Emptypar lepetitmarocain Mer 8 Mai 2024 - 10:43

» Je teste PANORAMIC V 1 beta 1
 IF END_IF  qui ne IF pas ; bizarre non  Emptypar papydall Mer 8 Mai 2024 - 4:17

» bouton dans autre form que 0
 IF END_IF  qui ne IF pas ; bizarre non  Emptypar leclode Lun 6 Mai 2024 - 13:59

» KGF_dll - nouvelles versions
 IF END_IF  qui ne IF pas ; bizarre non  Emptypar Klaus Lun 6 Mai 2024 - 11:41

» Gestion d'un système client-serveur.
 IF END_IF  qui ne IF pas ; bizarre non  Emptypar Klaus Lun 6 Mai 2024 - 10:23

» @Jack
 IF END_IF  qui ne IF pas ; bizarre non  Emptypar Jack Mar 30 Avr 2024 - 20:40

» Une calculatrice en une ligne de programme
 IF END_IF  qui ne IF pas ; bizarre non  Emptypar jean_debord Dim 28 Avr 2024 - 8:47

» Form(résolu)
 IF END_IF  qui ne IF pas ; bizarre non  Emptypar leclode Sam 27 Avr 2024 - 17:59

» Bataille navale SM
 IF END_IF  qui ne IF pas ; bizarre non  Emptypar jjn4 Ven 26 Avr 2024 - 17:39

» Les maths du crocodile
 IF END_IF  qui ne IF pas ; bizarre non  Emptypar jean_debord Jeu 25 Avr 2024 - 10:37

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Mai 2024
LunMarMerJeuVenSamDim
  12345
6789101112
13141516171819
20212223242526
2728293031  
CalendrierCalendrier
Le deal à ne pas rater :
Cartes Pokémon 151 : où trouver le coffret Collection Alakazam-ex ?
Voir le deal

 

  IF END_IF qui ne IF pas ; bizarre non

Aller en bas 
4 participants
AuteurMessage
enform




Nombre de messages : 42
Date d'inscription : 18/05/2011

 IF END_IF  qui ne IF pas ; bizarre non  Empty
MessageSujet: IF END_IF qui ne IF pas ; bizarre non     IF END_IF  qui ne IF pas ; bizarre non  EmptyDim 22 Mai 2011 - 19:41


Salut,

Quelqu'un aurait une bonne idée ?
cette fois IF ne veut pas marcher .
le code gosub lit_cars remplit une variable a$ avec mid$(ln$,signe%,1) en boucle

gosub lit_cars : ' 'num_obj$' pour nom ,etc
num_obj$ = trim$(a$)

ITEM_ADD 3 ,"var " + num_obj$

if num_obj$ = "0"

stop

traitement prévu ...
end_if

le code est utlisé une 1ere fois pour lire une ligne ,c'est ok ;
apres avoit lu une autre ligne item_add affiche la valeur de la var , 0 (zero)
et donc on devrait stopper . Bah non .
select case avec val(num_obj$) non plus .
contre les fautes de frappe , j'ai copié-collé num_obj$

en panne , merci d'avance .

enform



Revenir en haut Aller en bas
jimx78

jimx78


Nombre de messages : 241
Age : 32
Localisation : Yvelines
Date d'inscription : 24/05/2010

 IF END_IF  qui ne IF pas ; bizarre non  Empty
MessageSujet: Re: IF END_IF qui ne IF pas ; bizarre non     IF END_IF  qui ne IF pas ; bizarre non  EmptyDim 22 Mai 2011 - 22:32

salut enform,

Le plus simple serai de mettre le code complet. Voici des idées:

Tu a mis "le traitement prévu" qui est situé après le stop. Donc c'est normal que cela ne fonctionne pas.

Ou num_obj$ ne contient pas le string "0"

code a tester:
Code:
message num_obj$ : ' Rajoute cette ligne
if num_obj$ = "0"

stop

' traitement prévu ...
end_if

Si cela t'aide tant mieux sinon je suis dsl et bon courage Very Happy
Revenir en haut Aller en bas
enform




Nombre de messages : 42
Date d'inscription : 18/05/2011

 IF END_IF  qui ne IF pas ; bizarre non  Empty
MessageSujet: Re: IF END_IF qui ne IF pas ; bizarre non     IF END_IF  qui ne IF pas ; bizarre non  EmptyDim 22 Mai 2011 - 23:01


Salut jimx78

non , ce qui ne marchait pas c'est le STOP lui-meme , c'est pour ça que j'ai mis 'code prévu' ,
quelconque .
tu vois j'affichais la var avant ,c'était ok et le IF avec la meme var ne la voyait pas !
on passait le if end_if en bloc . select case idem .
msg c'est bien aussi mais item_add ça fait listing de débug persistant .
Maitenant ça remarche !, je ne comprends pas : j'ai rajouté une ligne item_add et..... ????

je ne sais plus ! ma tete .....

merci de ton post . Je le stocke ...
A charge de revanche , peut_etre .

Tchao tongue
Revenir en haut Aller en bas
Invité
Invité




 IF END_IF  qui ne IF pas ; bizarre non  Empty
MessageSujet: Re: IF END_IF qui ne IF pas ; bizarre non     IF END_IF  qui ne IF pas ; bizarre non  EmptyLun 23 Mai 2011 - 8:50

Bon je vais répondre, vu qu'on me le demande
Citation :
Regarde le problème d'enform avec le If...End_if qui ne s'execute pas à cause du stop.
et aussi de ce j'ai pensé dès que j'ai vu le problème:
Citation :
Le plus simple serai de mettre le code complet
Oui, j'ai du mal de comprendre quoi que ce soit, vu que je ne comprend pas les explications, et la partie de code qu'on met avec.

Si il y a un problème dans un programme, il faut mettre toute la partie qui correspond avec le problème, qu'on puisse comprendre, et essayer, et là ce n'ai pas le cas. Il ne s'agit pas du jeux du Cluedo, où on doit découvrir des indices, mais de comprendre. De plus je n'ai pas le temps de jouer aux devinettes!

SVP: mettez le code complet. Et aussi je ne suis pas tout seul, et peut-être qu'avec un code complet, la lumière viendra plus vite aux autres.
Revenir en haut Aller en bas
Jicehel

Jicehel


Nombre de messages : 5947
Age : 51
Localisation : 77500
Date d'inscription : 18/04/2011

 IF END_IF  qui ne IF pas ; bizarre non  Empty
MessageSujet: Re: IF END_IF qui ne IF pas ; bizarre non     IF END_IF  qui ne IF pas ; bizarre non  EmptyLun 23 Mai 2011 - 11:11

Je pense que le plus simple serait d'écrire un autre branchement du type

gosub lit_cars : ' 'num_obj$' pour nom ,etc
num_obj$ = trim$(a$)

ITEM_ADD 3 ,"var " + num_obj$

if num_obj$ = "0" then gosub suite
traitement prévu ...
etc...

suite:
Traite le cas du 0
return

(ou selon le programme, utiliser un goto suite et un goto dans suite pour se rebrancher où il faut)

Enfin, je pense que c'est une solution, car il est vrai que le morceau choisi est un peu court pour comprendre vraiment ce que tu veut faire et proposer une solution paliative

Revenir en haut Aller en bas
Invité
Invité




 IF END_IF  qui ne IF pas ; bizarre non  Empty
MessageSujet: Re: IF END_IF qui ne IF pas ; bizarre non     IF END_IF  qui ne IF pas ; bizarre non  EmptyLun 23 Mai 2011 - 13:47

Cela ne sert à rien de tergiverser, la boucle if ... else ... end_if en Panoramic fonctionne sans problème. Je l'utilise tous les jours, même dans des cas spéciaux comme avec le programme que j'ai mis: Mode trace pour Panoramic, qui malgrès le traitement subit aux lignes marche parfaitement.
Exemple, une partie relevé du mode trace d'un programme après la trensformation des lignes:
Code:
q$="117113":gosub q:for a=1 to 100
q$="118114":gosub q:  if gr$(a)="" then exit_for
q$="119115":gosub q:  if gr(a)=0
q$="120116":gosub q:      gauche=gauche+large
q$="121117":gosub q:      a$=gr$(a) :if len(a$)> large then large=len(a$)
q$="122118":gosub q:      goche(a)=gauche*7+15
q$="123119":gosub q:      larg(a)=large*7+15
q$="124120":gosub q:      haut(a)=0
q$="125121":gosub q:  end_if
q$="126122":gosub q:next a
q$="127123":gosub q:' calcul de left en dehors du main-menu
q$="128124":gosub q:for a=1 to 100
q$="129125":gosub q:  if gr$(a)="" then exit_for
q$="130126":gosub q:  if gr(a)=0
q$="131127":gosub q:      choisi=a
q$="132128":gosub q:  else
q$="133129":gosub q:      goche(a)=goche(choisi)

q$="135131":gosub q:  end_if
q$="136132":gosub q:next a
q$="137133":gosub q:' calcul largeur de chaque menu
q$="138134":gosub q:b=0 :large=0
q$="139135":gosub q:for a=1 to 100
q$="140136":gosub q:  if gr$(a)="" then exit_for
q$="141137":gosub q:  if gr(a)>0
q$="142138":gosub q:      if b< gr(a)
q$="143139":gosub q:            b=gr(a)
q$="144140":gosub q:            large=0
q$="145141":gosub q:            for c=2 to 100
q$="146142":gosub q:              if gr$(c)="" then exit_for
q$="147143":gosub q:              if gr(c)=b
q$="148144":gosub q:                  if large<len(gr$(c)) then large=len(gr$(c))
q$="149145":gosub q:              end_if
q$="150146":gosub q:            next c
q$="151147":gosub q:            for c=2 to 100
q$="152148":gosub q:              if gr$(a)="" then exit_for
q$="153149":gosub q:              if gr(c)=b then larg(c)=large*7+15
q$="154150":gosub q:            next c
q$="155151":gosub q:      end_if
q$="156152":gosub q:  end_if
q$="157153":gosub q:next a

Ce qui est en cause peut être le teste d'erreur qui est mal conçu, ou un problème avec le code lui-même. Mais comme on a rien sur celui-ci, que peut-on dire?

Puisque le traçage des lignes et des variables existe par mon programme (les variables pouvant être lu avant la lecture de la ligne, et une fois la ligne lu par le programme), pourquoi ne pas l'utiliser.

Pour ce faire, charger le programme, et faire un exécutable. Dans le programme à tester, ajouter en 1ère ligne: mark_on trace pour forcer le traçage depuis le début ( ou à l'intérieur des lignes après avoir sauté les lignes du programme qui n'ont pas besoin d'être contrôlées), faire un contrôle A et contrôle C pour copier le programme, lancé le programme du traçage. A la lecture des lignes, il suffit de coché le check variable pour voir le contenu au fur et à mesure.
Tout n'est pas pas parfais pour la lecture des variables, pas assez rectrictif, mais je ne trouve pas le temps d'aller au fond des choses pour l'instant.

Sans le programme, je ne peux pas mieux faire!
Revenir en haut Aller en bas
Invité
Invité




 IF END_IF  qui ne IF pas ; bizarre non  Empty
MessageSujet: Re: IF END_IF qui ne IF pas ; bizarre non     IF END_IF  qui ne IF pas ; bizarre non  EmptyLun 23 Mai 2011 - 14:00

je viens de voir que Jack a verrouillé ces jours-ci, vous irez voir sur le forum pour le fonctionnement, et je mets ici la dernière version. Si je trouve le temps de revoir le programme, je referais la rubrique:
Code:
' Panoramic DEBOGAGE  *** Auteur Cosmos70 ***
' modifié le 10 avril 2011
if dir_exists("c:\temp") = 0 then dir_make "C:\temp"
dim a%,b%,c%,a$,b$ ,q ,include% ,flag_include% ,c$ ,v% ,d% ,e% ,labele$,d$ ,e$ ,lig_a%,dim%
dim f$ , dim_er% , dossier_tron$ : dossier_tron$="C:\temp"+chr$(92)
  hide 0
  width 0,700:height 0,screen_y:left 0,200  :caption 0,"DEBOGUEUR.bas" :' mise à hide maintenant
memo 5:width 5,1500: ' obligé de passer par un memo pour copier le presse papier
dlist 3
' file_load 5,"C:\temp\trace.bas"  :hide 5
clipboard_paste 5
' copier depuis le forum, je retire la ligne qui pourrait avoir "Code:"
if count(5)>0
  for a%=1 to 3
      a$=item_read$(5,a%)
      if a$="Code:"
        repeat
            item_delete 5,a%
            a%=a%-1
        until a%=0
        exit_for
      end_if
  next a%
end_if
file_save 5,"C:\temp\trace.bas"
file_load 3,"C:\temp\trace.bas"

' on regarde si chaque ligne ne commence par ":". Normalement ça ne provoque pas d'erreur
' sauf pour la méthode employée
for a%=1 to count(3)
  a$=item_read$(3,a%)
  if left$(trim$(a$),1) =":"
      b%=instr(a$,":")
      a$=left$(a$,b%-1)+mid$(a$,b%+1,len(a$))
      item_delete 3,a%:item_insert 3,a%,a$
  end_if
next a%

' on regarde si le chemin est prévu dans la ligne 1
f$=item_read$(5,1)
if instr(f$,chr$(34))>0
  f$=trim$(mid$(f$,instr(f$,chr$(34))+1,100))
  f$=left$(f$,len(f$)-1) :' pour retirer le guillemet.
  ' maintenant on vérifie que le mot "bas." est absent
  if right$(f$,4)=".bas"
      for a%=len(f$) to 1 step -1
        b$=mid$(f$,a%,1) : if b$=chr$(92) then f$=left$(f$,a%):exit_for
      next a%
  end_if
  if right$(f$,1)<>chr$(92) then f$=f$+chr$(92)
  dir_change f$
end_if

dlist  2
dlist  1
dlist  4 :' nom des includes'    :left 4,300
dlist  6 :' mettre les includes ici, le temps de les intégrer dans 1, afin de pouvoir lire 1 include
        ' compris dans cette include, et qui sera lu dans 1, puisque si cette ligne existe elle
        ' n''est pas encore lu

dlist 100
    ' je mets le label de la procédure, et les dims de départ
item_add 1,"DIM q$ ,dossier_tron$: dossier_tron$=" + chr$(34) + dossier_tron$ + chr$(34) + ": LABEL q,liste_variable,suite_end:gosub liste_variable"

' &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&'
'  voir si #include
  if count(3)> 1
      b%=0 :' pour numéroter les #include
      a%=1
      repeat
        a$=item_read$(3,a%)
        ' je rajoute éventuellement les includes
        if left$(upper$(trim$(a$)),8)="#INCLUDE"
            v%=instr(upper$(a$),"#INCLUDE ")  :b% = b% + 1 :c$ = mid$(a$, v% + 9 , 80) : item_add 4,trim$(a$)
            item_add 1,"' #" + str$(b%) + " dépilé: " + trim$(a$)
            include%=1
            file_add 6, c$ :lig_a%=a%+1
            item_insert 3,a%+1,"' ==== FIN du programme #INCLUDE dépilé: "+c$+"  #"+str$(b%)+" ===="
            for c%=1 to count(6)
              a$=item_read$(6,1) : item_insert 3,lig_a%,a$ : item_delete 6,1:lig_a%=lig_a%+1
            next c%
        else
            item_add 1,a$
        end_if
        a%=a%+1
      until a% > count(3) or scancode=27
  end_if
  item_add 1,""
  file_save 4,dossier_tron$+"list_include.txt"
' &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
' donc à suivre
item_insert 1,2,"timer_off objeTron%+20:delete objeTron%+20" : ' le timer ne sert qu'à passer le END,et est détruit
  ' maintenant il faudrait rechercher tous les DIM et les définir de suite, et mettre les autres en commentaires.
  ' la ligne 1 ne compte pas, elle vient d'être rajouté pour ce programme
  d$="dim " :dim%=0
  for a%=2 to count(1)
      a$=item_read$(1,a%) :  dim_er%=0
      b%=instr(lower$(trim$(a$)),"dim ")
      if b%>0
        dim%=1
        v%= instr(lower$(trim$(a$)),chr$(34))
        if v%>0 and v%<b%
            dim_er%=1
        else
            if v%>0
              dim_er%=1
            end_if
        end_if
      end_if

      if dim_er%=0
        if instr(a$,"' ")>0 and instr(a$,"' ") < b% then dim_er%=1
        if instr(lower$(a$),"rem")>0 and instr(lower$(a$),"rem") < b% then dim_er%=1
      end_if

      if b%>0 and dim_er%=0
        b$=mid$(a$,b%,900)
        c%=instr(b$,":")
        if c%>0
            c$=mid$(b$,c%,900)
            b$=left$(b$,c%-1)
            e$=left$(a$,b%-1)+c$+":' "+left$(b$,c%-1)
            if left$(trim$(e$),1)=":" then e$=mid$(trim$(e$),2,900)
        else
            e$="' "+b$
        end_if
        if len(d$)=4
            d$=d$ + mid$(trim$(b$),5,900)
        else
            d$=d$ + ","+ mid$(trim$(b$),5,900)
        end_if
        item_delete 1,a%
        item_insert 1,a%,e$
      end_if
  next a%
  if dim%=1
      item_insert 1,2,d$ + ":timer objeTron%+20:on_timer objeTron%+20,suite_end:end"
  else
      item_insert 1,2,"timer objeTron%+20:on_timer objeTron%+20,suite_end:end"
  end_if
 
  item_insert 1,3,"suite_end:"
  ' ------------------------------------------------------------
  ' dans d$, on a toutes les variables, donc maintenant il faut les mettre en tableaux
  d$=mid$(d$,4,900)
  clear 2
  repeat
      b%=instr(d$,",")
      if b%>0
        b$=trim$(left$(d$,b%-1))
        if b$<>"" and instr(b$,"(")=0 then item_add 100,b$
        d$=trim$(right$(d$,len(d$)-b%))
        if instr(d$,"(")< instr(d$,",") then d$=mid$(d$,instr(d$,")")+1,900):if left$(d$,1)="," then d$=mid$(d$,2,900)
      else
        b$=d$
        if instr(b$,"(")=0 then item_add 100,b$
      end_if
  until b%=0
  ' je viens de composer le programme

' ----------------------ici on met en list les DIM -----------------------------
  ' je mets les DIM en liste
  rem " recherche des DIM"
  for a%=1 to count(1)
      a$=trim$(item_read$(1,a%))
      if upper$(left$(trim$(a$),4))="DIM "
        a$=trim$(right$(a$,len(a$)-4))
        b%=instr(a$,":")
        if b%>0 then a$=trim$(left$(a$,b%-1))
        b$=a$
      end_if
  next a%
  sort 100
c%=0:include%=0: d%=-3 :b%=0
' \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
' outils de tracage
item_add 2,"error_french : ' Panoramic '"

item_add 2,"  ' ________INITIALISATION de départ_________'"
item_add 2,"  dim objeTron% ,q,trace:objeTron%=9950:trace=objeTron%+22"
item_add 2,"  label q2 , q3 , q4 , q5 , q6 ,q7, q_fin , q_variable , q_sort_controle : dim q% , qd% , q_trace$ , q_trace% ,q_variable% , q_len% ,q_spin% , q_retour_variable% , q_b%, resss%,q_count%,q_tron%,q_fin%, q_rem$,q_rem1$, q_var$, q_trouve%,q_flag%, q_trace1$, q_tr0%,q_tr1%,q_ouvre_ferme"
item_add 2,"  q_rem$=chr$(82)+chr$(69)+chr$(77)+chr$(32): q_rem1$=chr$(39)+chr$(32)"
item_add 2,"  q_var$="+chr$(34)+" <>=/*+-:)(,"+chr$(34)
item_add 2,"  '  ___FORM du bas pour contrôler et voir la ligne___'"
item_add 2,"  form      objeTron%  :width objeTron%,screen_x: height objeTron%,90:top objeTron%,screen_y-110 : border_hide objeTron%"
item_add 2,"                          color objeTron%,214,214,214:command_target_is objeTron%"
item_add 2,"dll_on " + chr$(34) + "C:\TRAVAUX\4_DEV_c\AIDE\KGF_22juin10.dll"+chr$(34)
item_add 2,"  resss% = dll_call2("+chr$(34)+"WindowTopMost"+chr$(34)+",handle( objeTron% ),1):dll_off "
item_add 2,"  edit      objeTron%+ 1:top objeTron%+1,height(objeTron%)-60:left objeTron%+1,90:font_size objeTron%+1,12:width objeTron%+1,width(objeTron%)-100"
item_add 2,"            color objeTron%+1,255,255,150:font_bold objeTron%+1:font_name objeTron%+1,"+chr$(34)+"Bitstream Vera Sans Mono"+chr$(34)+":font_color objeTron%+1,0,0,255"
item_add 2,"  alpha    objeTron%+15:top objeTron%+15,55:left objeTron%+15,10:font_bold objeTron%+15:font_name objeTron%+15,"+chr$(34)+"Bitstream Vera Sans Mono"+chr$(34)+":font_size objeTron%+15,12"
item_add 2,"  container_option objeTron%+2:top objeTron%+2,height(objeTron%)-90:width objeTron%+2,200:height objeTron%+2,30:left objeTron%+2,10"
item_add 2,"  option    objeTron%+ 3:parent objeTron%+3,objeTron%+2:caption objeTron%+3,"+chr$(34)+"bloque"+chr$(34)+":width objeTron%+3,50:top objeTron%+3,8"
item_add 2,"  option    objeTron%+ 4:parent objeTron%+4,objeTron%+2:caption objeTron%+4,"+chr$(34)+"continue"+chr$(34)+":width objeTron%+4,60:left objeTron%+4,70 :top objeTron%+4,8"
item_add 2,"  option    objeTron%+ 5:parent objeTron%+5,objeTron%+2:caption objeTron%+5,"+chr$(34)+"boucle"+chr$(34)+":width objeTron%+5,50:left objeTron%+5,140:top objeTron%+5,8"
item_add 2,"  scroll_bar objeTron%+6:left objeTron%+6,380:top objeTron%+6,height(objeTron%)-80:height objeTron%+6,15:min objeTron%+6,0:max objeTron%+6,5000"
item_add 2,"                          width objeTron%+6,width(objeTron%)-430:position objeTron%+6,0"
item_add 2,"  button    objeTron%+21:left objeTron%+21,335:width objeTron%+21,40:caption objeTron%+21,"+chr$(34)+"T/V"+chr$(34)+":height objeTron%+21,20"
item_add 2,"  edit      objeTron%+16:width  objeTron%+16,2:height  objeTron%+16,15:left objeTron%+16,450:color objeTron%+16,255,0,0"
item_add 2,"  check    objeTron%+ 7:parent objeTron%+7,objeTron%:left objeTron%+7,220:width objeTron%+7,60:height objeTron%+7,20:caption objeTron%+7,"+chr$(34)+"variables"+chr$(34)+":' hide objeTron%+7"
item_add 2,"                          top objeTron%+7,height(objeTron%)-80"
item_add 2,"  button    objeTron%+ 8:parent objeTron%+8,objeTron%:left objeTron%+8,290:width objeTron%+8,40:height objeTron%+8,20:caption objeTron%+8,"+chr$(34)+"STOP"+chr$(34)+""
item_add 2,"                          top objeTron%+8,height(objeTron%)-80"
item_add 2,"  edit      objeTron%+14:top objeTron%+14,30 :width objeTron%+14,80:font_size objeTron%+14,12:font_bold objeTron%+14:color objeTron%+14,0,0,0:font_color objeTron%+14,255,255,255"
item_add 2,"  ' -----------------form pour présenter une aide de départ--------"
item_add 2,"  form      objeTron%+18:hide objeTron%+18:width objeTron%+18,620:height objeTron%+18,550:border_small objeTron%+18"
item_add 2,"                          top objeTron%+18,250:left objeTron%+18,screen_x / 2 -150"
item_add 2,"  memo      objeTron%+19:hide objeTron%+19:parent objeTron%+19,objeTron%+18:font_size objeTron%+18,10:print_target_is objeTron%+19 :full_space objeTron%+19"
item_add 2,"              print "+chr$(34)+"bloque  : avance par appuie de CTRL droit ou gauche"+chr$(34)
item_add 2,"              print "+chr$(34)+"continue: les lignes du programme avancent sans discontinuées. Le défilement des lignes, dépendent du curseur."+chr$(34)
item_add 2,"              print "+chr$(34)+"selon l'emplacement du curseur, des différences apparaissent. A droit du trait rouge, seul le temps diffère."+chr$(34)
item_add 2,"              print "+chr$(34)+"Si le check des variables est coché: elles s'affichent lorsqu'une variable est présente dans la ligne"+chr$(34)
item_add 2,"              print "+chr$(34)+"Si le curseur est à droite du trait et qu'une variable est présente, une fenêtre blanche apparait. Il faut cliquer sur CTRL pour continuer."+chr$(34)
item_add 2,"              print "+chr$(34)+"au relachement de la touche , la fenêtre apparait en jaune avec les nouvelles valeurs des variables à l'exécution du code"+chr$(34)
item_add 2,"              print "+chr$(34)+"seul la touche CTRL Droite permet de continuer. Ainsi, si on laisse la touche droite enfoncée, les lignes et l'exécution du programme se fait en continue avec un temps d'attente réglé par le curseur"+chr$(34)
item_add 2,"              print "+chr$(34)+"Si le curseur se trouve à gauche du trait rouge, cette 2ème fenêtre n'apparait pas. Si le curseur est à zéro, alors, le programme s'éxécute sans aucun teste, afin de passer les boucles (exemple :for a%=1 to 10000)"+chr$(34)
item_add 2,"              print "+chr$(34)+"l'appuie sur boucle, fait selon le cas, toutes les instructions à l'intérieur d'une boucle sans intéruption, ou parfois???, s'arrète une fois la boucle finie"+chr$(34)
item_add 2,"              print "+chr$(34)+"SI UNE ERREUR INTERVIENT: le message correspond à l'erreur, mais le numéro de la ligne est celui de la case noir. Si la case est rouge, on a un 1er numéro: c'est celui d'un include. Les includes sont numérotés à la suite d'apparition dans les lignes du programme"+chr$(34)
item_add 2,"              print "+chr$(34)+"le numéro après les deux points, est celui de la ligne du programme include. Le nom de l'include apparait en bas à gauche."+chr$(34)
item_add 2,"              print "+chr$(34)+"pour pouvoir arréter le programme avec STOP dans une boucle, il faut que la fin de la boucle soit sur une autre ligne. Ainsi:"+chr$(34)
item_add 2,"              print "+chr$(34)+"> for a%=1 to 10000: instructions :next a% < ne sera pas intercepté, alors que:"+chr$(34)
item_add 2,"              print "+chr$(34)+"for a%=1 to 10000"+chr$(34)+":print "+chr$(34)+"next a%"+chr$(34)+":print "+chr$(34)+"cette boucle pourra être intercepté. Pensez-y pendant la conception du code"+chr$(34)
item_add 2,"              print "+chr$(34)+"de plus, si le curseur est à zéro, il n'y a pas d'interception. L'éxécution se continu. Donc dans ce cas déplacer le curseur sur la droite du trait pour ravoir le contrôle."+chr$(34)
item_add 2,"              print_target_is 0"
item_add 2,"  ' __FORM voir les variables '"
item_add 2,"  form      objeTron%+10:width objeTron%+10,400:height objeTron%+10,150:top objeTron%+10,screen_y - 300 : border_small objeTron%+10"
item_add 2,"  list      objeTron%+ 9:parent objeTron%+9,objeTron%+10 : width objeTron%+9,width(objeTron%)-50 : height objeTron%,150:full_space objeTron%+9"
item_add 2,"                          font_size objeTron%+9,12 : font_bold objeTron%+9 : font_color objeTron%+9,255,0,0:caption objeTron%+10,"+chr$(34)+"AVANT >Space<"
item_add 2,"  dlist    objeTron%+12:file_load objeTron%+12,"+chr$(34)+dossier_tron$+"debug.bas"+chr$(34)+" : ' pour pouvoir lire les lignes du fichier'"
item_add 2,"  q%=-1 : mark_on objeTron%+3 : on_click objeTron%+3,q5  : on_click objeTron%+4,q5 : on_click objeTron%+5,q5"
item_add 2,"  on_click objeTron%+8,q_fin    : on_click objeTron%+7,q6  :  show objeTron%+7        "
item_add 2,"  command_target_is 0 "
item_add 2,"  dlist    objeTron%+13:file_load objeTron%+13,"+chr$(34)+dossier_tron$+"list_include.txt"+ chr$(34)+" : ' liste des includes"
item_add 2,"' -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-="
item_add 2,"  check trace:hide trace:mark_off trace:q_tron%=0 "
' maintenant j'y inclus la partie numérotées
for a%=1 to count (1)
    a$=item_read$(1,a%)
    if trim$(a$)="q:" then b%=0 :' on ne liste pas la partie trace
    if b%=1
      if trim$(a$)=""
          item_add 2,a$
          if flag_include%=0
            d%=d%+1
          else
            c%=c%+1
          end_if
      else
          if left$(a$,3)="' #"
            include%=include%+1:flag_include%=1:c%=1 : d%=d%+1 :' il y a un écart de ligne avec include'
            item_add 2,"q$="+chr$(34) +str$(a%)+chr$(1)+str$(d%-1)+chr$(34)+":gosub q:"+a$
          else
            if flag_include%=0
                item_add 2,"q$="+chr$(34) +str$(a%)+chr$(1)+str$(d%)+chr$(34)+":gosub q:"+a$
                d%=d%+1
            else
                item_add 2,"q$="+chr$(34) +str$(a%)+chr$(1)+"#"+str$(include%)+":"+str$(c%)+chr$(34)+":gosub q:"+a$
                c%=c%+1
                if instr(a$,"' ==== FIN du programme #INCLUDE dépilé: ")>0 then flag_include%=0
            end_if
          end_if
      end_if
    else
      item_add 2,a$
      d%=d%+1
    end_if
    if a%=4 then b%=1
next a%
item_add 2,""
item_add 2,"end :' pour le cas où il n'en aurait pas"
    ' je fais une procédure de sélection des variables à montrer
' --------------------ici mise en place des variables à montrer
rem "rajoute variables"

item_add 2,"q_variable:"
item_add 2,"select q_variable%" :b%=1
for a%=1 to count(100)
  a$=item_read$(100,a%)
  if a$<>""
      if right$(a$,1) <>")"
        if right$(a$,1)="$"
        item_add 2,"  case "+str$(b%)+" : item_add objeTron%+9,"+ chr$(34) +" "+ trim$(a$) + " = " + chr$(34) + "+" +chr$(34) + a$+ chr$(34)
        else
        item_add 2,"  case "+str$(b%)+" : item_add objeTron%+9,"+ chr$(34)+" "+ trim$(a$) + " = " + chr$(34) + "+ str$("+a$+")"
        end_if
        b%=b%+1
      end_if
  end_if
next a%
item_add 2,"end_select"
item_add 2,"return"
' je rajoute la mise mémoire de la liste des variables
item_add 2,"liste_variable:":item_add 2,"  dlist objeTron%+11"
for a%=1 to count(100)
  if item_read$(100,a%)<>""
      if right$(item_read$(100,a%),1 ) <>")"
        item_add 2,"  item_add objeTron%+11,"+chr$(34)+item_read$(100,a%)+chr$(34)
      end_if
  end_if
next a%
item_add 2,"Return"
    ' maintenant je dois incruster les procédures traces mise au départ en texte
    rem "partie TRON"

item_add 2,"' =============================================================================="
item_add 2,"' ==============procédure TRON TRACE============================================"
item_add 2,"q:"
item_add 2,"' -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-="
item_add 2,"' _______CONTRÔLE__________'"
item_add 2,"  if q_tron%<>checked(trace)"
item_add 2,"    q_tron%=checked(trace) "
item_add 2,"    if q_tron%=1 then position objeTron%+6,700:else:position objeTron%+6,0"
item_add 2,"  end_if"
item_add 2,"  if q_spin% <> position(objeTron%+6)"
item_add 2,"      if position(objeTron%+6) <500"
item_add 2,"        color objeTron%,255,204,255"
item_add 2,"        if position(objeTron%+6) > 0 then position objeTron%+6,200"
item_add 2,"      end_if"
item_add 2,"      if position(objeTron%+6) =0    then color objeTron%,214,214,214"
item_add 2,"      if position(objeTron%+6) >499  then color objeTron%,181,207,181"
item_add 2,"      q_spin%=position(objeTron%+6)"
item_add 2,"  end_if"
item_add 2,"q_count%=q_count%+1"
item_add 2,"  if position(objeTron%+6)=0 then caption objeTron%+15,mid$(q$ ,instr(q$, chr$(1))+1, 5)+" +chr$(34)+"  compteur:" +chr$(34)+"+str$(q_count%):goto q_sort_controle : ' on évite tout '"
item_add 2,""
item_add 2,"  ' affiche les variables après exécution de la ligne, pour voir les changements"
item_add 2,"  if q_retour_variable%=-1 and count(objeTron%+9)> 0 and q_spin%>500"
item_add 2,"      color objeTron%+9,255,255,0 :caption objeTron%+10,"+chr$(34)+"RETOUR >Ctrl Droit<"+chr$(34)+":hint objeTron%+9,"+chr$(34)+"cliquez sur Ctrl Droit pour continuer"+chr$(34)
item_add 2,"      gosub q6 : q_retour_variable%=0"
item_add 2,"      repeat : until  scancode=163 : wait 50:' Ctrl"
item_add 2,"      color objeTron%+9,255,255,255"
item_add 2,"  end_if"
item_add 2,""
item_add 2,"  if instr(q$,"+chr$(34)+"#"+chr$(34)+") > 0 :' affiche le nom du programme #include"
item_add 2,"      q%=instr(q$,"+chr$(34)+"#"+chr$(34)+") : q=instr(q$,"+chr$(34)+":"+chr$(34)+")"
item_add 2,"      caption objeTron%+15,item_read$(objeTron%+13, val(mid$(q$,q%+1,q-q%-1)) )"+chr$(34)+"  compteur:" +chr$(34)+"+str$(q_count%)"
item_add 2,"  else"
item_add 2,"      caption objeTron%+15,"+chr$(34)+"programme  -  compteur:" +chr$(34)+"+str$(q_count%)"
item_add 2,"  end_if"
item_add 2,""
item_add 2,"  ' recherche de la ligne à afficher'"
item_add 2,"  show objeTron%"
item_add 2,"  for q_trace%=1 to count(objeTron%+12) : if instr(item_read$(objeTron%+12,q_trace%),q$)>0 then exit_for"
item_add 2,"  next q_trace%"
item_add 2,"  if q_trace%<=count(objeTron%+12) then q= q_trace%"
item_add 2,""
item_add 2,"  if q>0 then q_trace$ = item_read$(objeTron%+12,q)"
item_add 2,"  q_trace$ = mid$(q_trace$,instr(q_trace$,"+chr$(34)+"gosub q:"+chr$(34)+")+8,300 )"
item_add 2,"  if instr(q$,"+chr$(34)+"#"+chr$(34)+") >0 then color objeTron%+14,255,0,0: else : color objeTron%+14,0,0,0"
item_add 2,""
item_add 2,"  ' affichage du numéro de ligne et du listage de laligne'"
item_add 2,"  text objeTron%+14,mid$(q$,instr( q$,chr$(1))+1,20)"
item_add 2,"  text objeTron%+1, trim$(mid$( q_trace$ ,instr(q_trace$,chr$(1))+1,150)) :display"
item_add 2,"  if objeTron%+6<500 then goto q_sort_controle"
item_add 2,""
item_add 2,"  ' décision"
item_add 2,"  if checked(objeTron%+7) = 0 then hide objeTron%+10  :' affichage des variables annulée"
item_add 2,"  if scancode=13 then q%=-1: mark_on objeTron%+3 : repeat:until scancode=0"
item_add 2,"  if checked(objeTron%+7)=1 then gosub q6  :' check variables'"
item_add 2,"  if checked(objeTron%+3)=1 then q%=-1      :' option bloque'"
item_add 2,"  if checked(objeTron%+4)=1 then q%=0      :' option continue'"
item_add 2,"  if checked(objeTron%+5)=1 then q%=1      :' option boucle'"
item_add 2,"  if clicked(objeTron%+8)=1 then goto q_fin  :' button stop'"
item_add 2,"  if clicked(objeTron%+9)=1 then gosub q6  :' list"
item_add 2,"  if clicked(objeTron%+21)=1 then gosub q7 :' list entier"
item_add 2,""
item_add 2,"  if q%=-1 then gosub q2"
item_add 2,"  if q%= 1 then gosub q4"
item_add 2,"q_sort_controle:"
item_add 2,"return"
item_add 2,"' =============================================================================="
item_add 2,"q1:"
item_add 2,"file_save 20,"+chr$(34)+"copier_texte.txt"+chr$(34)+""
item_add 2,"return"
item_add 2,"q2:"
item_add 2,"q%=-1"
item_add 2,"  repeat"
item_add 2,"    if clicked(objeTron%+8)=1 then goto q_fin"
item_add 2,"    if clicked(objeTron%+9)=1 then gosub q6"
item_add 2,"    if checked(objeTron%+5 )=0 and position(objeTron%+6) > 500 then wait position(objeTron%+6)-499"
item_add 2,"    if clicked(objeTron%+8)=1 then goto q_fin"
item_add 2,"    if clicked(objeTron%+9)=1 then gosub q6"
item_add 2,"  until scancode =162 or scancode = 163 or scancode=27 or scancode=13"
item_add 2,"  if scancode=13 then q%=0:mark_on objeTron%+4 :repeat:until scancode=0"
item_add 2,"  if scancode = 27 then goto q_fin"
item_add 2,"return"
item_add 2,"q3:"
item_add 2,"repeat"
item_add 2,"  if clicked(objeTron%+8)=1 then goto q_fin"
item_add 2,"  if clicked(objeTron%+9)=1 then gosub q6"
item_add 2,"until scancode=0"
item_add 2,"q%=0"
item_add 2,"return"
item_add 2,"q4:"
item_add 2,"q%=1"
item_add 2,"if instr(upper$(q_trace$),"+chr$(34)+"UNTIL"+chr$(34)+")>0 or instr(upper$(q_trace$),"+chr$(34)+"NEXT"+chr$(34)+")>0 or instr(upper$(q_trace$),"+chr$(34)+"END_WHILE"+chr$(34)+")>0"
item_add 2,"      repeat"
item_add 2,"        if clicked(objeTron%+8)=1 then goto q_fin"
item_add 2,"      until scancode =162 or scancode = 163 or scancode=27"
item_add 2,"      if clicked(objeTron%+9)=1 then gosub q6  :' variable'"
item_add 2,"end_if"
item_add 2,"return"
item_add 2,"q5:"
item_add 2,"  if checked(objeTron%+3)=1 then q%=-1"
item_add 2,"  if checked(objeTron%+4)=1 then q%=0"
item_add 2,"  if checked(objeTron%+5)=1 then q%=1"
item_add 2,"return"
item_add 2,""
item_add 2,"q6:"
item_add 2,"' variable"
item_add 2,"  clear objeTron%+9 :q_len%=0"
item_add 2,"  if  left$(upper$(trim$(q_trace$)),4)=q_rem$  or  left$(trim$(q_trace$),2)=q_rem1$"
item_add 2,"  else"
item_add 2,"    for qd% = count(objeTron%+11) to 1 step -1"
item_add 2,"      q_trouve%= instr(q_trace$,item_read$(objeTron% + 11, qd%))"
item_add 2,"      if q_trouve%>0"
' item_add 2," message q_trace$ + chr$(13) + str$(q_trouve%)"
                  rem vérifier que c'est une variable
                  rem si on a " ou rem ou ' qui n'est pas dans une chaine, c'est non
                  rem si cela ne fait pas parti d'une partie d'un nom de variable cela peut-être bon
                  rem si ensuite fin de ligne, ou -*+/)<>: alors c'est bon je pense.
                  rem ici il faudrait prendre les variables en ordre de longueur, et regarder si les petites sont dedans
                 
                  ' donc si la 1ère lettre est bonne, il faut vérifier la suite
                  ' si (a) a n'est pas trouvé
                  ' si , virgule+variable, pas trouvé
item_add 2,"        q_flag%=0"

                    rem il faudra jouer entre le premier et le dernier caractère pour voir ce qui l'entoure

                    ' si q_trouve%=1 et le caractère venant fait parti de la liste, c'est bon
                    ' si q_trouve%=1 et rien après (fin de ligne), c'est bon
               
                    ' si q%>1 et le caractère précédent =liste de départ, et si le caractère venant fait parti list
                    ' si q%>1 et qu'il y a parenthèse ouverte avant, alors NON
                    ' si q%>1, et qu'il y a '  ou rem défini comme tel, alors non
                    rem donc
item_add 2,"        if q_trouve%=1 and  instr( q_var$, mid$(q_trace$,q_trouve%+ len(item_read$(objeTron% + 11, qd%)),1))>0 then q_flag%=1"
                    ' ===================================================================================
                    rem si q_trouve%>1, il faut voir le caractère précédent et le caractère venant ou fin
     
item_add 2,"        if q_trouve%>1"
                        rem d'abord vérifier si guillemet ouvrant
item_add 2,"            q_flag%=1 "
                        rem il faudrait un flag des guillemets ouvrant/fermant  donc:  q_ouvre_ferme
item_add 2,"            q_ouvre_ferme=0 :' si ouvrant=-1 si fermant = 0 "
                        ' on a q_tr0% et q_tr1% que l'on peut utiliser
item_add 2,"            for q_tr0%=1 to q_trouve%"
item_add 2,"              if mid$(q_trace$,q_tr0%,1)=chr$(34) then q_ouvre_ferme=-1-q_ouvre_ferme"
                          rem rque: Peut-être vérifier si on est pas dans une remarque en même temps
                          rem ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
                          ' pour cela, il faut aussi voir si rem n'est pas avant
item_add 2,"              if instr( upper$(q_trace$),q_rem$ )>0 and q_ouvre_ferme=0 then q_flag%=0:exit_for"
item_add 2,"              if instr( upper$(q_trace$),q_rem1$)>0 and q_ouvre_ferme=0 then q_flag%=0:exit_for"
item_add 2,"            next q_tr0%"
item_add 2,"            if q_ouvre_ferme=-1 and q_tr0%> q_trouve% then q_flag%=1"
     
                        rem maintenant si q_flag%=1, on continu le teste  (on est toujours dans q_trouve%>1, donc à l'intérieur d'une phrase)
                        rem Il faut vérifier si avant c'est bien
item_add 2,"            if q_flag%=1"
item_add 2,"              if instr(q_var$,mid$(q_trace$,q_trouve%-1,1)) =0 then q_flag%=0"
item_add 2,"            end_if"
item_add 2,"            if q_flag%=1"
                          ' voir la fin
item_add 2,"              if q_trouve%+len(item_read$(objeTron% + 11, qd%)) > len(q_trace$)"
item_add 2,"                  if instr( q_var$, mid$(q_trace$,q_trouve%+ len(item_read$(objeTron% + 11, qd%)),1))=0 then q_flag%=0"
item_add 2,"              end_if"
                          ' si c'est = à la longueur, on est à la fin, donc c'est bon
item_add 2,"            end_if"
item_add 2,"        end_if"
item_add 2,"        if q_flag%=1"
item_add 2,"            q_variable%=qd%"
item_add 2,"            gosub q_variable"



          rem    erreur sur cette ligne avec label ????                                        '
item_add 2,"            q_b% = len( item_read$( objeTron%+9 , count( objeTron%+9 ) ))"




item_add 2,"            if q_len% < q_b% then q_len% = q_b%"
item_add 2,"        end_if"
item_add 2,"      end_if"
item_add 2,"    next qd%"
item_add 2,"    if count(objeTron%+9)> 0"
item_add 2,"      if q_retour_variable%=0 then caption objeTron%+10,"+chr$(34)+"AVANT >CTRL<"+chr$(34)+":hint objeTron%+9,"+chr$(34)+"cliquez sur CTRL pour continuer"+chr$(34)+""
item_add 2,"      show objeTron%+10 : show objeTron%+9"
item_add 2,"      height objeTron%+10,count(objeTron%+9)*20 +35"
item_add 2,"      top objeTron%+10,top (objeTron%)-height(objeTron%+9) - 26: sort objeTron%+9"
item_add 2,"      width objeTron%+10 , q_len%*12  :full_space objeTron%+9"
item_add 2,"  else"
item_add 2,"      hide objeTron%+10"
item_add 2,"  end_if"
item_add 2,"  if q_retour_variable%=0 then wait 20"
item_add 2,"  end_if"
item_add 2,"  q_retour_variable%=-1"
item_add 2,"return"
item_add 2,"q7:"
item_add 2,"clear objeTron%+9:q_len%=0"
item_add 2,"  for qd% = count(objeTron%+11) to 1 step -1"
item_add 2,"        q_variable%=qd% : gosub q_variable"
item_add 2,"        q_b% = len( item_read$( objeTron%+9 , count( objeTron%+9 ) ))"
item_add 2,"        if q_len% < q_b% then q_len% = q_b%"
item_add 2,"  next qd%"
item_add 2,"  if count(objeTron%+9)> 0"
item_add 2,"      if q_retour_variable%=0 then caption objeTron%+10,"+chr$(34)+"AVANT >CTRL<"+chr$(34)+":hint objeTron%+9,"+chr$(34)+"cliquez sur CTRL pour continuer"+chr$(34)+""
item_add 2,"      show objeTron%+10 : show objeTron%+9"
item_add 2,"      height objeTron%+10,count(objeTron%+9)*20 +35"
item_add 2,"      top objeTron%+10,0: sort objeTron%+9"
item_add 2,"      width objeTron%+10 , q_len%*12  :full_space objeTron%+9"
item_add 2,"  else"
item_add 2,"      hide objeTron%+10"
item_add 2,"  end_if"
item_add 2,"  if q_retour_variable%=0 then wait 20"
item_add 2,"  q_retour_variable%=-1"
item_add 2,"return"
item_add 2,""
item_add 2,"q_fin:"
item_add 2,"  q_fin%=MESSAGE_CONFIRMATION_YES_NO("+chr$(34)+"OUI: on arrête , NON: on stop ,TRAPCLOSE: annulation"+chr$(34)+")"
item_add 2,"  if q_fin%=1 then terminate "
item_add 2,"  if q_fin%=2 then stop"
item_add 2,"  if q_fin%=0 then return"
  file_save 2,dossier_tron$ + "debug.bas" : beep
  chain dossier_tron$ + "debug.bas"
end
J'espère qu'il n'y a pas de problème, vu que je l'utilise d'une autre manière avec un autre éditeur. Sinon reprendre la dernière version dans la rubrique concernée.
Bizarre il y a un problème d'heure. J'espère qu'avec cet outils, vous comprendrez mieux vos programmes. Le seul hic, c'est les timers qui inter-faire le code, mais dans ce cas essayez le mode trace de Panoramic, mais vous ne lirez pas les variables.
Revenir en haut Aller en bas
JL35




Nombre de messages : 7095
Localisation : 77
Date d'inscription : 29/11/2007

 IF END_IF  qui ne IF pas ; bizarre non  Empty
MessageSujet: Re: IF END_IF qui ne IF pas ; bizarre non     IF END_IF  qui ne IF pas ; bizarre non  EmptyLun 23 Mai 2011 - 14:56

@enform, comme dit cosmos le if qui ne marche pas ça n'existe pas, il y a autre chose dans ton code qui sème la panique, et tu n'en donnes pas assez pour qu'on puisse essayer quoi que ce soit pour t'aider.
Mais c'est sûrement un truc très bête, l'erreur étant très localisée, comme un "O" comparé avec un "0", ou un espace invisible à l'oeil nu, ou un truc du même genre. qui traîne.

Quand je dis que l'erreur est très localisée, ce n'est pas comme quand au lancement on a l'erreur 'trop de if par rapport à end_if', quelque chose comme ça, là il faut véritablement parcourir tout le code ligne par ligne pour trouver où ça se passe...
Revenir en haut Aller en bas
enform




Nombre de messages : 42
Date d'inscription : 18/05/2011

 IF END_IF  qui ne IF pas ; bizarre non  Empty
MessageSujet: Re: IF END_IF qui ne IF pas ; bizarre non     IF END_IF  qui ne IF pas ; bizarre non  EmptyMar 24 Mai 2011 - 13:00


@tous , salut

oui, pardon pour la perte de temps , mais c'est un bout de code que
je voulais recuperer avec des modifs et plutot sac de noeuds pour trier;
Mais par exemple le test que me propose jicehel, je me creuse la tete ...
Ah le code des autres ...
De plus ça a re-marché ... il est un peu en attente , pour y revenir.

Juste , ça ne stoppait pas alors que je voulait tester si la var avait
été captée .Et elle s'affichait bien juste avant le If .
Ce n était pas O au lieu de 0 . on verra bien , bientot.

2) Je ne le mets pas dans les bugs (mais...?) mais avez-vous vu ça :

- un copié_collé d'un bouton pour en faire un 2eme , adapté bien sur,
et quand j'ai cliqué sur ce 2eme bouton , c'est le premier qui s'est
déclenché ! Et pour vous passer le code je veux bien mais ça remarche!

comment ? :
j'ai mis en commentaire toutes les instructions du 1er bouton ( quit)
lancé le soft , cliqué sur le 2eme bouton , qui a tres bien marché !

Alors j'ai seulement enlevé toutes les apostrophes de 'quit' et......

tout à fonctionné . si c'est pas bizarre .Poster ce code là ne sera
peut-etre pas utile ! y a rien !

- petit bug , je crois, if instr( x$,"truc") > 0 then goto ailleurs

il faut un seul espace entre then et goto . J'ai eu 2 ou 3 fois
si je ne fais pas attention . Et vous ?

Mieux , je vais poster un petit code pour ajuster autom' la taille d'un
memo remplissant une fenetre quand on redimensionne le (la) form, avec
timer_on etc...

Merci pour votre aide A +
@tous , salut

Revenir en haut Aller en bas
Contenu sponsorisé





 IF END_IF  qui ne IF pas ; bizarre non  Empty
MessageSujet: Re: IF END_IF qui ne IF pas ; bizarre non     IF END_IF  qui ne IF pas ; bizarre non  Empty

Revenir en haut Aller en bas
 
IF END_IF qui ne IF pas ; bizarre non
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» @ Jack et Klaus - Bizarre Bizarre, vous avez dit bizarre ?!
» Bizarre bizarre
» Panoramic ne reprend pas la main
» appeller une dll pour carte vm110n
» Bizarre bizarre est-ce un bug du langage ? (résolu)

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: A l'aide!-
Sauter vers: