Welcome to Our Company
HOME シェアウェア 講習 リンク

 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