CADxp: Aide boite DCL - CADxp

Aller au contenu

Page 1 sur 1
  • Vous ne pouvez pas commencer un sujet
  • Vous ne pouvez pas répondre à ce sujet

Aide boite DCL

#1 L'utilisateur est hors-ligne   Neophyte 

  • Advanced Member
  • PipPipPip
  • Groupe : Membres
  • Messages : 39
  • Inscrit(e) : 11-janvier 16

Posté 11 janvier 2016 - 09:26

Bonjour à tous et bonne année !
Etant néophyte en LISP, j'ai besoin d'aide concernant la création d'une boîte de dialogue et de son fichier LISP qui récupère les valeurs entrées dans la boîte.
Pouvez-vous me donner un exemple "bateau" de dcl contenant une "list_box" (indiquant les couleurs par exemple) ainsi que son lisp qui permet d'afficher du texte en fonction de la couleur choisie dans la liste (si on choisit bleu on affiche ciel, rouge => coquelicot, etc ...).

Merci.
0

#2 L'utilisateur est hors-ligne   DenisHen 

  • ceinture rouge et blanche 6em dan
  • Groupe : Membres
  • Messages : 3400
  • Inscrit(e) : 17-décembre 05
  • LocationDIERREY SAINT JULIEN (10190)

Posté 19 mai 2016 - 10:49

Salut.

Je sais que c'est un peu tard, mais si d'autres font la même recherche...

J'ai trouvé beaucoup d'aide ICI...

Denis...
Windows 10 Pro 64bits / AutoCAD MAP 3D 2019 (22.0.022.4)
Covadis 16 / Microstation V8i

Sur terre, il y a 10 types de personnes, celles qui comptent en binaire et les autres...
Davantage d'avantages, avantagent davantage. (Bobby Lapointe)
La connaissance s'accroît quand on la partage.(Socrate)
0

#3 L'utilisateur est hors-ligne   willy95 

  • ceinture bleue
  • Groupe : Membres
  • Messages : 192
  • Inscrit(e) : 24-septembre 08

Posté 23 novembre 2017 - 18:41

Salut,

J'ai perso lu et relu le site précédemment invoqué par "DenisHen" et il existe celui-ci aussi : ici
0

#4 L'utilisateur est hors-ligne   (gile) 

  • ceinture rouge et blanche 8em dan
  • Groupe : Moderateurs
  • Messages : 11290
  • Inscrit(e) : 02-septembre 05

Posté 23 novembre 2017 - 22:07

Salut,

Un exemple minimaliste

Le fichier "ListBox.dcl"
ListBox : dialog {
    // titre de la boite de dialogue
    label = "Couleur";
    // message
    : text { label = "Choisir une couleur dans la liste"; }
    spacer;
    // boite de liste
    : list_box { key = "lst"; }
    spacer;
    ok_cancel;
}


Le code d'une fonction LISP qui affiche la boite de dialogue et retourne la couleur sélectionnée dans la boite si l'utilisateur a fait OK, nil s'il a fait Annuler.
(defun ListBox (/ dcl_id lst status choice)
  (setq dcl_id (load_dialog "ListBox"))
  (if (new_dialog "ListBox" dcl_id)
    (progn
      ;; liste à afficher
      (setq lst '("Rouge" "Jaune" "Vert" "Cyan" "Bleu" "Magenta"))
      ;; initialisation de la boite de liste
      (start_list "lst")
      (mapcar 'add_list lst)
      (end_list)
      ;; réactions aux actions sur les contrôles
      (action_tile "lst" "(setq choice (nth (atoi $value) lst))")
      (action_tile "accept" "(done_dialog 1)")
      (action_tile "cancel" "(done_dialog 0)")
      ;; affichage de la boite dialogue
      (setq status (start_dialog))
      ;; déchargement de la boite de dialogue
      (unload_dialog dcl_id)
      (if (= status 1)
        choice
      )
    )
  )
)


PS : si tu débutes en LISP, commencer par les boites de dialogue n'est pas une bonne idée. S'attaquer au DCL et surtout à la gestion des boites de dialogue suppose certains pré-requis.
Gilles Chanteau - gileCAD -
Développements sur mesure pour AutoCAD
Image IPB
0

Partager ce sujet :


Page 1 sur 1
  • Vous ne pouvez pas commencer un sujet
  • Vous ne pouvez pas répondre à ce sujet

1 utilisateur(s) en train de lire ce sujet
0 membre(s), 1 invité(s), 0 utilisateur(s) anonyme(s)