willy95 Posté(e) le 14 février 2014 Posté(e) le 14 février 2014 Bonjour à tous, J'aimerai vous soumettre un probleme que je traine depuis trop longtemps : Lancer un lisp qui ouvre une petite boite de dialogue avec pour commencer une Question à Choix multiple, puis inserer un bloc suite aux réponses apportées. C'est vrai que pour certains d'entre vous cela reste simple et réchauffé mais je cherche dans tout les sens sans résultat positif, je suis presque sure de ne pas etre loin mais j'ecris comme un petit cochon, alors pour le coup je recherche de l'aide pour pouvoir faire fonctionner cette idée et que je puisse par la suite greffer plusieurs questions dans une seule boite. Voila mon bout d'essai qui ne marche pas : ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; ;; Création de la boite de Dialogue dans un fichier Temporaire ;; ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (setq temp (vl-filename-mktemp "tempone.dcl") file (open tempone "w")) (write-line (strcat "Montitre" ": dialog { key = \"Title\"; label = "" ;//Title$ from lsp file spacer; " ": boxed_radio_row { key = \"Radio1\";label = \"Position du Titre\" ; " ": radio_button { key = \"P\"; label = \"à Gauche\";} " ": radio_button { key = \"L\"; label = \"à Droite\";}} " "spacer; ok_only;" "}//Montitre" ) file ) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; ;; initialisation et chargement de la boite de dialogue ;; ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (setq dcl_id (load_dialog tempone)) (if (not (new_dialog "IncTxt" dcl_id)) (exit)) (while (setq st (tblnext "STYLE" (not st))) (if (/= (cdr (assoc 2 st)) "") (setq slst (cons (cdr (assoc 2 st)) slst)) )) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; ;; Récupération des infos de la boite de dialogue ;; ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (defun c:Montitre (/ Dcl_Id% Radio1$ Return#) (princ "\nMontitre")(princ) (if (not *Montitre@) (setq *Montitre@ (list nil "" "" ))) (setq Radio1$ (nth 1 *Montitre@)) (setq Dcl_Id% (load_dialog "Tempone.dcl")) (new_dialog "Montitre" Dcl_Id%) (set_tile "Title" " - Choix du Cartouche - ") (set_tile "Radio1" Radio1$) (action_tile "Radio1" "(setq format1$ $value)") (action_tile "Radio1" "(setq format1$ $value)") (setq Return# (start_dialog)) (unload_dialog Dcl_Id%) (setq *Montitre@ (list nil Radio1$)) (princ) ) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; ;; Fermeture de la boite de dialogue ;; ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (unload_dialog dcl_id) (vl-file-delete tempone) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; ;; Programme pour inserer le bloc en fonction des choix de la boite de dialogue ;; ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (setq TIT (atoi(get_tile "P"))) (setq TIT (atoi(get_tile "L"))) (SetVar "CMDECHO" 0) (Setq OldAccr (GetVar "OSMODE")) (IF (= (TblSearch "Layer" "Cadre") nil) (command "_Layer" "_N" "Cadre" "_CO" "7" "Cadre" "")) (Setq AncienPlan (GetVar "CLayer")) (command "_Layer" "_S" "Cadre" "") (SetVar "OSMODE" 8) (setq Orientation (/ (* 200 (getvar "VIEWTWIST")) pi)) ;;;;(setq TIT (getstring "\nTitre à Gauche ou à Droite ? < G ou D >")) (IF (= TIT "g") (progn (Setq Point (GetPoint "\nPoint d'Insertion du Point Bas Gauche : ")) (command "_Insert" "Titre-gauche" Point 1 "" Orientation))) (Setq Point Nil) (IF (= TIT "d") (progn (Setq Point (GetPoint "\nPoint d'Insertion du Point Bas Gauche : ")) (command "_Insert" "Titre-droit" Point 1 "" Orientation))) (SetVar "OSMODE" OldAccr) (prin1) Merci d'avance pour vos suggestions...
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