|
|||||||||||||
L8.ダイアログボックスよりテキストデータを取得する (defun c:ufl00008 ( / okfg dm01 dm02 dm03 dclid ) ;ダイアログボックスよりテキストデータを取得する (setq okfg 0) (setq dm01 "") ;上段 (setq dm02 "") ;中段 (setq dm03 "") ;下段 (setq dclid (load_dialog "C:\\UfCadP\\ufl00008.dcl")) ※ (if (not (new_dialog "Ufl00008" dclid)) (prompt "\nダイアログ表示エラー。") (progn (set_tile "ufl00008_k1" dm01) (set_tile "ufl00008_k2" dm02) (set_tile "ufl00008_k3" dm03) (action_tile "ufl00008_k1" "(ufl00008_s1 $value)") (action_tile "ufl00008_k2" "(ufl00008_s2 $value)") (action_tile "ufl00008_k3" "(ufl00008_s3 $value)") (action_tile "cancel" (strcat "(progn (setq okfg 0)" "(done_dialog))" ) ) (action_tile "accept" "(ufl00008_sa)") (start_dialog) (unload_dialog dclid) ) ) (if (= okfg 1) (progn (print dm01) (print dm02) (print dm03) ) ) (princ) ) (defun ufl00008_sa ( / ) (setq okfg 1) (done_dialog) ) (defun ufl00008_s1 (rrr / ) (setq dm01 rrr) (set_tile "ufl00008_k1" rrr) ) (defun ufl00008_s2 (rrr / ) (setq dm02 rrr) (set_tile "ufl00008_k2" rrr) ) (defun ufl00008_s3 (rrr / ) (setq dm03 rrr) (set_tile "ufl00008_k3" rrr) ) 上記AutoLISPファイル(ufl00008.lsp)のダウンロード Ufl00008 : dialog { label = "ダイアログボックス"; : edit_box { label = "文字入力1"; key = "ufl00008_k1"; edit_width = 12; } : edit_box { label = "文字入力2"; key = "ufl00008_k2"; edit_width = 12; } : edit_box { label = "文字入力3"; key = "ufl00008_k3"; edit_width = 12; } : row { fixed_width = true; alignment = centered; ok_button; : spacer { width = 2; } cancel_button; } } 上記ダイアログボックスファイル(ufl00008.dcl)のダウンロード 実行の際は上記ダイアログファイルは※でのフォルダ(C:\UfCadP)に なければならない。 説明 load_dialog:ダイアログファイルをロードする。 new_dialog:特定のダイアログをメモリにロードする。 set_tile:ダイアログの規定値を初期化する。 action_tile:タイルにアクションを割り当てる。 start_dialog:ダイアログを表示する。 unload_dialog:ダイアログをロード解除する。 done_dialog:ダイアログボックスを終了する。 dialog:ダイアログボックスを定義するタイル。 label:タイル内に表示する文字を指定する。 edit_box:ユーザが1行の文字を入力または編集できるフィールド。 key:プログラムがこのタイルを参照するために使用する名前。 edit_width:ボックスの編集(入力)部分の幅を文字幅単位で指定。 row:DCLファイルに現れる順に、水平に配置。 fixed_width:タイルの幅を利用可能なスペースいっぱいに 広げるかどうかを指定する。 有効な値は、trueまたはfalse(規定値false) alignment:クラスタ内でのタイルの水平または垂直位置(位置合わせ) を指定する。 列(column) left、right、centerd(規定値left) 行(row) top、bottoom、centerd(規定値centerd) ok_button:OKボタン。 spacer:空白のタイル。 width:タイルの幅を指定する。距離を文字幅単位で指定。 cancel_button:キャンセルボタン。 Presented By ユーザーフレンドリー E-mail:usrfr@yk.rim.or.jp |