(defun c:test ( / BLLIST DAT L_AUSWAHL) (if(setq Bllist (Test:Blockliste)) (progn (setq l_auswahl "0") (setq dat (load_dialog "test.dcl")) (if (not (new_dialog "JB_test_1" dat)) (exit)) (start_list "JB_l1" 3) (mapcar 'add_list Bllist) (end_list) (test:set Bllist l_auswahl) ;;;mit Deiner Funktion (action_tile "JB_l1" (strcat "(setq l_auswahl (itoa(c:myLibFunc_getListIndex (nth (atoi $value) Bllist)Bllist)))" "(test:set Bllist l_auswahl))")) ;;;nur $value verwenden ;;;(action_tile "JB_l1" "(test:set Bllist $value))") (action_tile "accept" "(done_dialog)") (start_dialog) (unload_dialog dat) ) (alert "Keine Blöcke in der Datei"))) (defun c:myLibFunc_getListIndex (LiElem Li / ) (if (= (type Li) 'LIST) (if (member LiElem Li) (- (length Li) (length (member LiElem Li))))) ) (defun test:set (Bllist l_auswahl / ) (set_tile "JB_l1" l_auswahl) (set_tile "JB_t1" (nth (atoi l_auswahl)Bllist))) (defun test:Blockliste ( / BLLIST BLOCK) (setq Block (cdr(assoc 2(tblnext "Block" T)))) (while Block (setq Bllist (cons Block Bllist ) Block (cdr(assoc 2(tblnext "Block"))))) (reverse BLlist))