hi lispler!
bin ganz am anfang mit dcl und habe drei fragen dazu:
1.wie komme ich an die rückgabe werte der dcl datei wenn ich keine eíngaben verändere und nur mit ok bestätige (auch unter berücksichtigung von (set_tile) und value. die auskommentierten(get_tile) anweisungen funktionieren leider nicht.
2.was ist der unterschied zw. (action_tile) und (get_tile)?
(ich stell's mit in etwa so vor: action_tile: wenn "key pressed" mache das was in der gequoteten anweisung steht (lisp-ausdruck). get_tile: enthält den rückgabewert von key. stimmt das so oder lieg' ich völlig daneben?)
d4 : dialog
{
label = "xxx";
: edit_box
{
label = "text1";
key = "text1";
edit_limit = 7;
edit_width = 7;
value = "abc";
}
: edit_box
{
label = "text2";
key = "text2";
edit_limit = 2;
edit_width = 2;
}
spacer_1;
:boxed_radio_column
{
label = "xxx" ;
: radio_button
{
key = "rb1" ;
label = "A" ;
}
:radio_button
{
key = "rb2" ;
label = "B" ;
}
}
spacer_1;
: toggle
{
key = "tg1";
label = "toggle1";
value = "1";
}
spacer_1;
: toggle
{
key = "tg2";
label = "toggle2";
}
spacer_1;
ok_cancel ;
}
(defun C:d4 ( / dcl_id)
(setq dcl_id (load_dialog "4.dcl"))
(if (not (new_dialog "d4" dcl_id)) (exit ));
(set_tile "text2" "3")
(set_tile "rb1" "1")
(set_tile "rb2" "0")
(set_tile "tg2" "1")
;(SETQ text1 (GET_TILE "text1"))
;(SETQ text2 (GET_TILE "text2"))
;(SETQ rb1 (GET_TILE "rb1"))
;(SETQ rb2 (GET_TILE "rb2"))
;(SETQ tg1 (GET_TILE "tg1"))
;(SETQ tg2 (GET_TILE "tg2"))
(action_tile "text1" "(setq text1 $value)")
(action_tile "text2" "(setq text2 $value)")
(action_tile "rb1" "(setq rb1 1)")
(action_tile "rb2" "(setq rb2 1)")
(action_tile "tg1" "(setq tg1 1)")
(action_tile "tg2" "(setq tg2 1)")
(action_tile "accept" "(done_dialog) (SETQ userclick T))")
(start_dialog)
(unload_dialog dcl_id)
(LIST text1 text2 rb1 rb2 tg1 tg2 userclick)
);defun
ciao georg
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP