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
» bouton dans autre form que 0
Heu...et pourquoi? Emptypar leclode Aujourd'hui à 13:59

» KGF_dll - nouvelles versions
Heu...et pourquoi? Emptypar Klaus Aujourd'hui à 11:41

» Gestion d'un système client-serveur.
Heu...et pourquoi? Emptypar Klaus Aujourd'hui à 10:23

» PANORAMIC V 1
Heu...et pourquoi? Emptypar papydall Sam 4 Mai 2024 - 3:43

» Editeur EliP 6 : Le Tiny éditeur avec 25 onglets de travail
Heu...et pourquoi? Emptypar Froggy One Jeu 2 Mai 2024 - 11:16

» @Jack
Heu...et pourquoi? Emptypar Jack Mar 30 Avr 2024 - 20:40

» trop de fichiers en cours
Heu...et pourquoi? Emptypar papydall Lun 29 Avr 2024 - 23:39

» Une calculatrice en une ligne de programme
Heu...et pourquoi? Emptypar jean_debord Dim 28 Avr 2024 - 8:47

» Form(résolu)
Heu...et pourquoi? Emptypar leclode Sam 27 Avr 2024 - 17:59

» Bataille navale SM
Heu...et pourquoi? Emptypar jjn4 Ven 26 Avr 2024 - 17:39

» Les maths du crocodile
Heu...et pourquoi? Emptypar jean_debord Jeu 25 Avr 2024 - 10:37

» Naissance de Crocodile Basic
Heu...et pourquoi? Emptypar jean_debord Jeu 25 Avr 2024 - 8:45

» Dessine-moi une galaxie
Heu...et pourquoi? Emptypar jjn4 Lun 22 Avr 2024 - 13:47

» Erreur END_SUB
Heu...et pourquoi? Emptypar jjn4 Lun 22 Avr 2024 - 13:43

» Bug sur DIM_LOCAL ?
Heu...et pourquoi? Emptypar papydall Dim 21 Avr 2024 - 23:30

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 du moment : -40%
-40% sur le Pack Gaming Mario PDP Manette filaire + ...
Voir le deal
29.99 €

 

 Heu...et pourquoi?

Aller en bas 
4 participants
AuteurMessage
Yannick




Nombre de messages : 8610
Age : 53
Localisation : Bretagne
Date d'inscription : 15/02/2010

Heu...et pourquoi? Empty
MessageSujet: Heu...et pourquoi?   Heu...et pourquoi? EmptyMer 6 Fév 2013 - 18:35

J'ai un message d'erreur et je ne vois pas pourquoi...
le code en son état actuelle :
Code:
Declaration()
Interface()
Init()
end
' ------------------------------------------------------------------------------
Sub Declaration()
dim c%
label Clic
End_Sub
' ------------------------------------------------------------------------------
Sub Interface()
  dim_local x%
  objets("form",0,1,0,0,550,150,0,"Jeu de mots")
  objets("main_menu",1,1,0,0,0,0,0,"")
  objets("Sub_menu",2,1,0,0,0,0,1,"Jeu")
  objets("Sub_menu",3,1,0,0,0,0,2,"Jouer")
  objets("Sub_menu",4,1,0,0,0,0,2,"Arrêter")
  objets("Sub_menu",5,1,0,0,0,0,2,"Quitter")
  objets("button",6,1,60,450,0,0,0,"Vérif")
  for x%=3 to 5:on_click x%,Clic:next x%
  on_click 6,Clic
End_Sub
' ------------------------------------------------------------------------------
Sub Init()
  dim_local f$
  f$=dir_current$+"\Dico.txt"
  if file_exists(f$)=0
      message f$+chr$(13)+" n'existe pas"
  else
      objets("dlist",7,1,0,0,0,0,0,"")
      file_load 7,f$
  end_if
End_Sub
' ------------------------------------------------------------------------------
Clic:
  c%=number_click
  select c%
  case 3 :Init_mot()
  case 4
  case 5 :Terminate
  case 6 :Verif()
  end_select
return
' ------------------------------------------------------------------------------
Sub Init_mot()
  dim_local x% ,m$,m%,mot$,def$,y%,a$,z%
  if count(7)>0
      y%=rnd(count(7))
      if y%=0 then y%=1
      m$=item_read$(7,y%)
      m%=len(m$)
      if m$<>""
        z%=number_objects
        for x%=1 to m%
            objets("Edit",z%+x%,1,10,x%*20,20,0,0,"")
        next x%
        dim_local l$(x%-1)
        mot$=m$
        for x%=1 to m%
            l$(x%)=left$(mot$,1)
            mot$=right$(mot$,len(m$)-x%)
        next x%
        for x%=1 to m%:a$=a$+l$(x%):next x%
      end_if
  end_if
End_Sub
' ------------------------------------------------------------------------------
Sub Verif()

End_Sub
' ------------------------------------------------------------------------------
SUB Objets(obj$,No%,V%,T%,L%,W%,H%,P%,C$)
DIM_LOCAL indx%
' Création de l'objet
IF VARIABLE("T_obj$") = 0
  DIM T_obj$
  T_obj$="01SCENE3D;02BUTTON;03EDIT;04MEMO;05COMBO;06ALPHA;07FORM;08LIST;09PICTURE;"
  T_obj$=T_obj$+"10CHECK;11OPTION;12MAIN_MENU;13SUB_MENU;14SOUND;15MOVIE;16TRACK_BAR;"
  T_obj$=T_obj$+"17OPEN_DIALOG;18SAVE_DIALOG;19SCROLL_BAR;20PROGRESS_BAR;21SPIN;"
  T_obj$=T_obj$+"22GRID;23CONTAINER;24;25;26DLIST;27SCENE2D;28TIMER;29;30;31;"
  T_obj$=T_obj$+"32CONTAINER_OPTION;33;34;35;36;37;38;39;40;41IMAGE;"
END_IF
indx% = INSTR(T_obj$,UPPER$(obj$)+";"): indx% = VAL(MID$(T_obj$,indx%-2,2))
if indx%<>7 and NO%=0 then NO%=NO%+1
SELECT indx%
    CASE 1: SCENE3D No%
    CASE 2: BUTTON No% :Caption No%,C$:cursor_point No%
    CASE 3: EDIT No%
    CASE 4: MEMO No%
    CASE 5: COMBO No%
    CASE 6: ALPHA No% :Caption No%,C$
    CASE 7: IF No%>0 :FORM No% :end_if:Caption No%,C$
    CASE 8: LIST No%
    CASE 9: PICTURE No%
    CASE 10: CHECK No% :Caption No%,C$
    CASE 11: OPTION No% :Caption No%,C$
    CASE 12: MAIN_MENU No%
    CASE 13: SUB_MENU No% :Caption No%,C$
    CASE 14: SOUND No%
    CASE 15: MOVIE No%
    CASE 16: TRACK_BAR No%
    CASE 17: OPEN_DIALOG No%
    CASE 18: SAVE_DIALOG No%
    CASE 19: SCROLL_BAR No%
    CASE 20: PROGRESS_BAR No%
    CASE 21: SPIN No%
    CASE 22: GRID No%
    CASE 23: CONTAINER No% :Caption No%,C$
    CASE 26: DLIST No%
    CASE 27: SCENE2D No%
    CASE 28: TIMER No%
    CASE 32: CONTAINER_OPTION No% :Caption No%,C$
    CASE 41: IMAGE No%
END_SELECT
' Visibilité
If V% = 0 : hide No% :end_if
' Dimensions
If H% > 0 Then Height No%,H%
If W% > 0 Then Width No%,W%
' Placement
If indx% = 7
  If T% > 0 : Top No%,T% : Else : Top No%,(Screen_y-H%)/2 : End_If
  If L% > 0 : Left No%,L%: Else : Left No%,(Screen_x-W%)/2: End_If
Else
  If T% > 0 then Top No%,T%
  If L% > 0 then Left No%,L%
End_If
' filiation
If P% > 0 then Parent No%,P%
END_SUB
' ------------------------------------------------------------------------------
Sub Text_Objets_Attribut(No%,F$,FS%,B%,I%,U%,A$,CF$,CO$)
Dim_Local RF%,GF%,BF%,RO%,GO%,BO%,Sep%,ch$
' définition de la police
If F$ <>"" then Font_name No%,F$
' définition de la taille de la police
if FS% > 0 then Font_Size No%,FS%
' définition de la couleur de fond de l'objet
if CO$ <> ""
  sep%=instr(CO$,",")
  RO%=Val(left$(CO$,sep%-1))
  ch$=right$(CO$,len(CO$)-sep%)
  sep%=instr(ch$,",")
  GO%=val(left$(ch$,sep%-1))
  BO%=val(right$(ch$,len(ch$)-sep%))
  Color No%,RO%,GO%,BO%
end_if
' définition de la couleur du texte de l'objet
if CF$ <> ""
  sep%=instr(CF$,",")
  RF%=Val(left$(CF$,sep%-1))
  ch$=right$(CF$,len(CF$)-sep%)
  sep%=instr(ch$,",")
  GF%=val(left$(ch$,sep%-1))
  BF%=val(right$(ch$,len(ch$)-sep%))
  Font_Color No%,RF%,GF%,BF%
end_if
' Gras ou pas
If B%=1 then Font_Bold No%
' Italique ou pas
if I%=1 then Font_Italic No%
' Souligné ou pas
if U%=1 then Font_Underline No%
End_sub
Ps : nécessite un fichier "Dico.txt" avec quelques les uns sous les autres placé dans le même dossier que le source

et voilà le message que j'ai, après avoir cliqué sur "Jouer" dans le menu :
Heu...et pourquoi? Captur15
Revenir en haut Aller en bas
bignono

bignono


Nombre de messages : 1127
Age : 66
Localisation : Val de Marne
Date d'inscription : 13/11/2011

Heu...et pourquoi? Empty
MessageSujet: Re: Heu...et pourquoi?   Heu...et pourquoi? EmptyJeu 7 Fév 2013 - 17:51

Bonjour Ygeronimi Smile
Je ne sais pas trop pourquoi, mais il semble que après la procédure sub init_mot(), le programme repasse par la procédure sub objets(obj$,No%,V%,T%,L%,W%,H%,P%,C$)
En rajoutant des message dans la procédure incriminée on voit ce qui se passe:
Code:
' Visibilité
' message str$(V%)+"  "+str$(No%)
' message V%
message No%
If V% = 0
 hide No%
end_if
A+ Wink Wink Wink
Revenir en haut Aller en bas
bignono

bignono


Nombre de messages : 1127
Age : 66
Localisation : Val de Marne
Date d'inscription : 13/11/2011

Heu...et pourquoi? Empty
MessageSujet: Re: Heu...et pourquoi?   Heu...et pourquoi? EmptyJeu 7 Fév 2013 - 19:02

@ Ygeronimi,
j'ai trouvé ce qui ne va pas. C'est select, end_select dans l'évènement clic.
j'ai changé et mis les lignes BIGNONO, et ça fonctionne maintenant:
Code:
Declaration()
Interface()
Init()
end
' ------------------------------------------------------------------------------
Sub Declaration()
dim c%
label Clic
End_Sub
' ------------------------------------------------------------------------------
Sub Interface()
  dim_local x%
  objets("form",0,1,0,0,550,150,0,"Jeu de mots")
  objets("main_menu",1,1,0,0,0,0,0,"")
  objets("Sub_menu",2,1,0,0,0,0,1,"Jeu")
  objets("Sub_menu",3,1,0,0,0,0,2,"Jouer")
  objets("Sub_menu",4,1,0,0,0,0,2,"Arrêter")
  objets("Sub_menu",5,1,0,0,0,0,2,"Quitter")
  objets("button",6,1,60,450,0,0,0,"Vérif")
  for x%=3 to 5:on_click x%,Clic:next x%
  on_click 6,Clic
End_Sub
' ------------------------------------------------------------------------------
Sub Init()
  dim_local f$
  f$=dir_current$+"\Dico.txt"
  if file_exists(f$)=0
      message f$+chr$(13)+" n'existe pas"
  else
      objets("dlist",7,1,0,0,0,0,0,"")
      file_load 7,f$
  end_if
End_Sub
' ------------------------------------------------------------------------------
Clic:
  c%=number_click
'  select c%
'  case 3 :Init_mot()
'  case 4
'  case 5 :Terminate
'  case 6 :Verif()
'  end_select
' **********************BIGNONO*************************************************
if c%=3 then Init_mot()
if c%=5 then terminate
if c%=3 then Verif()
' **********************BIGNONO*************************************************
return
' ------------------------------------------------------------------------------
Sub Init_mot()
  dim_local x% ,m$,m%,mot$,def$,y%,a$,z%
  if count(7)>0
      y%=rnd(count(7))
      if y%=0 then y%=1
      m$=item_read$(7,y%)
      m%=len(m$)
      if m$<>""
        z%=number_objects
        for x%=1 to m%
            objets("Edit",z%+x%,1,10,x%*20,20,0,0,"")
        next x%
        dim_local l$(x%-1)
        mot$=m$
        for x%=1 to m%
            l$(x%)=left$(mot$,1)
            mot$=right$(mot$,len(m$)-x%)
        next x%
        for x%=1 to m%:a$=a$+l$(x%):next x%
      end_if
  end_if
End_Sub
' ------------------------------------------------------------------------------
Sub Verif()

End_Sub
' ------------------------------------------------------------------------------
SUB Objets(obj$,No%,V%,T%,L%,W%,H%,P%,C$)
DIM_LOCAL indx%
' Création de l'objet
IF VARIABLE("T_obj$") = 0
  DIM T_obj$
  T_obj$="01SCENE3D;02BUTTON;03EDIT;04MEMO;05COMBO;06ALPHA;07FORM;08LIST;09PICTURE;"
  T_obj$=T_obj$+"10CHECK;11OPTION;12MAIN_MENU;13SUB_MENU;14SOUND;15MOVIE;16TRACK_BAR;"
  T_obj$=T_obj$+"17OPEN_DIALOG;18SAVE_DIALOG;19SCROLL_BAR;20PROGRESS_BAR;21SPIN;"
  T_obj$=T_obj$+"22GRID;23CONTAINER;24;25;26DLIST;27SCENE2D;28TIMER;29;30;31;"
  T_obj$=T_obj$+"32CONTAINER_OPTION;33;34;35;36;37;38;39;40;41IMAGE;"
END_IF
indx% = INSTR(T_obj$,UPPER$(obj$)+";"): indx% = VAL(MID$(T_obj$,indx%-2,2))
if indx%<>7 and NO%=0 then NO%=NO%+1
SELECT indx%
    CASE 1: SCENE3D No%
    CASE 2: BUTTON No% :Caption No%,C$:cursor_point No%
    CASE 3: EDIT No%
    CASE 4: MEMO No%
    CASE 5: COMBO No%
    CASE 6: ALPHA No% :Caption No%,C$
    CASE 7: IF No%>0 :FORM No% :end_if:Caption No%,C$
    CASE 8: LIST No%
    CASE 9: PICTURE No%
    CASE 10: CHECK No% :Caption No%,C$
    CASE 11: OPTION No% :Caption No%,C$
    CASE 12: MAIN_MENU No%
    CASE 13: SUB_MENU No% :Caption No%,C$
    CASE 14: SOUND No%
    CASE 15: MOVIE No%
    CASE 16: TRACK_BAR No%
    CASE 17: OPEN_DIALOG No%
    CASE 18: SAVE_DIALOG No%
    CASE 19: SCROLL_BAR No%
    CASE 20: PROGRESS_BAR No%
    CASE 21: SPIN No%
    CASE 22: GRID No%
    CASE 23: CONTAINER No% :Caption No%,C$
    CASE 26: DLIST No%
    CASE 27: SCENE2D No%
    CASE 28: TIMER No%
    CASE 32: CONTAINER_OPTION No% :Caption No%,C$
    CASE 41: IMAGE No%
END_SELECT
' Visibilité
If V% = 0 : hide No% :end_if
' Dimensions
If H% > 0 Then Height No%,H%
If W% > 0 Then Width No%,W%
' Placement
If indx% = 7
  If T% > 0 : Top No%,T% : Else : Top No%,(Screen_y-H%)/2 : End_If
  If L% > 0 : Left No%,L%: Else : Left No%,(Screen_x-W%)/2: End_If
Else
  If T% > 0 then Top No%,T%
  If L% > 0 then Left No%,L%
End_If
' filiation
If P% > 0 then Parent No%,P%
END_SUB
' ------------------------------------------------------------------------------
Sub Text_Objets_Attribut(No%,F$,FS%,B%,I%,U%,A$,CF$,CO$)
Dim_Local RF%,GF%,BF%,RO%,GO%,BO%,Sep%,ch$
' définition de la police
If F$ <>"" then Font_name No%,F$
' définition de la taille de la police
if FS% > 0 then Font_Size No%,FS%
' définition de la couleur de fond de l'objet
if CO$ <> ""
  sep%=instr(CO$,",")
  RO%=Val(left$(CO$,sep%-1))
  ch$=right$(CO$,len(CO$)-sep%)
  sep%=instr(ch$,",")
  GO%=val(left$(ch$,sep%-1))
  BO%=val(right$(ch$,len(ch$)-sep%))
  Color No%,RO%,GO%,BO%
end_if
' définition de la couleur du texte de l'objet
if CF$ <> ""
  sep%=instr(CF$,",")
  RF%=Val(left$(CF$,sep%-1))
  ch$=right$(CF$,len(CF$)-sep%)
  sep%=instr(ch$,",")
  GF%=val(left$(ch$,sep%-1))
  BF%=val(right$(ch$,len(ch$)-sep%))
  Font_Color No%,RF%,GF%,BF%
end_if
' Gras ou pas
If B%=1 then Font_Bold No%
' Italique ou pas
if I%=1 then Font_Italic No%
' Souligné ou pas
if U%=1 then Font_Underline No%
End_sub
Revenir en haut Aller en bas
Yannick




Nombre de messages : 8610
Age : 53
Localisation : Bretagne
Date d'inscription : 15/02/2010

Heu...et pourquoi? Empty
MessageSujet: re   Heu...et pourquoi? EmptyJeu 7 Fév 2013 - 19:08

Sub init_mot()

compte le nombre de lettre du mot choisit au hasard
de façon à créer autant de Edit que de lettre dans ce mot
mais je ne vois pas le souci avec V% qui est un paramètre initialisé à 1
soit objet visible, ni le if ...then qui est une opération logique :
si V%=1 alors objet N est visible

scratch

Je suis à revoir cette sub pour séparer chaque objet.
la declaration sera O_Objet(paramètres)

Edit : on s'est croisé

je ne vois ce que select...end_select avait de particulier
c'est juste un selecteur de menu qui oriente vers les "fonctions" du menu
et est ce normal que tu es mis deux fois " if c%=3 " qui dirige sur 2 sub différentes?

ca me rend geek
Revenir en haut Aller en bas
bignono

bignono


Nombre de messages : 1127
Age : 66
Localisation : Val de Marne
Date d'inscription : 13/11/2011

Heu...et pourquoi? Empty
MessageSujet: Re: Heu...et pourquoi?   Heu...et pourquoi? EmptyJeu 7 Fév 2013 - 19:41

Non, il faut comprendre if c%=6 then Verif().
Il faut faire attention avec select end_select, d'autant plus que Klaus avait mis en évidence un bug avec des select imbriqués. Comme tu utilises pas mal de sub, et que l'on ne sait pas comment une sub est codé (seul Jack le sait), je me trompe peut-être, car la logique voudrait que select end_select fonctionne normalement dans ce programme. Alors, je suis comme toi, ça m'interpèle! Si quelqu'un a une explication logique, j'aimerais bien comprendre.
Revenir en haut Aller en bas
Yannick




Nombre de messages : 8610
Age : 53
Localisation : Bretagne
Date d'inscription : 15/02/2010

Heu...et pourquoi? Empty
MessageSujet: re   Heu...et pourquoi? EmptyJeu 7 Fév 2013 - 19:50

Le plus intrigant est la relation avec la condition.
une fois la sélection faite et la sub appelée c'est elle qui travaille,
le select ..end_select du menu n'est plus concerné, on est plus loin dans le prog.
De plus le message concerne une condition tout à fait correct.
Revenir en haut Aller en bas
bignono

bignono


Nombre de messages : 1127
Age : 66
Localisation : Val de Marne
Date d'inscription : 13/11/2011

Heu...et pourquoi? Empty
MessageSujet: Re: Heu...et pourquoi?   Heu...et pourquoi? EmptyVen 8 Fév 2013 - 10:47

Bonjour Ygeronimi, Smile
Je me creuse la tête depuis hier soir pour comprendre pourquoi il ne fonctionne pas correctement alors que toute la syntaxe est bonne! Je ne sais pas si c'est un bug des sub ou pas, mais seul Jack pourra apprécier, mais je ne trouve pas ça logique.
Tout d'abord, je me suis apperçu qu'en mettant l'instruction return juste après la ligne case3:Init_mot(), ça fonctionnait. Donc la ligne 38 devient: case3:Init_mot():return
Mais ce n'est pas logique, puisqu'après end_select on a return et que c'est celui-là qui devrait être pris en compte.
Donc ensuite, j'ai désactivé ce return de la ligne 38, et j'ai rajouté un return juste avant le end_sub de la sub Init_mot et j'ai pu constater qu'il n'y avait plus de problèmes. Normalement on devrait avoir l'erreur return without gosub! Ou alors, c'est Select ... End_select qui a un bug avec les subs?
Code:
Declaration()
Interface()
Init()
end
' ------------------------------------------------------------------------------
Sub Declaration()
dim c%
label Clic
End_Sub
' ------------------------------------------------------------------------------
Sub Interface()
  dim_local x%
  objets("form",0,1,0,0,550,150,0,"Jeu de mots")
  objets("main_menu",1,1,0,0,0,0,0,"")
  objets("Sub_menu",2,1,0,0,0,0,1,"Jeu")
  objets("Sub_menu",3,1,0,0,0,0,2,"Jouer")
  objets("Sub_menu",4,1,0,0,0,0,2,"Arrêter")
  objets("Sub_menu",5,1,0,0,0,0,2,"Quitter")
  objets("button",6,1,60,450,0,0,0,"Vérif")
  for x%=3 to 5:on_click x%,Clic:next x%
  on_click 6,Clic
End_Sub
' ------------------------------------------------------------------------------
Sub Init()
  dim_local f$
  f$=dir_current$+"\Dico.txt"
  if file_exists(f$)=0
      message f$+chr$(13)+" n'existe pas"
  else
      objets("dlist",7,1,0,0,0,0,0,"")
      file_load 7,f$
  end_if
End_Sub
' ------------------------------------------------------------------------------
Clic:
  c%=number_click
  select c%
  case 3 :Init_mot(): ' RETURN : 'LIGNE DE BIGNONO *****************************
  case 4
  case 5 :Terminate
  case 6 :Verif()
  end_select
return
' ------------------------------------------------------------------------------
Sub Init_mot()
  dim_local x% ,m$,m%,mot$,def$,y%,a$,z%
  if count(7)>0
      y%=rnd(count(7))
      if y%=0 then y%=1
      m$=item_read$(7,y%)
      m%=len(m$)
      if m$<>""
        z%=number_objects
        for x%=1 to m%
            objets("Edit",z%+x%,1,10,x%*20,20,0,0,"")
        next x%
        dim_local l$(x%-1)
        mot$=m$
        for x%=1 to m%
            l$(x%)=left$(mot$,1)
            mot$=right$(mot$,len(m$)-x%)
        next x%
        for x%=1 to m%:a$=a$+l$(x%):next x%
      end_if
  end_if
' LIGNE DE BIGNONO *************************************************************
  return
' LIGNE DE BIGNONO *************************************************************
End_Sub
' ------------------------------------------------------------------------------
Sub Verif()

End_Sub
' ------------------------------------------------------------------------------
SUB Objets(obj$,No%,V%,T%,L%,W%,H%,P%,C$)
DIM_LOCAL indx%
' Création de l'objet
IF VARIABLE("T_obj$") = 0
  DIM T_obj$
  T_obj$="01SCENE3D;02BUTTON;03EDIT;04MEMO;05COMBO;06ALPHA;07FORM;08LIST;09PICTURE;"
  T_obj$=T_obj$+"10CHECK;11OPTION;12MAIN_MENU;13SUB_MENU;14SOUND;15MOVIE;16TRACK_BAR;"
  T_obj$=T_obj$+"17OPEN_DIALOG;18SAVE_DIALOG;19SCROLL_BAR;20PROGRESS_BAR;21SPIN;"
  T_obj$=T_obj$+"22GRID;23CONTAINER;24;25;26DLIST;27SCENE2D;28TIMER;29;30;31;"
  T_obj$=T_obj$+"32CONTAINER_OPTION;33;34;35;36;37;38;39;40;41IMAGE;"
END_IF
indx% = INSTR(T_obj$,UPPER$(obj$)+";"): indx% = VAL(MID$(T_obj$,indx%-2,2))
if indx%<>7 and NO%=0 then NO%=NO%+1
SELECT indx%
    CASE 1: SCENE3D No%
    CASE 2: BUTTON No% :Caption No%,C$:cursor_point No%
    CASE 3: EDIT No%
    CASE 4: MEMO No%
    CASE 5: COMBO No%
    CASE 6: ALPHA No% :Caption No%,C$
    CASE 7: IF No%>0 :FORM No% :end_if:Caption No%,C$
    CASE 8: LIST No%
    CASE 9: PICTURE No%
    CASE 10: CHECK No% :Caption No%,C$
    CASE 11: OPTION No% :Caption No%,C$
    CASE 12: MAIN_MENU No%
    CASE 13: SUB_MENU No% :Caption No%,C$
    CASE 14: SOUND No%
    CASE 15: MOVIE No%
    CASE 16: TRACK_BAR No%
    CASE 17: OPEN_DIALOG No%
    CASE 18: SAVE_DIALOG No%
    CASE 19: SCROLL_BAR No%
    CASE 20: PROGRESS_BAR No%
    CASE 21: SPIN No%
    CASE 22: GRID No%
    CASE 23: CONTAINER No% :Caption No%,C$
    CASE 26: DLIST No%
    CASE 27: SCENE2D No%
    CASE 28: TIMER No%
    CASE 32: CONTAINER_OPTION No% :Caption No%,C$
    CASE 41: IMAGE No%
END_SELECT
' Visibilité
If V% = 0 : hide No% :end_if
' Dimensions
If H% > 0 Then Height No%,H%
If W% > 0 Then Width No%,W%
' Placement
If indx% = 7
  If T% > 0 : Top No%,T% : Else : Top No%,(Screen_y-H%)/2 : End_If
  If L% > 0 : Left No%,L%: Else : Left No%,(Screen_x-W%)/2: End_If
Else
  If T% > 0 then Top No%,T%
  If L% > 0 then Left No%,L%
End_If
' filiation
If P% > 0 then Parent No%,P%
END_SUB
' ------------------------------------------------------------------------------
Sub Text_Objets_Attribut(No%,F$,FS%,B%,I%,U%,A$,CF$,CO$)
Dim_Local RF%,GF%,BF%,RO%,GO%,BO%,Sep%,ch$
' définition de la police
If F$ <>"" then Font_name No%,F$
' définition de la taille de la police
if FS% > 0 then Font_Size No%,FS%
' définition de la couleur de fond de l'objet
if CO$ <> ""
  sep%=instr(CO$,",")
  RO%=Val(left$(CO$,sep%-1))
  ch$=right$(CO$,len(CO$)-sep%)
  sep%=instr(ch$,",")
  GO%=val(left$(ch$,sep%-1))
  BO%=val(right$(ch$,len(ch$)-sep%))
  Color No%,RO%,GO%,BO%
end_if
' définition de la couleur du texte de l'objet
if CF$ <> ""
  sep%=instr(CF$,",")
  RF%=Val(left$(CF$,sep%-1))
  ch$=right$(CF$,len(CF$)-sep%)
  sep%=instr(ch$,",")
  GF%=val(left$(ch$,sep%-1))
  BF%=val(right$(ch$,len(ch$)-sep%))
  Font_Color No%,RF%,GF%,BF%
end_if
' Gras ou pas
If B%=1 then Font_Bold No%
' Italique ou pas
if I%=1 then Font_Italic No%
' Souligné ou pas
if U%=1 then Font_Underline No%
End_sub
Enfin, je me trompe peut-être aussi, mais ça ne me paraît pas logique.
A+
Revenir en haut Aller en bas
Yannick




Nombre de messages : 8610
Age : 53
Localisation : Bretagne
Date d'inscription : 15/02/2010

Heu...et pourquoi? Empty
MessageSujet: re   Heu...et pourquoi? EmptyVen 8 Fév 2013 - 13:58

Bonjour Bignono !

Moi aussi je suis très perplexe devant ce problème.
Plus je regarde le code moins je vois d'où cela vient Suspect .
J'espère que nous pourrons avoir une explication de Jack un jours... Laughing
Revenir en haut Aller en bas
papydall

papydall


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

Heu...et pourquoi? Empty
MessageSujet: Re: Heu...et pourquoi?   Heu...et pourquoi? EmptyVen 8 Fév 2013 - 15:42

Salut Ygeronimi

J’ai étudié ton programme pour comprendre sa logique d’abord, le message d’erreur ensuite.
Et voici mon diagnostic :
Du point de vue logique de programmation et syntaxe, il n’y a rien à reprocher !
L’erreur provient de SELECT … CASE … END_SELECT qui présente à mon humble avis un bug !
La preuve : changer cette structure SELECT … CASE … END_CASE par une série de IF … THEN et ça marchera !
ou bien ajouter RETURN après
Code:
 case 3 : Init_mot()  : RETURN
Et ça ce n’est pas logique du tout !

Voici comment j’ai modifié ton programme
Code:
Declaration()
Interface()
Init()
end
' ------------------------------------------------------------------------------
Sub Declaration()
dim c%
label Clic
End_Sub
' ------------------------------------------------------------------------------
Sub Interface()
  dim_local x%
  objets("form",0,1,0,0,550,150,0,"Jeu de mots")
  objets("main_menu",1,1,0,0,0,0,0,"")
  objets("Sub_menu",2,1,0,0,0,0,1,"Jeu")
  objets("Sub_menu",3,1,0,0,0,0,2,"Jouer")
  objets("Sub_menu",4,1,0,0,0,0,2,"Arrêter")
  objets("Sub_menu",5,1,0,0,0,0,2,"Quitter")
  objets("button",6,1,60,450,0,0,0,"Vérif")
  for x%=3 to 5:on_click x%,Clic:next x%
  on_click 6,Clic
End_Sub
' ------------------------------------------------------------------------------
Sub Init()
  dim_local f$
  f$=dir_current$+"\Dico.txt"
  if file_exists(f$)=0
      message f$+chr$(13)+" n'existe pas"
  else
      objets("dlist",7,1,0,0,0,0,0,"")
      file_load 7,f$
  end_if
End_Sub
' ------------------------------------------------------------------------------
Clic:
  c%=number_click
'  select c%
'  case 3 : Init_mot()  : ' Ajouter ici RETURN                        Papydall
'  case 4 : Arreter()
'  case 5 : Terminate
'  case 6 : Verif()
'  end_select
' ******************************************************************************
                                                                    '  Papydall
  if c% = 3 then Init_mot()
  if c% = 4 then Arreter()
  if c% = 5 then terminate
  if c% = 6 then Verif()
return
' ------------------------------------------------------------------------------
Sub Init_mot()
  dim_local x% ,m$,m%,mot$,def$,y%,a$,z%
  if count(7)>0
      y%=rnd(count(7))
      if y%=0 then y%=1
      m$=item_read$(7,y%)  : message m$                            : ' Papydall
      m%=len(m$)
      if m$<>""
        z%=number_objects
        for x%=1 to m%
            objets("Edit",z%+x%,1,10,x%*20,20,0,0,"")
        next x%
        dim_local l$(x%-1)
        mot$=m$
        for x%=1 to m%
            l$(x%)=left$(mot$,1)
            mot$=right$(mot$,len(m$)-x%)
        next x%
        for x%=1 to m%:a$=a$+l$(x%):next x%
      end_if
  end_if
End_Sub
' ------------------------------------------------------------------------------
Sub Verif()
    message "en cours"                                              : ' Papydall
End_Sub
' ------------------------------------------------------------------------------
                                                                      ' Papydall
SUB Arreter()
    message "en cours"
END_SUB
' ******************************************************************************
SUB Objets(obj$,No%,V%,T%,L%,W%,H%,P%,C$)
DIM_LOCAL indx%
' Création de l'objet
IF VARIABLE("T_obj$") = 0
  DIM T_obj$
  T_obj$="01SCENE3D;02BUTTON;03EDIT;04MEMO;05COMBO;06ALPHA;07FORM;08LIST;09PICTURE;"
  T_obj$=T_obj$+"10CHECK;11OPTION;12MAIN_MENU;13SUB_MENU;14SOUND;15MOVIE;16TRACK_BAR;"
  T_obj$=T_obj$+"17OPEN_DIALOG;18SAVE_DIALOG;19SCROLL_BAR;20PROGRESS_BAR;21SPIN;"
  T_obj$=T_obj$+"22GRID;23CONTAINER;24;25;26DLIST;27SCENE2D;28TIMER;29;30;31;"
  T_obj$=T_obj$+"32CONTAINER_OPTION;33;34;35;36;37;38;39;40;41IMAGE;"
END_IF
indx% = INSTR(T_obj$,UPPER$(obj$)+";"): indx% = VAL(MID$(T_obj$,indx%-2,2))
if indx%<>7 and NO%=0 then NO%=NO%+1
SELECT indx%
    CASE 1: SCENE3D No%
    CASE 2: BUTTON No% :Caption No%,C$:cursor_point No%
    CASE 3: EDIT No%
    CASE 4: MEMO No%
    CASE 5: COMBO No%
    CASE 6: ALPHA No% :Caption No%,C$
    CASE 7: IF No%>0 :FORM No% :end_if:Caption No%,C$
    CASE 8: LIST No%
    CASE 9: PICTURE No%
    CASE 10: CHECK No% :Caption No%,C$
    CASE 11: OPTION No% :Caption No%,C$
    CASE 12: MAIN_MENU No%
    CASE 13: SUB_MENU No% :Caption No%,C$
    CASE 14: SOUND No%
    CASE 15: MOVIE No%
    CASE 16: TRACK_BAR No%
    CASE 17: OPEN_DIALOG No%
    CASE 18: SAVE_DIALOG No%
    CASE 19: SCROLL_BAR No%
    CASE 20: PROGRESS_BAR No%
    CASE 21: SPIN No%
    CASE 22: GRID No%
    CASE 23: CONTAINER No% :Caption No%,C$
    CASE 26: DLIST No%
    CASE 27: SCENE2D No%
    CASE 28: TIMER No%
    CASE 32: CONTAINER_OPTION No% :Caption No%,C$
    CASE 41: IMAGE No%
END_SELECT
' Visibilité
If V% = 0 : hide No% :end_if
' Dimensions
If H% > 0 Then Height No%,H%
If W% > 0 Then Width No%,W%
' Placement
If indx% = 7
  If T% > 0 : Top No%,T% : Else : Top No%,(Screen_y-H%)/2 : End_If
  If L% > 0 : Left No%,L%: Else : Left No%,(Screen_x-W%)/2: End_If
Else
  If T% > 0 then Top No%,T%
  If L% > 0 then Left No%,L%
End_If
' filiation
If P% > 0 then Parent No%,P%
END_SUB
' ------------------------------------------------------------------------------
Sub Text_Objets_Attribut(No%,F$,FS%,B%,I%,U%,A$,CF$,CO$)
Dim_Local RF%,GF%,BF%,RO%,GO%,BO%,Sep%,ch$
' définition de la police
If F$ <>"" then Font_name No%,F$
' définition de la taille de la police
if FS% > 0 then Font_Size No%,FS%
' définition de la couleur de fond de l'objet
if CO$ <> ""
  sep%=instr(CO$,",")
  RO%=Val(left$(CO$,sep%-1))
  ch$=right$(CO$,len(CO$)-sep%)
  sep%=instr(ch$,",")
  GO%=val(left$(ch$,sep%-1))
  BO%=val(right$(ch$,len(ch$)-sep%))
  Color No%,RO%,GO%,BO%
end_if
' définition de la couleur du texte de l'objet
if CF$ <> ""
  sep%=instr(CF$,",")
  RF%=Val(left$(CF$,sep%-1))
  ch$=right$(CF$,len(CF$)-sep%)
  sep%=instr(ch$,",")
  GF%=val(left$(ch$,sep%-1))
  BF%=val(right$(ch$,len(ch$)-sep%))
  Font_Color No%,RF%,GF%,BF%
end_if
' Gras ou pas
If B%=1 then Font_Bold No%
' Italique ou pas
if I%=1 then Font_Italic No%
' Souligné ou pas
if U%=1 then Font_Underline No%
End_sub
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
bignono

bignono


Nombre de messages : 1127
Age : 66
Localisation : Val de Marne
Date d'inscription : 13/11/2011

Heu...et pourquoi? Empty
MessageSujet: Re: Heu...et pourquoi?   Heu...et pourquoi? EmptyVen 8 Fév 2013 - 16:00

Bonjour Paydall, Smile
Tu ne fais que confirmer ce que je soupçonnais et essayais d'expliquer dans mon précédent post!
A+ Wink Wink Wink
Revenir en haut Aller en bas
Yannick




Nombre de messages : 8610
Age : 53
Localisation : Bretagne
Date d'inscription : 15/02/2010

Heu...et pourquoi? Empty
MessageSujet: re   Heu...et pourquoi? EmptyVen 8 Fév 2013 - 17:10

Salut Papydall,
(Content de te voir parmis nous....)

Donc nous pouvons dans ce cas employer le mot, le gros mot, le vilain mot ....BUG... Laughing

Pour une fois, cela ne vient pas de moi. Rolling Eyes
Revenir en haut Aller en bas
Klaus

Klaus


Nombre de messages : 12289
Age : 74
Localisation : Ile de France
Date d'inscription : 29/12/2009

Heu...et pourquoi? Empty
MessageSujet: Re: Heu...et pourquoi?   Heu...et pourquoi? EmptyVen 8 Fév 2013 - 19:51

Tu peux utiliser cafard, cancrelat, punaise, scarabé ... à ta guise ! Au moins, c'est français !
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
papydall

papydall


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

Heu...et pourquoi? Empty
MessageSujet: Re: Heu...et pourquoi?   Heu...et pourquoi? EmptyVen 8 Fév 2013 - 23:08

• BUG (noun)
The noun BUG has 5 senses:
1. general term for any insect or similar creeping or crawling invertebrate
2. a fault or defect in a system or machine
3. a small hidden microphone; for listening secretly
4. insects with sucking mouthparts and forewings thickened and leathery at the base; usually show incomplete metamorphosis
5. a minute life form (especially a disease-causing bacterium); the term is not in technical use

Donc Klaus a bien dit les choses ! Heu...et pourquoi? 0173Heu...et pourquoi? Araignee-noire-marcheHeu...et pourquoi? Bestiole2Heu...et pourquoi? Coccinelle4Heu...et pourquoi? Minimante
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Yannick




Nombre de messages : 8610
Age : 53
Localisation : Bretagne
Date d'inscription : 15/02/2010

Heu...et pourquoi? Empty
MessageSujet: re   Heu...et pourquoi? EmptyVen 8 Fév 2013 - 23:45

J'attrape ma bombe de baigoun,
heu...baigon et je m'occupe de vos petites bestioles !
lol!
Revenir en haut Aller en bas
Contenu sponsorisé





Heu...et pourquoi? Empty
MessageSujet: Re: Heu...et pourquoi?   Heu...et pourquoi? Empty

Revenir en haut Aller en bas
 
Heu...et pourquoi?
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» pourquoi ces erreurs ?
» Pourquoi ?
» Heu...et pourquoi ?...
» PANORAMIC et informatique de gestion (les tableaux)
» Et pourquoi ?...[RESOLU]

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: