Page 1 sur 1

[R] Gui avec 16 commandes ON / OFF pour le port parallèle

Posté : mer. 16 déc. 2009 18:52
par pierrotm777
Bonjour,

A partir d'un programme, trouvé sur le forum autoit http://www.autoitscript.com/forum/index ... c=31708&st, qui gère le port parallèle, j'ai ajouté une Gui avec 16 boutons,
8 pour les données et 8 pour les controles .

Les valeurs des 8 bits de données et 8 bits de controles sont prédéfinies dans un fichier ini .

Lorsque j'appuie sur un bouton, pour l'instant j'arrive à lire la valeur de chaque bits ,visualisée par un indicateur vert=1 ou rouge=0.

Je voudrais :
1-que dés l'ouverture de la Gui , les indicateurs me donnent l'état de chaque bit.
2-pouvoir changer la valeur de chaque bit en appuyant dés la première fois (l'indicateur doit suivre par un changement de couleur), mais juste en mémoire.
3-Il y a une commande qui permet de mettre les bits data en bidirectionnel, mais peut on les placer en entée ou sortie bit par bit ?
4-sauvegarder les données dans le fichier ini à l'appuie du bouton "OK" .
5-la fonction "ChildrenGui()" fera partie d'un programme qui sera appelé à partir d'un menu se trouvant dans la barre de taches.
Je voudrais pouvoir, aprés appuie sur le bouton OK ou CANCEL sortir de ma fen^tre sans que cela bloque mon programme .
Actuellemnt , je sort avec GuiDelete($Gui) , cela bloque l'utilisation du programme principal !
► Afficher le texte
je joinds la dll nécessaire au bon fonctionnement du script .

Merci par avance de votre aide :wink:

Re: [..] Gui avec 16 commandes ON / OFF pour le port parallèle

Posté : jeu. 17 déc. 2009 18:35
par pierrotm777
Bonjour,

Aprés un peu de tatonnement et de réflection , je pense avoir réussi à donner les bons états aux leds.

J'ai donc remplacé les lignes :
► Afficher le texte
par les lignes suivantes:
► Afficher le texte
Ce qui me permet d'avoir une led verte pour un bit à 1 ou une led rouge pour un bit à 0, et ce , dés l'ouverture de la GUI .

Re: [..] Gui avec 16 commandes ON / OFF pour le port parallèle

Posté : lun. 21 déc. 2009 07:53
par pierrotm777
45 lecteurs et pas un conseil ?

Soyez sympa ! C'est bientôt Noël!

Merci de votre aide

Re: [..] Gui avec 16 commandes ON / OFF pour le port parallèle

Posté : lun. 21 déc. 2009 08:21
par Tlem
Vous pouvez simplifier le dernier code que vous avez proposé par celui-ci :
► Afficher le texte

Re: [..] Gui avec 16 commandes ON / OFF pour le port parallèle

Posté : mar. 22 déc. 2009 10:21
par pierrotm777
Merci Tlem pour votre aide.
Quel simplicité !

Avez vous une idée pour qu'à chaque appuie d'un bouton l'état de la led et du port correspondant changent ?
Lorsque jes quitte ma Gui, par un Guidelete($Gui), cela bloque
mon programme , et je ne peux plus relancer cette même Gui.
Comment sortir proprement svp .

Merci encore

Re: [..] Gui avec 16 commandes ON / OFF pour le port parallèle

Posté : mar. 22 déc. 2009 12:13
par Tlem
J'ai jeté un oeil rapide sur le code et je dirait que le plus simple est de lire l'état des ports dans un tableau (avec la fonction ReadPortStatus()), puis d'afficher le résultat sur la GUI.

Ensuite pour chaque changement, il faut mettre toutes les valeurs à jour dans le tableau puis effectuer le changement avec la fonction SetLPTPortPins().

Perso, ce que je ferait, lors de l'appui sur un des boutons; c'est la lecture de l'état dans le tableau et j'appliquerais le changement nécessaire aussi bien dans le tableau que sur la GUI (à moins que vous ne souhaitiez faire la modif en live ... :roll: ). Donc avec ce nouvel état du tableau, lors de la validation par le bouton OK, j'applique mes changements sur le port et voilà. ;)

Pour la fermeture de votre script, ne pensez-vous pas qu'il vous manque un Exit après avoir détruit la GUI. :roll:

Re: [..] Gui avec 16 commandes ON / OFF pour le port parallèle

Posté : mar. 22 déc. 2009 17:51
par pierrotm777
Aprés remplacement des lignes préconisées par votre code , j'ai bien toujours la lecture de chaque bit mais plus l'affichage des leds dés le démarrage, mais juste à l'appuie d'une touche !

Re: [..] Gui avec 16 commandes ON / OFF pour le port parallèle

Posté : mar. 22 déc. 2009 18:18
par Tlem
Je n'ai pas dit qu'il fallait remplacer par le code que je vous ai donné.
Le code en l'état n'est qu'un exemple de simplification des lignes que vous avez retranscrites. Il faut bien évidement adapter à la situation. :D

Re: [..] Gui avec 16 commandes ON / OFF pour le port parallèle

Posté : mar. 22 déc. 2009 18:37
par pierrotm777
Vous êtes dur avec moi , bon je vais voir , de mon côté et reviendrait vers vous si je coince ! :mrgreen:

Re: [..] Gui avec 16 commandes ON / OFF pour le port parallèle

Posté : mar. 22 déc. 2009 20:56
par Tlem
Je ne suis pas dur, j'essaie simplement de vous faire réfléchir afin que vous puissiez un jour arrivez à vos fins sans l'aide de personne. ;)

Re: [..] Gui avec 16 commandes ON / OFF pour le port parallèle

Posté : lun. 11 janv. 2010 15:27
par pierrotm777
Désolé mais je sèche !

Merci d'avance :|

Re: [..] Gui avec 16 commandes ON / OFF pour le port parallèle

Posté : lun. 11 janv. 2010 15:46
par pop45
Pour si vous utiliser Guidelete puis ensuite vouloir faire revenir la gui je vous conseil de faire
Guisetstat ( @SW_HIDE ou @SW_SHOW )
pas trop sur que se soit exactement sa mais je crois

Re: [..] Gui avec 16 commandes ON / OFF pour le port parallèle

Posté : lun. 11 janv. 2010 17:46
par Tlem
Je ne suis pas sur que cela fonctionne comme vous le voulez et de plus on peut sûrement simplifier encore, mais voici une ébauche :
► Afficher le texte

Re: [..] Gui avec 16 commandes ON / OFF pour le port parallèle

Posté : mer. 13 janv. 2010 16:40
par pierrotm777
Merci Tlem pour votre aide comme toujours efficace !

Le script fonctionne comme je le veux, j'ai juste remplacé la commande $Ok par les lignes suivantes:
► Afficher le texte
De la sorte, les data et controls sont sauvegardés dans le fichier ini .

Re: [..] Gui avec 16 commandes ON / OFF pour le port parallèle

Posté : mer. 13 janv. 2010 16:43
par Tlem
Votre sujet est donc [R]. :wink:

Re: [R] Gui avec 16 commandes ON / OFF pour le port parallèle

Posté : ven. 15 janv. 2010 08:51
par pierrotm777
Absolument, et merci encore !