pierredudu Posté(e) le 28 mai 2007 Posté(e) le 28 mai 2007 bonjour,Voici mon lisp qui controle + ou - mon .dcl (defun c:toto ()(setq id (load_dialog "toto.dcl"))(if (not (new_dialog "toto" id)) (exit))(action_tile "A" "(setq 1)")(action_tile "B" "(setq 2)")(action_tile "C" "(setq 3)")(action_tile "D" "(setq 4)")(action_tile "accept" "(done_dialog)")(start_dialog) mon .DCLtoto : dialog {label = "TITRE";: radio_column {label = "lettre";: radio_button {label = "1";key = "A";value = "1";}: radio_button {label = "2";key = "B";}: radio_button {label = "3";key = "C";}: radio_button {label = "4";key = "D";}}ok_only;} Je n'arrive pas a écrire dans mon lisp malgrès les nombreux exemples que j'ai trouvé sur ce forumsi key a activé (command x etc...)si key b activé (command y etc...) 4 radio_button avec un OK à controler seulement et je n'y arrive pas :casstet: merci d'eclairer ma lanterne meme si ça vous parait trop facile :D
Patrick_35 Posté(e) le 28 mai 2007 Posté(e) le 28 mai 2007 SalutTu as plusieurs possibilitées Exemple 1(defun c:toto () (setq id (load_dialog "toto.dcl")) (if (not (new_dialog "toto" id)) (exit)) (action_tile "A" "(alert\"Vous avez choisis sur le bouton 1\")") (action_tile "B" "(alert\"Vous avez choisis sur le bouton 2\")") (action_tile "C" "(alert\"Vous avez choisis sur le bouton 3\")") (action_tile "D" "(alert\"Vous avez choisis sur le bouton 4\")") (action_tile "accept" "(done_dialog)") (start_dialog) (unload_dialog id) ) Exemple 2(defun c:toto () (defun choix_bouton(val) (alert (strcat "Vous avec choisis le bouton " (itoa val))) ) (setq id (load_dialog "toto.dcl")) (if (not (new_dialog "toto" id)) (exit)) (action_tile "A" "(choix_bouton 1)") (action_tile "B" "(choix_bouton 2)") (action_tile "C" "(choix_bouton 3)") (action_tile "D" "(choix_bouton 4)") (action_tile "accept" "(done_dialog)") (start_dialog) (unload_dialog id) ) Exemple 3(defun c:toto () (setq id (load_dialog "toto.dcl") ch 1) (if (not (new_dialog "toto" id)) (exit)) (action_tile "A" "(setq ch 1)") (action_tile "B" "(setq ch 2)") (action_tile "C" "(setq ch 3)") (action_tile "D" "(setq ch 4)") (action_tile "accept" "(done_dialog)") (start_dialog) (unload_dialog id) (alert (strcat "Vous avec choisis le bouton " (itoa ch))) ) A toi de faire ton choix en fonction de tes besoins @+ Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
pierredudu Posté(e) le 28 mai 2007 Auteur Posté(e) le 28 mai 2007 bonjour et merci patrick-35 je commence à voir des possibilités mais ce que je n'arrive pas, c'est que lorsque dans ma boite de dialogue le bouton OK est validé alorssi action-tile A est selectionné, tu executes (command " 1")si action-tile b est selectionné, tu executes (command " 2")si action-tile c est selectionné, tu executes (command " 3") Je m'excuses d'etre aussi lourd mais j'aime bien comprendre je que j'écris en programmation d'avance merci
Patrick_35 Posté(e) le 28 mai 2007 Posté(e) le 28 mai 2007 Je m'excuses d'etre aussi lourd mais j'aime bien comprendre je que j'écris en programmation Ce qui me parait normal Dans l'exemple 3, tu stockes le choix de ton bouton dans la variable ch, et dès que tu fais OK, tu sais quelle bouton qui a été retenue @+ Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
pierredudu Posté(e) le 28 mai 2007 Auteur Posté(e) le 28 mai 2007 ça c'est impeccable merci beaucoupune derniere chose...maintenant que la variable est stockée dans le bouton OKj'ai 4 petit programme à faire fonctionnerJe ne sais pas comment lui faire executer le progr 1 pour le bouton 1progr 2 pour le bouton 2progr 3 pour le bouton 3progr 4 pour le bouton 4j'ai essayé ça mais rien de rien (if (= ch 1) (progn (command "ligne") (if (= ch 2)(progn(command"pedit") sinon avec defun aussi mais rien non plus Promis je vous embete plus après ... peut-etre :D
pierredudu Posté(e) le 29 mai 2007 Auteur Posté(e) le 29 mai 2007 bonjour,Après de nombreux essais, je n'y arrive toujours pas à lancer ces programmes en fonction de ce qui est selectionnéJ'aimerais juste savoir comment ça s'actionne tout ça ?merci déjà à patrick_35 pour hier
Patrick_35 Posté(e) le 29 mai 2007 Posté(e) le 29 mai 2007 Un exemple(cond ((eq ch 1) (load"prog1") ; s'il n'est pas déjà chargé (c:prog1) ) ((eq ch 2) (load"prog2") ; s'il n'est pas déjà chargé (c:prog2) ) ... ((eq ch 5) (load"prog5") ; s'il n'est pas déjà chargé (c:prog5) ) ) @+ Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
pierredudu Posté(e) le 30 mai 2007 Auteur Posté(e) le 30 mai 2007 bonjour, je n'ai qu'une chose à dire merci merci merci et merci à Patrick_35j'espere pouvoir renvoyer l'ascenseur un jour :P
Messages recommandés
Créer un compte ou se connecter pour commenter
Vous devez être membre afin de pouvoir déposer un commentaire
Créer un compte
Créez un compte sur notre communauté. C’est facile !
Créer un nouveau compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant