French Attendre qu'on est appuyé sur un bouton avant de continuer...

sitajony

Active Member
Licensed User
Bonsoir à tous je voudrais savoir si c'est possible lors d'une boucle de faire attendre qu'on est appuyé sur un bouton pour continuer la boucle...
Exemple:
Veuillez entrer votre nom:
{textbox}
{button}

et dès qu'on appuie sur le bouton la boucle continue avec les infos renseigné sur le textbox...

Merci d'avance pour vos réponses!
 

klaus

Expert
Licensed User
Pourquoi attendre dans une boucle ?
Le bouton a un évènement Click dans lequel on peut mettre le code.

Sinon il existe un control InputBox dans les librairies ControlExDevice et ControlExDesktop. Personnellement je ne l'utilise pas.

Pourquoi ne pas afficher une fenêtre avec les différentes TextBoxes pour entrer les différents paramètres et avec un bouton pour confimer le tout et dans la routine Button1_Click mettre le code de traitement ? L'utilisateur aurait directement une vue d'ensemble sur les différents paramètres à entrer au lieu de devoir entrer chaque paramètre individuellement et confirmer chaque fois.

Un peu plus de détail sur ce que vous voulez faire permettrait de mieux vous aider.

Meilleures salutations.
 

sitajony

Active Member
Licensed User
Merci pour la réponse, donc je vais expliquer en détail, en faite je cherche à faire un OpenDialog personnalisé car celui de Windows Mobile est très restreint et je voudrais que la suite de code se fasse après avoir appuyé sur Séléctioner/Valider... Je pourais faire une fonction sur le fonction mais j'aurais vraiment voulu faire un wait comme sous WM avec son OpenDialog...
 

klaus

Expert
Licensed User
Le meilleur moyen pour réaliser votre OpenDialog est de créer une nouvelle fenêtre sur laquelle vous affichez les paramètres de sélection avec un bouton Select et un bouton Cancel.
Le fait de cliquer sur le bouton génère l'évènement Click et dans la routine Sub btnSelect_Click qui lui est attachée vous ecécutez le code adequat.
Je ne sais pas si vous êtes familier avec la programmation dite évènementielle ?

La boucle dont vous parlez me rappelle de vieux souvenirs des anciens languages basic. Dans les language modernes cette boucle est gérée par le système d'exploitation qui génère justement ces évènements.

Il existe, dans le forum, quelques FolderChooser or FileChooser développés par des utilisateurs.
http://www.basic4ppc.com/forum/additional-libraries/1238-fgcontrols-library.html
http://www.basic4ppc.com/forum/questions-help-needed/2813-choose-directory.html
http://www.basic4ppc.com/forum/basic4ppc-wishlist/333-source-code-folders-device.html
http://www.basic4ppc.com/forum/questions-help-needed/1565-problem-opendialog.html

Meilleures salutations.
 

sitajony

Active Member
Licensed User
Merci pour ton aide, je vais tester pour voir...
J'utilise des évènements mais pour ce que je dois faire la fonction doit être inclut dans une boucle...
Je vais tester et reporter si j'ai encore un problème...
Merci encore
 

klaus

Expert
Licensed User
Peux-tu expliquer pourquoi tu as besoin d'avoir l'attente d'une réponse dans une boucle?
Je suis quasiment sûr que ça peut se résoudre avec des évènements,

Meilleures salutations.
 

sitajony

Active Member
Licensed User
En faite je fais un sorte de mini "runtime" via un fichier texte que mon code lit, à chaque ligne il fait une fonction assigné par un texte sur la ligne, par exemple si il y'a marqué "selectfichier" il ouvre une boite de dialog pour séléctionner un fichier, ensuite on peut mettre à la ligne suivante "echo %fichier%" pour retourner le fichier séléctionné...
Pour lire ligne par ligne j'utilise un Do Until... Du coup j'ai besoin de marquer une pause avant de continuer sinon le "%fichier%" sera toujours vide...
J'ai éssayé de stocker tout le texte à ouvrir dans un tableau et de faire:

i=0
sub fonction
lancerfonction(tableau(i))
i=i+1
end sub

Et d'ensuite relancer la fonction ou ne pas la relancer si le opendialog est affiché puis la relancer dès qu'on a séléctionné un fichier ou appuyé sur Cancel mais y'a d'autre chose qui font que c'est pas possible malheureusement...
 

klaus

Expert
Licensed User
Ci-joint un petit programme qui montre une solution, à coup sûr, pas la plus élégante.
Je ne sais pas pourquoi il est nécessaire de cliquer 2 fois sur le bouton 'Confirmer' pour que cela fonctionne.
Il faudra tester, car je ne sais pas non plus dans quelle mesure le PPC sera ralenti avec le boucle qui tourne 'en rond' dans l'attente de la confirmation.

Tu peux éventuellement envoyer to code source, et je regarderais s'il y a une autre solution.

Meilleures salutations.
 

Attachments

  • BoucleAttente.sbp
    1.2 KB · Views: 181

sitajony

Active Member
Licensed User
Euh ma source fait plus de 50Ko et est assez bordélique... Je sais pas si tu arriveras à comprendre... Ca fait quelques mois que je suis dessus et j'avais pas encore implementé cette fonction... Je vais éssayer fgControls avec son OpenFile Dialog qui m'a l'air pas mal... Si ca marche pas c'est pas grave je vais faire autrement, dans la commande y'aura un paramettre avec la fonction à lancer lorsque le fichier sera séléctionné ca sera déjà sa...
 

sitajony

Active Member
Licensed User
La lib fgControls a réglé le problème c'est bon merci beaucoup et merci à celui qui a fait cette lib :)
 
Top