Novembre 2024 | Lun | Mar | Mer | Jeu | Ven | Sam | Dim |
---|
| | | | 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 | | Calendrier |
|
|
| boite de message | |
| | Auteur | Message |
---|
Invité Invité
| Sujet: boite de message Lun 11 Jan 2010 - 9:56 | |
| Je remets ici le petit programme que j'ai posté hier soir sur boite de Dialogue Fourre-tout En me servant de mon programme, j'ai constaté que cette petite boite avait une particularité très intéressante, à ma grande surprise. Par rapport à la commande message, elle fait la même chose, mais elle ne bloque pas le programme. On peut modifier un mémo, avec la commande MESSAGE, tant qu'on a pas cliqué sur le bouton, on est bloqué, et dans certain cas, c'est plutôt gênant. C'est un peu plus compliqué, il faut faire la boite J'ai fais un programme d'essai rapide. 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. |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: boite de message Lun 11 Jan 2010 - 20:45 | |
| Intéressant ! je ne vois pas d'application dans l'immédiat, mais c'est une piste intéressante. | |
| | | Invité Invité
| Sujet: Re: boite de message Lun 11 Jan 2010 - 21:32 | |
| Ça c'est passé comme ça; en faisant des essais de rentrer des listes avec ma boite de dialogue, à la sortie j'ai récupéré les données en les mettant dans des listes côte à côte comme si c'était des colonnes, et j'ai mis une boite de message pour pouvoir regarder si les données dans les listes étaient bonnes, et j'ai voulu voir si je pouvais modifier les données dans les listes dans le cas d'une erreur, et impossible (en réalité j'avais mis des mémos parce qu'une liste ne se modifie pas comme ça). Comme je n'avais pas encore retiré la petite boite, j'ai fais l'essai, et là j'ai vu que c'était possible. Pour moi, l'application dès le départ est toute trouvé, et j'ai pensé que cela pouvait intéresser quelqu'un d'autre. Dans une boucle, si on met un message pour contrôler une variable, on ne peut que cliquer sur le bouton et continuer. Avec la boite et 2 boutons, on peut arrêter le programme. - Code:
-
dim a%,b% 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" button 4:parent 4,1:top 4,50:left 4,160:caption 4,"stopper" ' ----------------------------- memo 5:width 5,280: font_size 5,16:item_add 5,"Cliquez sur la form pour commencer"
end ' ====================================== ' ==================fenêtre d'attente=== essai: for a%=1 to 5 :item_add 5,a% gosub attente :next a% return
attente: show 1 repeat for b%=3 to 4:if clicked(b%)=1 then exit_for next b% if b%=4 then stop until b%<5 hide 1 return
fin: terminate |
| | | Invité Invité
| Sujet: Re: boite de message Mar 12 Jan 2010 - 3:05 | |
| J'aimerai savoir ce que pense Jack, et je crois que cet exemple peut servir de fil conducteur. Pour activer la procédure essai, je suis obligé de procédé par un clic, pour activer END, qui met Panoramic en attente d'événement. La procédure en question aurait très bien pu être mis avant le END, car je viens de faire un essai en m'étends gosub essai , et les boutons fonctionnent avec clicked(). Ici c'est une toute petite procédure, on réfléchi, et on a pas encore vu le END, donc les événements? Maintenant je modifie légérement le programme, et on regarde: - Code:
-
dim a%,b% label essai,attente,fin ,messag 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" :on_click 3,fin button 4:parent 4,1:top 4,50:left 4,160:caption 4,"stopper" ' ----------------------------- memo 5:width 5,280: font_size 5,16:item_add 5,"Cliquez sur la form pour commencer" gosub essai end ' ====================================== ' ==================fenêtre d'attente=== essai: for a%=1 to 5 :item_add 5,a% : gosub attente :next a% :return
attente: show 1:repeat for b%=4 to 4:if clicked(b%)=1 then exit_for : ' on ne teste plus que bouton 4 next b% if b%=4 then goto fin until b%<5 : hide 1 :message "sortie de la boucle": return :' je concentre pour moins de lignes
messag: message "bouton 3 cliqué":return
fin: terminate On constate que le bouton 3 amène access violation, vu que le END connait pas (c'est l'explication que je donne, peut-être ton point de vue est différent) si je mets plutôt : on_click 3,messag, le 1er clic sur 3, message est exécuté, il ne sort pas de la boucle repeat/until, mais ne fonctionne plus. Par contre le bouton 4,lui donne access... maintenant mettons un REM devant gosub essai qui précède le END, et regardons: Le END est exécuté, on clic sur la form. Si je clic sur bouton 3 avec on_clic3,messag , le bouton ne fonctionne pas, par contre avec le 4 qui lui est testé par clicked(), fonctionne. En remettant for b%=3 to 4, il re- fonctionne. A mon sens (à cette heure j'ose pas faire trop de manipulation avec le bruit du clavier), il y a quand même un problème vu qu'il y a END et on_click3 Je me demandais si dans ta liste, à une certaine hauteur, il faudrait pas intégrer une commande du genre END_GOTO, ou ON_END_GOTO avant le END, pour éviter qu'une fois lancé, il faille cliquer sur un bouton pour activer une procédure "active" (la passive serait celle qui attend un clic -il y a peut-être un nom à cela?), la mienne risque d'être très longue. Si tu penses comme moi, il n'y a vraiment pas urgence, mais cela fait bizarre aujourd'hui d'être obligé de cliquer pour que ça démarre. Certes ma méthode n'est pas conventionnelle, mais me parait la meilleur pour mon programme. Peut-être y a t'il une erreur de ma part, à cette-ci je ne la voie pas. Par contre sur le fait de programmer "classiquement" maintenant ça marche, apparemment cela suit ce que je veux. @+ Si c'est un bug, ce n'est pas l'endroit, mais fait suite aux programmes plus haut Lorsque j'ai commencé à posté à 2h du matin, je pensais en avoir pour5/10mn, je ne pensais que parlais de END_GOTO, ou de ON_END_GOTO, et c'est en développent que les réactions m'ont semblées bizarre. Sinon j'aurais attendu pour contrôler et si il y a bug, le mettre à sa place. |
| | | Invité Invité
| Sujet: Re: boite de message Mar 12 Jan 2010 - 16:37 | |
| Je retire ce que j'ai dis sur le bug, malgrès les apparences, il n'y en a pas. Mais le fait d'avoir une file d'attente aujourd'hui, modifie le comportement de Panoramic, et son apparence, mais ça fait bizarre, on ne se l'imagine pas comme ça. La seul chose que j'ai un doute c'est sur access violation dans certains cas sur bouton 4. Désolé Jack d'avoir mis en doute un problème qui n'est pas. Par contre mon idée de ON_END_GOTO, je pense qu'il est encore valable. @+ Je vais en profiter pour dire la bienvenu à tous ce que je n'ai pas fais: Bienvenue à: garbe - pierre - jeanlouisf - Klaus -sergeauze - Myriam - Tengaal. Je me suis arrété au 1 déc. Dorénavant je le ferais à la fin d'un poste (je n'aime pas incrémenter le compteur indument ) |
| | | Contenu sponsorisé
| Sujet: Re: boite de message | |
| |
| | | | boite de message | |
|
Sujets similaires | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |