Getfiled

提供:GizmoLabs - だいたい CAD LISP なサイト
構文
(getfiled title default ext flags)


機能
標準ファイル ダイアログでファイル名を指定するようユーザに要求し、ユーザが指定したファイル名を返す。
getfiled は、指定された拡張子の使用可能なファイルのリストを含むダイアログ を表示する。このダイアログ を使用すると、複数のドライブとディレクトリに渡る参照や、既存のファイルの選択、新しいファイルの名前の指定を行うことができる。


引数
  • title : ダイアログ のラベルを指定する文字列。
  • default : 使用する既定値のファイル名。空の文字列("")を指定することもできる。
  • ext : 既定値のファイル名拡張子。ext が空の文字列("")の場合、拡張子は *(すべての種類のファイル)になる。ファイルの種類 dwg が ext 引数で指定された場合、getfiled はダイアログ にイメージ プレビューを表示する。
  • flags : ダイアログ の動作をコントロールする整数値 (ビットコード化されたフィールド)。 同時に複数の状態を設定するには、値を足して 0から 15 の範囲のflags 値を作成する。
getfiled が認識する flags 引数は、次のとおり。
  • 1 (ビット 0) 新規に作成するファイル名を求める。既存ファイルを開く場合、このビットをオンにしない。オフの場合に、存在しないファイルの名前が入力されると、警告ボックスを表示する。オンの場合、存在するファイルを選択すると、操作を続けるかキャンセルするかを選択する警告ボックスが表示される。
  • 4 (ビット 2) 任意のファイル拡張子をユーザに入力させるか、させないかを指定する。オフの場合、ext 引数で指定された拡張子のみを受け入れ、ユーザが[ファイル名]テキストボックスに拡張子を入力しなかった場合は、既定値の拡張子が付加される。
  • 8 (ビット 3) このビットがオンでビット0がオフの場合、入力されたファイル名の検索を行う。検索パス内で見つかった場合、パス名を付けずに、ファイル名のみが返される(異なるディレクトリに見つかった場合はパス名が付く)。 このビットが設定されていない場合、パス名を含む完全なファイル名を返す。既存のファイル名を図面(又は他のデータベース)に保存する為に、使用する場合は、このビットを設定する。
  • 16 (ビット 4) このビットがオンか、default 引数の終端がパス区切り記号の場合、引数はパス名のみとみなされる。 getfiled は、既定値のファイル名が存在しないとみなす。[探す場所]にパスが表示され、 [ファイル名]ボックスは空白になる。
  • 32 (ビット 5) このビットをオンに設定し、かつビット0 をオンに設定(新規ファイルを指定)すると、ユーザが既存のファイルを上書きしようとしても、警告は表示されない。既存のファイルと同じファイル名であることを知らせる警告ボックスは表示されずに、以前のファイルが置き換えられる。
  • 64 (ビット 6) ユーザが URL を指定した場合、リモートファイルを転送しない。
  • 128 (ビット 7) URL をすべて禁止する。


戻り値
ユーザがダイアログ ボックスでファイル名を指定すると、getfiled 関数はファイル名を示す文字列を返す。それ以外の場合は、nil を返す。


サンプル
次のように getfiled 関数を呼び出すと、[LISP ファイルを選択]ダイアログ ボックスが表示される。
 (getfiled "Lisp ファイルを選択" "c:/<lisp directory>/" "lsp" 8)

結果として、CAD は次のようなダイアログ ボックスを表示する。



 ; 複数の拡張子を指定する場合はセミコロンで区切る
 (getfiled "図面ファイルを選択" "c:/<my documents>/support/" "dwg;dxf;dwf" 8)

 ; defaultが空か無効なファイルやフォルダだった場合は、現在のフォルダが初期値になる。
 (getfiled "図面ファイルを選択" "" "dwg;dxf;dwf" 8)



関連事項