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 |
|
|
| Un petit début mais un bug avec BUTTON | |
| | Auteur | Message |
---|
ve2qcg
Nombre de messages : 7 Date d'inscription : 13/03/2011
| Sujet: Un petit début mais un bug avec BUTTON Dim 13 Mar 2011 - 15:09 | |
| Voilà ce que j'ai commencé à programmer mais je ne sais pas comment faire pour que BUTTON active la séquence du programme ? Merci .............. - Code:
-
Rem TEST BUTTON 1 caption 1,"Left" dll_on "inpout32.dll" PARALLEL_ON PARALLEL_OUT 888,002 WAIT 20000 PARALLEL_OUT 888,0 PARALLEL_OFF dll_off END | |
| | | Jack Admin
Nombre de messages : 2394 Date d'inscription : 28/05/2007
| Sujet: Re: Un petit début mais un bug avec BUTTON Dim 13 Mar 2011 - 15:22 | |
| Je viens d'entourer le code que tu proposes par les balises "CODE" et c'est plus présentable. Bon, revenons à ton problème: D'après ton code, tu veux que sur la broche D1 de ta prise imprimante, tu aies un niveau de 5 Volts pendant 20 secondes et cela quand on clique sur le bouton. C'est tès simple et il n'y a pas grand chose à modifier: - il faut associer un événement "click" à ton bouton par "on_click 1,traitement" qui veut dire "quand on clique sur le bouton 1, on va exécuter ce qui commence par le label traitement" - créer le sous-programme pour traiter cet événement (qui commence par le LABEL traitement et qui se termine par RETURN): - Code:
-
Rem TEST label traitement BUTTON 1 caption 1,"Left" on_click 1, traitement: rem à chaque fois qu'on clique sur le bouton, on va en traitement end
traitement: rem sous_programme de traitement de l'événement click hide 1 dll_on "inpout32.dll" PARALLEL_ON PARALLEL_OUT 888,2 WAIT 20000 PARALLEL_OUT 888,0 PARALLEL_OFF dll_off show 1 return Au début du traitement, je cache ton bouton (hide 1) et je le rends à nouveau visible à la fin (show 1). C'est une précaution pour que tu ne sois pas tenté de cliquer plusieurs fois sur le bouton et ainsi d'empiler en séquence plusieurs traitements, car ton traitement dure 20 secondes ! Sinon, ton impulsion de 20 secondes va durer n fois 20 secondes si tu clique n fois de suite sur le bouton ! N'hésites pas si tu as d'autres questions, PANORAMIC est tout à fait capable de piloter des applications robotiques. | |
| | | ve2qcg
Nombre de messages : 7 Date d'inscription : 13/03/2011
| Sujet: Re: Un petit début mais un bug avec BUTTON Dim 13 Mar 2011 - 16:48 | |
| - Jack a écrit:
- Je viens d'entourer le code que tu proposes par les balises "CODE" et c'est plus présentable.
Bon, revenons à ton problème: D'après ton code, tu veux que sur la broche D1 de ta prise imprimante, tu aies un niveau de 5 Volts pendant 20 secondes et cela quand on clique sur le bouton.
C'est tès simple et il n'y a pas grand chose à modifier: - il faut associer un événement "click" à ton bouton par "on_click 1,traitement" qui veut dire "quand on clique sur le bouton 1, on va exécuter ce qui commence par le label traitement" - créer le sous-programme pour traiter cet événement (qui commence par le LABEL traitement et qui se termine par RETURN):
- Code:
-
Rem TEST label traitement BUTTON 1 caption 1,"Left" on_click 1, traitement: rem à chaque fois qu'on clique sur le bouton, on va en traitement end
traitement: rem sous_programme de traitement de l'événement click hide 1 dll_on "inpout32.dll" PARALLEL_ON PARALLEL_OUT 888,2 WAIT 20000 PARALLEL_OUT 888,0 PARALLEL_OFF dll_off show 1 return Au début du traitement, je cache ton bouton (hide 1) et je le rends à nouveau visible à la fin (show 1). C'est une précaution pour que tu ne sois pas tenté de cliquer plusieurs fois sur le bouton et ainsi d'empiler en séquence plusieurs traitements, car ton traitement dure 20 secondes ! Sinon, ton impulsion de 20 secondes va durer n fois 20 secondes si tu clique n fois de suite sur le bouton !
N'hésites pas si tu as d'autres questions, PANORAMIC est tout à fait capable de piloter des applications robotiques. Hey Merci milles fois mon ami ça fonctionne très bien ton truc ! Super je vais m'amuser maintenant à faire d'autre Button ... Alors si j'ai bien compris si je me fais un autre button pour faire controler le D0 à 5v je dois y faire un BUTTON 2 et faire un traitement 2 ? et ainsi de suite pour chaque button programé .... Merci encore mille fois...... Vous êtes vraiment super les amis ! | |
| | | Jack Admin
Nombre de messages : 2394 Date d'inscription : 28/05/2007
| Sujet: Re: Un petit début mais un bug avec BUTTON Dim 13 Mar 2011 - 17:02 | |
| Tout à fait. Tu as compris le principe. Bon, dans ton sous-programme "traitement", j'ai utilisé HIDE et SHOW pour cacher ton bouton au début et pour le faire réapparaitre ensuite, mais c'était pour la pédagogie. Il est plus opérationnel de le desactiver puis de l'activer par INACTIVE et ACTIVE. D'autre part, si tu utilise tes boutons de façon plus répétitive, il n'est pas nécessaire de charger à chaque fois la DLL, ni de faire à chaque fois PARALLEL_ON et PARALLEL_OFF. Tu peux utiliser la fermeture de la fenêtre principale pour arrêter les opérations d'entrée-sortie par PARALLEL_OFF et pour libérer la DLL. Ton programme pourrait ainsi s'améliorer: - Code:
-
Rem TEST label traitement,fini BUTTON 1 caption 1,"Left"
dll_on "inpout32.dll" PARALLEL_ON
on_click 1, traitement: rem à chaque fois qu'on clique sur le bouton, on va en traitement
on_close 0,fini: rem exécute fini quand on ferme la fenêtre
end
traitement: rem sous_programme de traitement de l'événement click inactive 1 PARALLEL_OUT 888,2 WAIT 20000 PARALLEL_OUT 888,0 active 1 return
fini: rem sous_programme exécuté quand on ferme la fenêtre principale PARALLEL_OFF dll_off return | |
| | | ve2qcg
Nombre de messages : 7 Date d'inscription : 13/03/2011
| Sujet: Re: Un petit début mais un bug avec BUTTON Dim 13 Mar 2011 - 22:43 | |
| - Jack a écrit:
- Tout à fait. Tu as compris le principe.
Bon, dans ton sous-programme "traitement", j'ai utilisé HIDE et SHOW pour cacher ton bouton au début et pour le faire réapparaitre ensuite, mais c'était pour la pédagogie. Il est plus opérationnel de le desactiver puis de l'activer par INACTIVE et ACTIVE.
D'autre part, si tu utilise tes boutons de façon plus répétitive, il n'est pas nécessaire de charger à chaque fois la DLL, ni de faire à chaque fois PARALLEL_ON et PARALLEL_OFF. Tu peux utiliser la fermeture de la fenêtre principale pour arrêter les opérations d'entrée-sortie par PARALLEL_OFF et pour libérer la DLL.
Ton programme pourrait ainsi s'améliorer: - Code:
-
Rem TEST label traitement,fini BUTTON 1 caption 1,"Left"
dll_on "inpout32.dll" PARALLEL_ON
on_click 1, traitement: rem à chaque fois qu'on clique sur le bouton, on va en traitement
on_close 0,fini: rem exécute fini quand on ferme la fenêtre
end
traitement: rem sous_programme de traitement de l'événement click inactive 1 PARALLEL_OUT 888,2 WAIT 20000 PARALLEL_OUT 888,0 active 1 return
fini: rem sous_programme exécuté quand on ferme la fenêtre principale PARALLEL_OFF dll_off return C'est super et encore milles merci M. Jack ça fonctionne tonnerre, je suis vraiment heureux d'avoir enfin trouvé un programme comme PANORAMIC il est super et plus simple que le fameux VB 6 express C++ oufffffff Merci pour votre aide et j'ai fais une petite contribution modeste mais si cela peu aider, bien tant mieux, car il est rare d'avoir des logiciels gratuit surtout en Windows.... Lorsque j'aurais terminé le projet je vais le publier sur le site de Panoramic pour aider d'autre personne qui pourrais être tanté de faire des expériences avec le Port Parallèle... Merci encore mille fois............ | |
| | | Contenu sponsorisé
| Sujet: Re: Un petit début mais un bug avec BUTTON | |
| |
| | | | Un petit début mais un bug avec BUTTON | |
|
Sujets similaires | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |