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
» PANORAMIC V 1
Boite de Dialogue Fourre-tout Emptypar jjn4 Hier à 17:49

» select intégrés [résolu]
Boite de Dialogue Fourre-tout Emptypar jjn4 Hier à 17:00

» number_mouse_up
Boite de Dialogue Fourre-tout Emptypar jjn4 Hier à 11:59

» Aide de PANORAMIC
Boite de Dialogue Fourre-tout Emptypar jjn4 Hier à 11:16

» trop de fichiers en cours
Boite de Dialogue Fourre-tout Emptypar lepetitmarocain Hier à 10:43

» Je teste PANORAMIC V 1 beta 1
Boite de Dialogue Fourre-tout Emptypar papydall Hier à 4:17

» bouton dans autre form que 0
Boite de Dialogue Fourre-tout Emptypar leclode Lun 6 Mai 2024 - 13:59

» KGF_dll - nouvelles versions
Boite de Dialogue Fourre-tout Emptypar Klaus Lun 6 Mai 2024 - 11:41

» Gestion d'un système client-serveur.
Boite de Dialogue Fourre-tout Emptypar Klaus Lun 6 Mai 2024 - 10:23

» Editeur EliP 6 : Le Tiny éditeur avec 25 onglets de travail
Boite de Dialogue Fourre-tout Emptypar Froggy One Jeu 2 Mai 2024 - 11:16

» @Jack
Boite de Dialogue Fourre-tout Emptypar Jack Mar 30 Avr 2024 - 20:40

» Une calculatrice en une ligne de programme
Boite de Dialogue Fourre-tout Emptypar jean_debord Dim 28 Avr 2024 - 8:47

» Form(résolu)
Boite de Dialogue Fourre-tout Emptypar leclode Sam 27 Avr 2024 - 17:59

» Bataille navale SM
Boite de Dialogue Fourre-tout Emptypar jjn4 Ven 26 Avr 2024 - 17:39

» Les maths du crocodile
Boite de Dialogue Fourre-tout 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 du moment : -39%
Pack Home Cinéma Magnat Monitor : Ampli DENON ...
Voir le deal
1190 €

 

 Boite de Dialogue Fourre-tout

Aller en bas 
AuteurMessage
Invité
Invité




Boite de Dialogue Fourre-tout Empty
MessageSujet: Boite de Dialogue Fourre-tout   Boite de Dialogue Fourre-tout EmptySam 9 Jan 2010 - 13:12

Je ne sais pas si fourre tout s'écris comme ça.
Je viens de terminer ma boite que je cherchais à faire. C'est pas une boite pour un programme de présentation, ou pour un logiciel de bureau, mais pour entrer des données variées et divers, mettre des messages, faire des choix, avec une seul ligne de commande, pour ne pas perdre de temps dans la programmation.
Tout n'est pas parfait, il y a encore un ou deux petit détail à revoir mais sans importance.
Elle ne vous plaira surement pas, elle a l'avantage d'être intégrée dans un programme classique, sans se faire de la bile pour les événements.
J'y ai mis un petit programme pour aider à comprendre la façon de s'en servir.
Code:

' essai de refaire BOITE D'ALERTE GFA BASIC
error_french
' ==============================================================================
dim foo  ,alt% ,alert_but$(50),boite$(50,25),boite(50,25)
dim a%,b%,c% , i%,a$,b$,c$ ,x%  ,m$  ,mem%
dim hAlert%,alert_s$,vh%,zun%,drAlert%,topAlert% ,AltSort% ,t$,t1$ ,t2$,t3$,t4$,t5$,t6$,t7$,t8$,t9$
dim clik% ,fin% ,clik_mem% ,lig$ ,ti$ ,ct$,pi%,lAlert% ,apel%,hMemAlert%,ct%,dr$
' ==============================================================================
label alerte ,repere , valide ,prendre ,AltBouton, fin , code ,attente ,alertClavier,guide,rac
' ==========================================
left 0,0:height 0,800:width 0,800
alt%=58 :a%=1:foo=10
on_click 0,code
' finalement c'est form 0 qui commande le départ, ensuite c'est le programme
' button alt%+a%:top alt%+a%,200:caption alt%+a%,"essai":width alt%+a%,90: on_click alt%+a%,code
' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
a%=2:memo alt%+a%:top alt%+a%,100:left alt%+a%,0:WIDTH alt%+a%,750:height alt%+a%,500:font_size alt%+a%,14
color alt%+a%,208,255,155:font_bold alt%+a%
print_target_is alt%+2
' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
'  forme d'attente
a%=foo-1
form a% :hide a%:top a%,300:left a%,800:width a%,100:height a%,90:color a%,132,190,33:border_small a%
on_click a%, code
' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
a%=foo-2:button a%
parent a%,a%+1:top a%,25:left a%,10:width a%,80:caption a%,"continue"
' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
a%=foo-3:alpha a%:parent a%,a%+2:top a%,0:left a%,10:font_size a%,12:font_bold a%:caption a%,"attente"
' --------------------------------------------------
' form pour comprendre le branchement avec un bouton

form foo  :left foo,900::top foo,100:hide foo :width foo,100:height foo,170::color foo,236,198,89:border_small foo
' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
dlist foo+2:' top foo+2,50:width foo+2,100:left foo+2,160:height foo+2,300:' sert de liste pour chaque cde
          ' titre de l'appel
' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
alpha foo+3:parent foo+3,foo:font_color foo+3,0,0,220:font_bold foo+3:font_size foo+3,15
      font_name foo+3,"aSwIt Mono 864":left foo+3,40:top foo+3,0:on_click foo+3,repere
' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
alpha foo+4:parent foo+4,foo:font_size foo+4,7:hide foo+4:' pour y mettre le N° de la boite d'alerte pour se retrouver
' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
memo  foo+6:parent foo+6,foo:hide foo+6 :color foo+6,181,247,156 :' message vert
' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
edit foo+7 :parent  foo+7,foo:top foo+7,0:left foo+7,10:width foo+7,350
            height foo+7,30 : color foo+7,255,255,165:font_size foo+7,14:font_bold foo+7:hide foo+7
' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
button foo+8:parent foo+8,foo:left foo+8,370:width foo+8,100:height foo+8,30:caption foo+8,"sortir"
          hide foo+8 :' on_click foo+8,valide  de toute façon il fonctionne pas ici
' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
dlist foo+9            :' ligne \/: séparateur
            ' left foo+9,280: top foo+9,0:width foo+9,150:height foo+9,250
' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
alpha foo+11:parent foo+11,foo:left foo+11,370:font_size foo+11,14:font_name foo+11,"Verdana":font_bold foo+11
' --------------------------------------------
pi%=foo+11    :' soit foo=10 pi%=21
for a%=1 to 36 : b%=a%+pi%
  picture b%:hide b%:parent b%,foo:on_click b%,prendre:width b%,150:height b%,35
next a%
caption 0,"CLIQUEZ SUR LA FORME 0 POUR DEMARRER"
' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 message "cliquez sur la forme pour démarrer"
' ==============================================================================
' =====END====END=====END=====END=====END=====END=====END=====END=====END=======
END
'          FIN DES OBJETS  FIN DES OBJETS    FIN DES OBJETS
' ==============================================================================
alerte:
  clear foo+2:topAlert%=200:drAlert%=400:apel%=0:fin%=0 :alert_s$="":caption foo+11,""
  zun%=val(left$(lig$,1)):ti$=""  :' zun%: pour z=zero et un - 0 et 1
  if upper$(mid$(lig$,2,1))="V"
      vh%=-1
  else
      vh%=0
  end_if
  clik%=mid$(lig$,3,2)
  lig$=right$(lig$,len(lig$)-5)
  ' --                              si positionnement |#300,100|
  i%=instr(lig$,"#")
  if i%>0
      lig$=right$(lig$,len(lig$)-i%)
      i%=instr(lig$,",")
      drAlert%=val(left$(lig$,i%-1)):lig$=right$(lig$, len(lig$)-i%)
      i%=instr(lig$,"|"):topAlert%=val(left$(lig$,i%-1))
  end_if
    ' --                              en fin de ligne : |\....|  les points représentent les caractères de séparation entre chaque mot ou nombre à définir
  if instr(lig$,"|")<len(lig$) then  lig$=right$(lig$,len(lig$)-instr(lig$,"|")) :' expl: |\ +-| avec le texte d'un edit qui serait:
  i%=instr(lig$,"|\")                                              :' "12 23+14-2" donne une liste: 12,23,14,2
  if i%>0
      alert_s$=right$(lig$,len(lig$)-i%-1):ti$=left$(lig$,i%-1)
  else
    alert_s$="":ti$=left$(lig$,len(lig$)-1)
  end_if
  '                                  si dans le titre: "~" est inséré, le reste est sur la ligne suivante
  i%=instr(ti$,"~"):if i%>0 then ti$=left$(ti$,i%-1)+chr$(10)+chr$(13)+right$(ti$,len(ti$)-i%)
  ' --                              au début de la ligne &12| inclure le numéro de l'appel pour le retrouver parmis tout ceux du programme (important si comme moi, il y en avait plus de 300)
  if left$(ct$,1)="&"
    i%= instr(ct$,"|")
    apel%=val(mid$(ct$,2,i%-2))
    ct$=right$(ct$,len(ct$)-i%)
  end_if
  rem "&1|fin|"                si le reste est ' "FIN|" pas de "picture bouton", mais un bouton de sortie
  if upper$(ct$)="FIN|"then fin%=1
  if left$(ct$,1)="|" then ct$=right$(ct$,len(ct$)-1)
  repeat
      i%=instr(ct$,"|")
      if i%>0
        a$= left$(ct$,i%-1)
        item_add foo+2,a$ : ct$=right$(ct$,len(ct$)-i%)
      else
        if ct$<>"" then item_add foo+2,ct$
      end_if
  until i%=0

  ' représentation des boutons dans FORM foo dont les paramètres viennet d'être définis
  for a%=1 to 36:for b%=1 to 25:boite$(a%,b%) ="":alert_but$(a%)="":next b%:next a%
  2d_target_is 1+pi%:print_target_is 1+pi%:height foo,770 :ct%=0
 
  clear foo+6
  clear foo+9
 
  caption foo+3,ti$ :caption foo+4,apel% : hAlert%=50 :lAlert%=10 :hMemAlert%=0

  if drAlert%>=0 then left foo,drAlert%    :' #xxx,yyy|
  if topAlert%>=0 then top foo,topAlert%
                                            ' texte du MEMO foo+6 sauvegardé à chaque changement
  if file_exists("controle\appel"+str$(apel%)+".fic")=1 then file_load foo+6,"controle\appel"+str$(apel%)+".fic"

  if count(foo+2)>0
      show foo
      for a%=1 to 36: hide a%+pi% : next a%
      for a%=1 to count(foo+2) : b%=a%+pi%
        show b%                        :' b% est un picture qui sert de bouton dont les boutons sont dessinés

        width b%,150:height b%,35 : 2d_target_is b%  : 2d_pen_color 90,90,24

        if clik%<>a%
            2d_fill_color 231,231,156
        else
            2d_fill_color 165,239,156
        end_if
        2d_rectangle 1,1,149,34 : 2d_pen_color 173,178,24 : 2d_rectangle 3,3,147,32
        ' -------------------
        if vh%=-1
          left b%,lAlert%:top b%,hAlert%:hAlert%=hAlert%+50
        else
          left b%,lAlert%:top b%,50:hMemAlert%=90:lAlert%=lAlert%+160
        end_if
        ' --------------------
        2d_line  1,1,148,1 : print_target_is b% : print_locate 4,7 : font_color b%,255,0,0 : font_bold b%
        a$=item_read$(foo+2,a%):i%= instr(a$,"~")    :' si "~" le caption est sur 2 lignes
        if i%=0
            print a$
        else
            print_locate 6,4:print left$(a$,i%-1) : print_locate 6,18:print right$(a$,len(a$)-i%)
        end_if
        ' -- si on est en bas de la forme, on remonte colonne suivante
        if hAlert%> height(foo)-150 then hMemAlert%=hAlert% : hAlert%=50:lAlert%=lAlert%+160
      next a%
  end_if

  ' --
  if hMemAlert%=0 then hMemAlert%=hAlert%:if hMemAlert%=40 then hMemAlert%=100
  height foo,hMemAlert%+80
  if vh%=0 then width foo, lAlert%
  width foo,lAlert%:if lAlert%<495 then width foo,495
  left foo+6,10:top foo+6,28 : width foo+6,width(foo)-25:height foo+6,height(foo)-65
  top foo+7,hMemAlert% : top foo+8,hMemAlert%-10
  ' affichage des séparateurs pour lister un edit
  if alert_s$<>""
    top foo+11,hMemAlert%+20:a$=""
    for a%=1 to len(alert_s$)
        if mid$(alert_s$,a%,1)=" "
          a$=a$+" _"
        else
          a$=a$+" "+mid$(alert_s$,a%,1)
        end_if
    next a%
    caption foo+11,a$
  end_if

  if zun%>0
      text foo+7,"":show foo+7:show foo+8:show foo+11 :' +7: edit, +8: bouton sortie  , +11: alpha sérarateur
  else
      hide foo+8:hide foo+7:hide foo+11
  end_if

  if fin%=1 then show foo+8:hide pi%+1  :if zun%=1 then top foo+7,hMemAlert%-30:top foo+8,hMemAlert%-30
  show foo
' ==============================================================================
' ============ fin de la procedure box ==reprise du clic========================
prendre:
  clik_mem%=clik%
' &&&&&&&&&&&&&&&&&&& ici le teste du clic &&&&&&&&&&&&&&&&&&&&
      AltSort%=0                            :'              &
      repeat                                :'              &
        for a%=1 to count(foo+2) : b%=a%+pi%:'              &
          if clicked(b%)=1 then clik%=a%:b%=clik%:exit_for:' &
        next a%                            :'              &
        if clicked(foo+3)=1 then AltSort%=1 :' titre        &
        if clicked(foo+8)=1 then AltSort%=2 :' bouton sortie &
      until b%=clik% or AltSort%>0          :'              &
' &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
  if AltSort%=1 then gosub repere:goto prendre
  mem%=clik% :' le dernier
  clik%=clik_mem%

    2d_target_is clik%+pi% : 2d_fill_color 231,231,156 : 2d_rectangle 3,3,147,32
  print_target_is clik%+pi% : gosub AltBouton
  gosub alertClavier:clik%=mem%
  if zun%=1  : ' on a edit, donc on s'occupe du texte en rapport avec le bouton correspondant
      text foo+7,""
      if alert_but$(clik%)<>""
        font_color clik%+pi%,0,0,0
      else
        font_color clik%+pi%,255,0,0
      end_if

      2d_target_is clik%+pi%:2d_fill_color 165,239,156: 2d_rectangle 3,3,147,32 :' vert
      print_target_is clik%+pi% : gosub AltBouton: text foo+7,"" : a$="" : i%=0
     
      for a%=25 to 1 step -1:if boite$(clik%,a%)<>"" then i%=a%:exit_for
      next a%

      if i%>0 then for a%=1 to i%:a$=a$+boite$(clik%,a%)+left$(Alert_s$,1):next a%:a$=left$(a$,len(a$)-1)
      text foo+7,a$
      ' ************************************************************************
      if AltSort%=2 then goto valide
      ' ************************************************************************
      goto prendre
  else
      AltSort%=0
      goto valide
  end_if
  wait 100
RETURN
' ==============================================================================
' ===========saisie clavier=====================================================
alertClavier:
  clear foo+9
  if text$(foo+7)<>""
      a$="":b$=text$(foo+7):alert_but$(clik%)=b$
      for a%=1 to len(b$)
        c$=mid$(b$,a%,1)
        if instr(alert_s$,c$)>0
            item_add foo+9,a$
            a$=""
        else
            a$=a$+c$
        end_if
      next a%
      if a$<>"" then item_add foo+9,a$
      font_color clik%+pi%,0,0,0
  else
      font_color clik%+pi%,255,0,0: clear foo+9
  end_if
  gosub AltBouton
  ' --
  if count(foo+9)>0
      for a%=1 to count(foo+9)
        a$=item_read$(foo+9,a%):boite$(clik%,a%)=a$:if numeric(a$)= 1 then boite(clik%,a%)=val(a$)
      next a% :for a%=a% to 25:boite$(clik%,a%)="":boite(clik%,a%)=0:next a%
  else
      for a%=1 to 25:boite$(clik%,a%)="":boite(clik%,a%)=0:next a%:alert_but$(clik%)=""
  end_if
return
' ==============================================================================
' =====================VALIDATION DE LA FORM====================================
valide:
  print_target_is alt%+2
  print "le dernier bouton cliqué est:",clik%
  print "les edit récupérés:"
  for a%=1 to 50
      if alert_but$(a%)<>"" then print a%,"=  ",alert_but$(a%)
  next a%
  hide foo : hide foo+7:hide foo+8
  file_save foo+6,"controle\appel"+str$(apel%)+".fic"
return
' ==============================================================================
' ==========ecrire dans les boutons=============================================
AltBouton:
  a$=item_read$(foo+2,clik%):i%= instr(a$,"~")
  if i%=0
      print_locate 4,7:print a$
  else
      print_locate 6,4:print left$(a$,i%-1)
      print_locate 6,18:print right$(a$,len(a$)-i%)
  end_if
return
' ==============================================================================
' ==========VOIR LE MÉMO SI CHECK EST VALIDÉ==pour sauvegarde==on_change()======
repere:
  ct%=-1-ct%
  if ct%=-1
      show foo+6 :show foo+4:hide foo+7:hide foo+8
  else
      hide foo+6 :hide foo+4:if zun%=1 then show foo+7:show foo+8
      if fin%=1 then show foo+8
  end_if
return
' ==============================================================================
' ===========ANCIEN CODAGE  ANCIEN CODAGE=======================================
' NOTA toute la programmation au dessus de cette ligne est en quelque sorte de la présentation
' Les lignes suivantes sont pour moi de la programmation active, car on suit un programme établie
' et on ne peut pas faire autre chose que ce qui est prévue à l'avance.
' on ne prend que l'information d'un bouton, il n'y a pas de déclenchement par des clics.
' le clic d'une sourie ne déporte pas le programme à une autre direction.
' les lignes sont suivies une à une, et selon ce qui est prévue.
code:
  off_click 0 :' dorénavent il n'y a que le programme suivant qui commande !
  caption 0,"essai de dorme commandée par le programme"
alpha 1:left 1,500:font_size 1,14:font_bold 1
caption 1,"lignes de commande pour afficher la boite d'appel"
edit 2:left 2,0:top 2,30:width 2, width(0)-5:height 2,30:color 2,255,255,155:font_size 2,14:font_bold 2
edit 3:left 3,0:top 3,60:width 3, width(0)-5:height 3,30:color 3,255,255,155:font_size 3,14:font_bold 3
 
  lig$="0V02|#750,150|Qu'aimez-vous le plus|":ct$="&1|dormir|faire l'amour|travailler dur|être fouetté|"

  t$ ="lig$="+"0V02|..."
  t1$="le 1er chiffre a pour consigne d'afficher ou non un EDIT pour prendre des infos"
  t2$="V: pour Verticale et H: pour Horizontale, le sens d'affichage des boutons"
  t3$="02: impose le choix du bouton par défaut. Il y a un séparateur "+chr$(34)+"|"+chr$(34)+" soit: lig$="+chr$(34)+left$(lig$,5)
  t4$="en option, on peut positionner la forme par ceci: #750,150| ** suivie du titre de la boite soit:"+lig$
  t5$="ct$="+chr$(34)+ct$+chr$(34)
  t6$="&1, donne un numéro à la boite, et devrait être différent pour chaque boite"
  t7$="il a pour fonction dans un long programme avec plein de boites, de retrouver celle-ci. Dans un autre écran"
  t8$="on en verra davantage"
  gosub rac
  ' -- -----------------------------------------------------------------------------------------------
  lig$="1v01|#760,150|Donnez les résultats du loto~séparez les n° au choix par:+-|\ +-" :ct$="&2|fin|"

  t1$="lig$="+chr$(34)+left$(lig$,4)
  t2$="1: impose un edit dans la boite v ou h ici n'a pas d'importance, vu qu'il n'y aura pas de bouton"
  t3$="01 bouton un, mais il n'y en a pas"
  t4$="la fin se termine par: |\.. les caractères à la place des petits points sont des caractères de séparation dans EDIT "
  t5$="pour séparer les nombres, ainsi: 1 2+3-11 12-5 donnera la liste"
  t6$= "1,2,3,11,12,5 et pourra être récupéré par boite(1,1) boite(1,2) boite(1,3)"
  t7$="lorsqu'il y a plusieurs boutons: boite(N° du bouton, 1er/2ème/3ème... nombre)"
  t8$="idem concernant les chaines: boite$(N°,...), il y a aussi alert_but$(N°) ui prend l'EDIT complet sans séparateur."
  t9$=ct$+": ..|fin|"+chr$(34)+" n'affiche pas les boutons"
  gosub rac
  ' -------------------------------------------------------------------------------------------------------
  lig$="0H01|#750,200|Etes-vous sûre de vouloir ~effacer le fichier 'Belle maman'|":ct$="&3|Oh plus que OUI OUI!|On la garde en souvenir|ça ferait un épouventail|"

  t1$="MAINTENANT DANS TOUTES LES BOITES SI VOUS APPUYEZ SUR LE TITRE,"
  t2$=" un mémo vert apparait et un numéro en haut à gauche, ce N° est celui de la boite: &3"
  t3$="le mémo donne la possibilité de mettre des remarques concernant le programme à ce moment là"
  t4$="il est systématiquement enregistré à la fermeture, comme il est également chargé à l'ouverture"
  t5$="Donc, si cette boite est utilisée par plusieurs programmes, il faut un dossier par boite"
  t6$="maintenant votre Belle Mère est votre problème!"
  gosub rac
  ' ------------------------------------------------------------------------------------------------------
  lig$="1v01|#760,100|entrez chaque grille du loto~que vous voulez jouer|\, +-*/" : ct$ ="&4|grille N°1|grille N°2|grille N°3|"
  t1$="cette boite est intéressante à regarder (non pas pour le loto - je n'y joue pas)"
  t2$="mais a plusieurs boutons dans lequel on peut y mettre plusieurs listes"
  t3$="chaque fois que vous changer de boutons, les nombres sont sauvegardés"
  t4$="lorsqu'un bouton a un EDIT sauvegardé, la couleur de la fonte change"
  t5$="si vous revenez sur un EDIT, les nombres réapparaissent avec le séparateur par défaut qui est le 1er dans la liste"
  t6$="ici : une virgule. Si vous effacez les nombres de l'EDIT, la couleur de la fonte, redevient rouge"
  t7$="le titre de la boite, et le caption d'un bouton peut-être écrit sur 2 lignes avec le caractère: ~ "
  gosub rac
  ' ------------------------------------------------------------------------------------------------------
  lig$="1V01|#750,200|un escargot met Combien de ~temps  pour faire 100m à 10km/h|":ct$="&5|FIN|"
  t1$="Est-ce que j'en pose des questions moi" :gosub rac
  ' ------------------------------------------------------------------------------------------------------
  lig$="0v01|ce message va s'auto-détruire si ~vous cliquez sur le bouton|":ct$ ="&6|fin|"
  ti$="essai de différente forme"
  gosub rac
  ' ------------------------------------------------------------------------------------------------------
  lig$="1V01|#750,00|essai d'une grande liste~à remplir|\, +-*/"
  ct$="&7|1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16|17|18|19|20|21|22|23|24|25|26|27|28|29|30|31|32|33|34|35|36|"
  t$="essai d'une forme avec 36 boutons (maxi dans ce programme)"
  gosub rac
  ' ------------------------------------------------------------------------------------------------------
' goto guide
 guide:
  lig$="0h02|Arrêt du programme|":ct$="&8|    ***ON ARRETE***|        ANNULÉ|"
 
  t$="enfin on arrête"
  t1$="ici le clic est récupéré pour faire un choix"
  t2$="le choix est tout simple, vu qu'on arrive au bout de la présentation"
  gosub rac:if clik%=1 then goto fin

  wait 1000:message "on quitte quand même, fin du programme":wait 200: goto fin
return
' ==============================================================================
' ==================raccourcis de commande======================================
rac:
  print_target_is 2:  print "lig$=",chr$(34),lig$,chr$(34)
  print_target_is 3:  print "ct$=",chr$(34),ct$,chr$(34)
  print_target_is alt%+2
  if t$ <>"" then print t$
  if t1$<>"" then print t1$
  if t2$<>"" then print t2$
  if t3$<>"" then print t3$
  if t4$<>"" then print t4$
  if t5$<>"" then print t5$
  if t6$<>"" then print t6$
  if t7$<>"" then print t7$
  if t8$<>"" then print t8$
  if t9$<>"" then print t9$
  gosub alerte  : gosub attente:clear alt%+2
  t$="":t1$="":t2$="":t3$="":t4$="":t5$="":t6$="":t7$="":t8$="":t9$=""
return
' ==============================================================================
' ==================fenêtre d'attente===========================================
attente:
  show foo-1
  repeat:until clicked(foo-2)=1
  hide foo-1
return
' ==============================================================================
' =================TERMINATE====================================================
fin:
terminate
J'ai oublié ceci: la commande pour se servir de la boite après avoir défini les lignes de commande, est gosub alerte
gosub rac (pour raccourcis) c'est pour la présentation.


Dernière édition par cosmos70 le Dim 10 Jan 2010 - 20:16, édité 5 fois
Revenir en haut Aller en bas
Invité
Invité




Boite de Dialogue Fourre-tout Empty
MessageSujet: Re: Boite de Dialogue Fourre-tout   Boite de Dialogue Fourre-tout EmptySam 9 Jan 2010 - 18:03

Je mets maintenant le programme sans les explications pour la présentation, qui ne devrait plus servir.
J'ai juste laissé quelques lignes de commande pour avoir en mémoire la méthode utilisée.
Code:

' essai de refaire BOITE D'ALERTE GFA BASIC
error_french
' ==============================================================================
dim foo ,pi% ,alt% ,alert_but$(50),boite$(50,25),boite(50,25)
dim hAlert%,alert_s$,vh%,zun%,drAlert%,topAlert% ,AltSort%
dim clik% ,fin% ,mem%, clik_mem% ,lig$ ,ti$ ,ct$,lAlert% ,apel%,hMemAlert%,ct%,dr$
'  dim commun
dim a%,b%,c%,i%,a$,b$,c$
' ==============================================================================
label alerte ,repere , valide ,prendre ,AltBouton, code ,attente ,alertClavier
' ----label du programme général-----
label fin :'
' ==========================================
left 0,0:height 0,800:width 0,800
alt%=58 :a%=1:                              foo=10  :  ' numéro de la forme dans le programme
on_click 0,code :' finalement c'est form 0 qui commande le départ, ensuite c'est le programme
' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
a%=2:memo alt%+a%:top alt%+a%,100:left alt%+a%,0:WIDTH alt%+a%,750:height alt%+a%,500:font_size alt%+a%,14
color alt%+a%,208,255,155:font_bold alt%+a%
print_target_is alt%+2
' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
a%=foo-1 : '  forme d'attente (je la laisse quand même)
form a% :hide a%:top a%,300:left a%,800:width a%,100:height a%,90:color a%,132,190,33:border_small a%
' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
a%=foo-2:button a%
parent a%,a%+1:top a%,25:left a%,10:width a%,80:caption a%,"continue"
' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
a%=foo-3:alpha a%:parent a%,a%+2:top a%,0:left a%,10:font_size a%,12:font_bold a%:caption a%,"attente"
' --------------------------------------------------
' LA FORM A CONSTRUIRE------------------------------
form foo  :left foo,900::top foo,100:hide foo :width foo,100:height foo,170::color foo,236,198,89:border_small foo
' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
dlist foo+2 :' titre des boutons de l'appel
' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
alpha foo+3:parent foo+3,foo:font_color foo+3,0,0,220:font_bold foo+3:font_size foo+3,15:' titre de la boite
      font_name foo+3,"aSwIt Mono 864":left foo+3,40:top foo+3,0:on_click foo+3,repere
' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
alpha foo+4:parent foo+4,foo:font_size foo+4,7:hide foo+4:' pour y mettre le N° de la boite d'alerte pour se retrouver
' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
memo  foo+6:parent foo+6,foo:hide foo+6 :color foo+6,181,247,156 :' message vert
' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
edit foo+7 :parent  foo+7,foo:top foo+7,0:left foo+7,10:width foo+7,350
            height foo+7,30 : color foo+7,255,255,165:font_size foo+7,14:font_bold foo+7:hide foo+7
' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
button foo+8:parent foo+8,foo:left foo+8,370:width foo+8,100:height foo+8,30:caption foo+8,"sortir"
          hide foo+8 :' on_click foo+8,valide  de toute façon il fonctionne pas ici
' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
dlist foo+9
' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -affiche les séparateurs- - - - - - - - -
alpha foo+11:parent foo+11,foo:left foo+11,370:font_size foo+11,14:font_name foo+11,"Verdana":font_bold foo+11
' --------------------------------------------
pi%=foo+11
for a%=1 to 36 : b%=a%+pi%
  picture b%:hide b%:parent b%,foo:on_click b%,prendre:width b%,150:height b%,35
next a%
if dir_exists("controle")=0 then dir_make "controle"
' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 message "cliquez sur la forme pour démarrer"
' ==============================================================================
' =====END====END=====END=====END=====END=====END=====END=====END=====END=======
END
' ==============================================================================
alerte:
  clear foo+2:topAlert%=200:drAlert%=400:apel%=0:fin%=0 :alert_s$="":caption foo+11,""
  zun%=val(left$(lig$,1)):ti$=""  :' zun%: pour z=zero et un - 0 et 1
  if upper$(mid$(lig$,2,1))="V"
      vh%=-1
  else
      vh%=0
  end_if
  clik%=mid$(lig$,3,2)
  lig$=right$(lig$,len(lig$)-5)
  ' --                              si positionnement |#300,100|
  i%=instr(lig$,"#")
  if i%>0
      lig$=right$(lig$,len(lig$)-i%)
      i%=instr(lig$,",")
      drAlert%=val(left$(lig$,i%-1)):lig$=right$(lig$, len(lig$)-i%)
      i%=instr(lig$,"|"):topAlert%=val(left$(lig$,i%-1))
  end_if
    ' --                              en fin de ligne : |\....|  les points représentent les caractères de séparation entre chaque mot ou nombre à définir
  if instr(lig$,"|")<len(lig$) then  lig$=right$(lig$,len(lig$)-instr(lig$,"|")) :' expl: |\ +-| avec le texte d'un edit qui serait:
  i%=instr(lig$,"|\")                                              :' "12 23+14-2" donne une liste: 12,23,14,2
  if i%>0
      alert_s$=right$(lig$,len(lig$)-i%-1):ti$=left$(lig$,i%-1)
  else
    alert_s$="":ti$=left$(lig$,len(lig$)-1)
  end_if
  '                                  si dans le titre: "~" est inséré, le reste est sur la ligne suivante
  i%=instr(ti$,"~"):if i%>0 then ti$=left$(ti$,i%-1)+chr$(10)+chr$(13)+right$(ti$,len(ti$)-i%)
  ' --                              au début de la ligne &12| inclure le numéro de l'appel pour le retrouver parmis tout ceux du programme (important si comme moi, il y en avait plus de 300)
  if left$(ct$,1)="&"
    i%= instr(ct$,"|")
    apel%=val(mid$(ct$,2,i%-2))
    ct$=right$(ct$,len(ct$)-i%)
  end_if
  rem "&1|fin|"                si le reste est ' "FIN|" pas de "picture bouton", mais un bouton de sortie
  if upper$(ct$)="FIN|"then fin%=1
  if left$(ct$,1)="|" then ct$=right$(ct$,len(ct$)-1)
  repeat
      i%=instr(ct$,"|")
      if i%>0
        a$= left$(ct$,i%-1)
        item_add foo+2,a$ : ct$=right$(ct$,len(ct$)-i%)
      else
        if ct$<>"" then item_add foo+2,ct$
      end_if
  until i%=0

  ' représentation des boutons dans FORM foo dont les paramètres viennet d'être définis
  for a%=1 to 36:for b%=1 to 25:boite$(a%,b%) ="":alert_but$(a%)="":next b%:next a%
  2d_target_is 1+pi%:print_target_is 1+pi%:height foo,770 :ct%=0

  clear foo+6
  clear foo+9

  caption foo+3,ti$ :caption foo+4,apel% : hAlert%=50 :lAlert%=10 :hMemAlert%=0

  if drAlert%>=0 then left foo,drAlert%    :' #xxx,yyy|
  if topAlert%>=0 then top foo,topAlert%
                                            ' texte du MEMO foo+6 sauvegardé à chaque changement
  if file_exists("controle\appel"+str$(apel%)+".fic")=1 then file_load foo+6,"controle\appel"+str$(apel%)+".fic"

  if count(foo+2)>0
      show foo
      for a%=1 to 36: hide a%+pi% : next a%
      for a%=1 to count(foo+2) : b%=a%+pi%
        show b%                        :' b% est un picture qui sert de bouton dont les boutons sont dessinés

        width b%,150:height b%,35 : 2d_target_is b%  : 2d_pen_color 90,90,24

        if clik%<>a%
            2d_fill_color 231,231,156
        else
            2d_fill_color 165,239,156
        end_if
        2d_rectangle 1,1,149,34 : 2d_pen_color 173,178,24 : 2d_rectangle 3,3,147,32
        ' -------------------
        if vh%=-1
          left b%,lAlert%:top b%,hAlert%:hAlert%=hAlert%+50
        else
          left b%,lAlert%:top b%,50:hMemAlert%=90:lAlert%=lAlert%+160
        end_if
        ' --------------------
        2d_line  1,1,148,1 : print_target_is b% : print_locate 4,7 : font_color b%,255,0,0 : font_bold b%
        a$=item_read$(foo+2,a%):i%= instr(a$,"~")    :' si "~" le caption est sur 2 lignes
        if i%=0
            print a$
        else
            print_locate 6,4:print left$(a$,i%-1) : print_locate 6,18:print right$(a$,len(a$)-i%)
        end_if
        ' -- si on est en bas de la forme, on remonte colonne suivante
        if hAlert%> height(foo)-150 then hMemAlert%=hAlert% : hAlert%=50:lAlert%=lAlert%+160
      next a%
  end_if
  ' --
  if hMemAlert%=0 then hMemAlert%=hAlert%:if hMemAlert%=40 then hMemAlert%=100
  height foo,hMemAlert%+80
  if vh%=0 then width foo, lAlert%
  width foo,lAlert%:if lAlert%<495 then width foo,495
  left foo+6,10:top foo+6,28 : width foo+6,width(foo)-25:height foo+6,height(foo)-65
  top foo+7,hMemAlert% : top foo+8,hMemAlert%-10
  ' affichage des séparateurs pour lister un edit
  if alert_s$<>""
    top foo+11,hMemAlert%+20:a$=""
    for a%=1 to len(alert_s$)
        if mid$(alert_s$,a%,1)=" "
          a$=a$+" _"
        else
          a$=a$+" "+mid$(alert_s$,a%,1)
        end_if
    next a%
    caption foo+11,a$
  end_if

  if zun%>0
      text foo+7,"":show foo+7:show foo+8:show foo+11
  else
      hide foo+8:hide foo+7:hide foo+11
  end_if

  if fin%=1 then show foo+8:hide pi%+1  :if zun%=1 then top foo+7,hMemAlert%-30:top foo+8,hMemAlert%-30
  show foo
' ==============================================================================
' ============ fin de la procedure box ==reprise du clic========================
prendre:
  clik_mem%=clik%
' &&&&&&&&&&&&&&&&&&& ici le teste du clic &&&&&&&&&&&&&&&&&&&&
      AltSort%=0                            :'              &
      repeat                                :'              &
        for a%=1 to count(foo+2) : b%=a%+pi%:'              &
          if clicked(b%)=1 then clik%=a%:b%=clik%:exit_for:' &
        next a%                            :'              &
        if clicked(foo+3)=1 then AltSort%=1 :'              &
        if clicked(foo+8)=1 then AltSort%=2 :'              &
      until b%=clik% or AltSort%>0          :'              &
' &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
  if AltSort%=1 then gosub repere:goto prendre
  mem%=clik% :' le dernier
  clik%=clik_mem%

    2d_target_is clik%+pi% : 2d_fill_color 231,231,156 : 2d_rectangle 3,3,147,32
  print_target_is clik%+pi% : gosub AltBouton
  gosub alertClavier:clik%=mem%
  if zun%=1  : ' on a edit, donc on s'occupe du texte en rapport avec le bouton correspondant
      text foo+7,""
      if alert_but$(clik%)<>""
        font_color clik%+pi%,0,0,0
      else
        font_color clik%+pi%,255,0,0
      end_if

      2d_target_is clik%+pi%:2d_fill_color 165,239,156: 2d_rectangle 3,3,147,32 :' vert
      print_target_is clik%+pi% : gosub AltBouton: text foo+7,"" : a$="" : i%=0

      for a%=25 to 1 step -1:if boite$(clik%,a%)<>"" then i%=a%:exit_for
      next a%

      if i%>0 then for a%=1 to i%:a$=a$+boite$(clik%,a%)+left$(Alert_s$,1):next a%:a$=left$(a$,len(a$)-1)
      text foo+7,a$
      ' ************************************************************************
      if AltSort%=2 then goto valide
      ' ************************************************************************
      goto prendre
  else
      AltSort%=0
      goto valide
  end_if
  wait 100
RETURN
' ==============================================================================
' ===========saisie clavier=====================================================
alertClavier:
  clear foo+9
  if text$(foo+7)<>""
      a$="":b$=text$(foo+7):alert_but$(clik%)=b$
      for a%=1 to len(b$)
        c$=mid$(b$,a%,1)
        if instr(alert_s$,c$)>0
            item_add foo+9,a$
            a$=""
        else
            a$=a$+c$
        end_if
      next a%
      if a$<>"" then item_add foo+9,a$
      font_color clik%+pi%,0,0,0
  else
      font_color clik%+pi%,255,0,0: clear foo+9
  end_if
  gosub AltBouton
  ' --
  if count(foo+9)>0
      for a%=1 to count(foo+9)
        a$=item_read$(foo+9,a%):boite$(clik%,a%)=a$:if numeric(a$)= 1 then boite(clik%,a%)=val(a$)
      next a% :for a%=a% to 25:boite$(clik%,a%)="":boite(clik%,a%)=0:next a%
  else
      for a%=1 to 25:boite$(clik%,a%)="":boite(clik%,a%)=0:next a%:alert_but$(clik%)=""
  end_if
return
' ==============================================================================
' =====================VALIDATION DE LA FORM====================================
valide:
  ' =========================================================== '
  ' ==récupération de la case par le numéro de clik%=========== '  =>> if clik%=1 then ...
  ' ==alert_but$(x) a récupéré le texte de l'EDIT de la boite== '
  ' ==boite$(x,n°) et boite(x,n°) la liste d'un edit=========== '
  ' =========================================================== '
  hide foo : hide foo+7:hide foo+8
  file_save foo+6,"controle\appel"+str$(apel%)+".fic"
return
' ==============================================================================
' ==========ecrire dans les boutons=============================================
AltBouton:
  a$=item_read$(foo+2,clik%):i%= instr(a$,"~")
  if i%=0
      print_locate 4,7:print a$
  else
      print_locate 6,4:print left$(a$,i%-1)
      print_locate 6,18:print right$(a$,len(a$)-i%)
  end_if
return
' ==============================================================================
repere:
  ct%=-1-ct%
  if ct%=-1
      show foo+6 :show foo+4:hide foo+7:hide foo+8
  else
      hide foo+6 :hide foo+4:if zun%=1 then show foo+7:show foo+8
      if fin%=1 then show foo+8
  end_if
return
' ==============================================================================
' ===========DEBUT DU PROGRAMME=================================================
code:
  off_click 0 :' dorénavent il n'y a que le programme suivant qui commande !
  caption 0,"essai de forme commandée par le programme"

  lig$="0V02|#750,150|Qu'aimez-vous le plus|":ct$="&1|dormir|faire l'amour|travailler dur|être fouetté|": gosub alerte
  ' -- ----------------------------------------
  lig$="1v01|#760,150|Donnez les résultats du loto~séparez les n° au choix par:+-|\ +-" :ct$="&2|fin|": gosub alerte
  ' -------------------------------------------
  lig$="0H01|#750,200|Etes-vous sûre de vouloir ~effacer le fichier 'Belle maman'|":ct$="&3|Oh plus que OUI OUI!|On la garde en souvenir|ça ferait un épouventail|" : gosub alerte
  ' -------------------------------------------
  lig$="1V01|#750,200|un escargot met Combien de ~temps  pour faire 100m à 10km/h|":ct$="&4|FIN|": gosub alerte
  ' -------------------------------------------
  lig$="0v01|ce message va s'auto-détruire si ~vous cliquez sur le bouton|":ct$ ="&5|fin|": gosub alerte
  ' -------------------------------------------
  lig$="1V01|#750,00|essai d'une grande liste~à remplir|\, +-*/"
  ct$="&6|1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16|17|18|19|20|21|22|23|24|25|26|27|28|29|30|31|32|33|34|35|36|": gosub alerte
  ' -------------------------------------------
  lig$="0h02|Arrêt du programme|":ct$="&7|    ***ON ARRETE***|        ANNULÉ|": gosub alerte
  if clik%=1 then goto fin

  wait 1000:message "on quitte quand même, fin du programme":wait 200: goto fin
return
' ==============================================================================
' ==================fenêtre d'attente===========================================
attente:
  show foo-1
  repeat:until clicked(foo-2)=1
  hide foo-1
return
' ==============================================================================
' =================TERMINATE====================================================
fin:
terminate
entre le 1er et le 2ème programme l'essai N°4 sur le loto des grilles à remplir n'est plus là, donc sur le même dossier , il y aura un décalage sur la sauvegarde des mémo de référence
9a n'a pas d'incidence sur le programme, puisqu'ici c'est une démo, et que tout les modification que vous pourriez faire en essayant le programme, seront automatiquement remis à jour.
C'est pour cela que ce programme devra être utilisé sur des dossiers différent, pour ne pas que les mémos qui n'ont peu d'importance, soit recouvert.


Dernière édition par cosmos70 le Dim 10 Jan 2010 - 20:25, édité 4 fois
Revenir en haut Aller en bas
Jean Claude

Jean Claude


Nombre de messages : 5950
Age : 69
Localisation : 83 Var
Date d'inscription : 07/05/2009

Boite de Dialogue Fourre-tout Empty
MessageSujet: Re: Boite de Dialogue Fourre-tout   Boite de Dialogue Fourre-tout EmptySam 9 Jan 2010 - 20:32

Après tentative sur le premier programme, quand on a saisi le N° du loto et le click sur sortir, j'ai une erreur ici:
file_save foo+6,"controle\appel"+str$(apel%)+".fic"

A+
Revenir en haut Aller en bas
Invité
Invité




Boite de Dialogue Fourre-tout Empty
MessageSujet: Re: Boite de Dialogue Fourre-tout   Boite de Dialogue Fourre-tout EmptySam 9 Jan 2010 - 23:19

Salut,
effectivement, ça fait trois fois que je revois mon programme, pour arriver à ce qu'il fonctionne avec des blocages intermédiaires, et au début, je ne pensais qu'à moi, puisque le but à atteindre était de refaire cette boite. Donc le dossier controle, il a été créé auparavant. Le plus simple est de le créer là où tu sauvegardes le programme, si tu le sauvegardes. C'est ce dossier qui bloque si il n'est pas présent.
2 solutions: si tu sauvegardes le programme, tu créés le dossier
Si tu ne le sauvegardes pas, tu mets un rem devant pour faire l'essai.
Je vais revoir le programme, en fait c'est tout simple:
Code:

if dir_exists("controle")=0 then dir_make "controle"
A mettre avant le rem, comme cela tu es tranquille.
Au plaisir de te relire


Dernière édition par cosmos70 le Sam 9 Jan 2010 - 23:29, édité 1 fois
Revenir en haut Aller en bas
Invité
Invité




Boite de Dialogue Fourre-tout Empty
MessageSujet: Re: Boite de Dialogue Fourre-tout   Boite de Dialogue Fourre-tout EmptySam 9 Jan 2010 - 23:24

Je viens de rééditer les 2 programmes pour insérer la création du dossier, si celui-ci est absent.
Mais j'ai pas encore vérifié, ce que je m'empresse de faire.

réédité une 2ème l'ensemble
C'est pas dir_mark, mais dir_make, et maintenant ça fonctionne

Cela dit: Si vous utilisé ce programme, dans d'autre programmes, il faut soit mettre les programmes dans des dossiers séparés, ou alors dans chaque programme, mettre un nom différent de dossier, et modifier le programme avec ce nom, en création, en lecture, et en sauvegarde.
Revenir en haut Aller en bas
Jean Claude

Jean Claude


Nombre de messages : 5950
Age : 69
Localisation : 83 Var
Date d'inscription : 07/05/2009

Boite de Dialogue Fourre-tout Empty
MessageSujet: Re: Boite de Dialogue Fourre-tout   Boite de Dialogue Fourre-tout EmptyDim 10 Jan 2010 - 18:59

J'ai essayé les 2 (ce sont pratiquement les mêmes), çà à l'air de fonctionner. Mais il semble que les données ne sont pas enregistrées.
J'ai explorer le code, je nage. Comme tu dis: si on l'a pas écrit soi-même c'est difficile.

Je suppose que normalement on devrait retrouver les saisies dans un ou plusieurs fichiers.

A+

Prend ton temps pour répondre, je m'asente jusqu'a mardi
Revenir en haut Aller en bas
Invité
Invité




Boite de Dialogue Fourre-tout Empty
MessageSujet: Re: Boite de Dialogue Fourre-tout   Boite de Dialogue Fourre-tout EmptyDim 10 Jan 2010 - 19:54

Je suis bien content que tu ais testé.
Avant de mettre sur le forum j'ai fait du nettoyage, enlevé des lignes vide etc...., j'ai effacé une ligne sur le 1er programme, et évidemment reporter sur le 2ème, vu que c'est le même mais nettoyé
ligne 233 : goto valide n'était plus présent et ligne 225 pour le 2ème.
De plus, mais là ce n'est pas important mais les numéros de boite, je ne les ait pas réactualisé lorsque j'ai fait la démo, donc ici, ils ne vont pas en suivant, soit tout recopier, ou alors dans la procédure code: mettre les numéros, comme &1 &2 &3... dans ct$ pour que la chose semble correct.
Là ça fonctionne correctement chez moi.
Merci pour le teste, je ne l'avais pas remarqué.
@+
Revenir en haut Aller en bas
Invité
Invité




Boite de Dialogue Fourre-tout Empty
MessageSujet: Re: Boite de Dialogue Fourre-tout   Boite de Dialogue Fourre-tout EmptyDim 10 Jan 2010 - 20:33

J'ai rechargé les 2 programmes depuis le web, après les avoir modifiés, afin de les essayer.
Apparemment ils fonctionnent tout les deux.
Seul bémol, sur le 2ème l'essai 4 du 1er sur le remplissage d'une grille du loto, n'est plus dans le 2ème programme. Comme c'est du teste, et ne change rien au programme, je ne l'ai pas remis. Si des mémos ont étés enregistrés dans le 1er programme, il y aura un décalage sur le second programme évidemment.
Si certain sont effectivement intéressé par ce programme, je ferais des modifications pour avoir des noms de dossier différent d'un programme à l'autre. ici le dossier en cause est "contrôle". Mais pour moi seul, je n'en vois pas l'utilité.
Revenir en haut Aller en bas
Invité
Invité




Boite de Dialogue Fourre-tout Empty
MessageSujet: Re: Boite de Dialogue Fourre-tout   Boite de Dialogue Fourre-tout EmptyLun 11 Jan 2010 - 0:52

Je reprends un post parce que je viens de voir quelque chose de pas mal dans mon programme, et je ne le savais pas
La petite boite d'attente que j'ai mis a une particularité très intéressante, par rapport à la commande message, elle fait la même chose (il faudrait revoir les dimensions), mais elle ne bloque pas le programme. On peut modifier un mémo, ou autre, il n'est pas nécessaire de cliquer sur le bouton pour avoir la main, et ça c'est bien souvent important.
C'est un peu plus compliqué, il faut faire la boite
J'ai fais un programme d'essai rapide, maintenant je suis sur autre chose.
Code:

label essai,attente,fin
width 0,300 : on_click 0,essai
' création de la boite d'attente
form 1 :hide 1:top 1,300:left 1,800:width 1,300:height 1,110:color 1,237,232,124:border_small 1
caption 1,"essai de la boite"
alpha 2:parent 2,1:top 2,10:left 2,20:width 2,180:font_size 2,10:font_bold 2
button 3:parent 3,1:top 3,50:left 3,60:caption 3,"sortir"
' -----------------------------
memo 4:width 4,280: font_size 4,16:item_add 4,"Cliquez sur la form pour commencer"

end
' ======================================
' ==================fenêtre d'attente===
essai:
  clear 4: message "essayez de modifiez le mémo"
  caption 2,"essai de la boite: je peux aller"+chr$(13)+"écrire dans le mémo"
  gosub attente:goto fin
return

attente:
  show 1
  repeat:until clicked(3)=1
  hide 1
return

fin:
terminate
Il est évident que c'est pour certain cas de figure, un message est plus simple.
Sans le vouloir, cette petite boite m'arrange.
Revenir en haut Aller en bas
Contenu sponsorisé





Boite de Dialogue Fourre-tout Empty
MessageSujet: Re: Boite de Dialogue Fourre-tout   Boite de Dialogue Fourre-tout Empty

Revenir en haut Aller en bas
 
Boite de Dialogue Fourre-tout
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Afficher la boite de dialogue A propos.
» Un moyen d'appeler des boites de message personnalisées
» boite de sélection et boite de texte
» BOITES DE DIALOGUE
» Boite stop

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: Vos sources, vos utilitaires à partager-
Sauter vers: