Sds getfiled

提供:GizmoLabs - だいたい CAD LISP なサイト
構文
int sds_getfiled (const char *title, const char *path, const char *fileext, int options, struct sds_resbuf *filename);


機能
標準ファイル ダイアログ ボックスでファイル名を指定するようユーザに要求し、ユーザが指定したファイル名を返す。
引数
  • *title : ダイアログのタイトル
  • *path : デフォルトのファイルのパス。NULL ならカレントの作業ディレクトリ。
  • *fileext : ファイル拡張子
  • options : オプション(下表参照)
  • *filename : ファイル名。ユーザーが Type It ボタンを選択した場合、resval は 1。
戻り値
RTNORM または RTERROR。


オプション
オプション 意味
1 新規に作成するファイル名を求める。既存ファイルを開く場合、このビットをオンにしない。オフの場合に、存在しないファイルの名前が入力されると、警告ボックスを表示する。オンの場合、存在するファイルを選択すると、操作を続けるかキャンセルするかを選択する警告ボックスが表示される。
2 "Type it" ボタンをグレーアウト。
4 ユーザーが fileext によって指定されている以外のファイル名を入力するのを許可する。
8 このオプションがセットされるとファイル名のみリザルトバッファ(filename)に格納される。セットされないときはフルパスが格納される。オプション1がセットされてる場合は影響しない。
16 パスがパス名のみとみなされる。パスがスラッシュで終了する場合も True。


サンプル
struct sds_resbuf filename;
sds_getfiled("sds_getfiled テスト ダイアログ",NULL,"DWG",4,&filename);
if (filename.restype==RTSTR)
  sds_printf("\nファイル名は %s. ",filename.resval.rstring);
else if (filename.restype==RTINT)
  sds_printf("\nユーザは \"Type it\" ボタンを選びました。 ");
else 
  sds_printf("\nエラーが発生しました。");