Sds tblnext

提供:GizmoLabs - だいたい CAD LISP なサイト
2009年12月22日 (火) 14:05時点におけるGizmon (トーク | 投稿記録)による版 (ページの作成: ; 構文 : struct sds_resbuf *sds_tblnext (const char *tablename, int flag); ; 機能 : シンボル テーブル内の次の項目を取得する。 : flag を指定(通常…)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
構文
struct sds_resbuf *sds_tblnext (const char *tablename, int flag);


機能
シンボル テーブル内の次の項目を取得する。
flag を指定(通常は1)した場合、テーブルの最初の項目を取得する。
引数
  • *tablename : シンボルテーブル名
  • flag : フラグ
戻り値
項目があればドットペアリスト。なければ nil。
システム変数 ERRNO にエラーコードをセット。


有効な tablename は以下の通り:
テーブル名 意味
APPID アプリケーションID名。
BLOCK ブロック名。
DIMSTYLE 寸法スタイル名。
LAYER 画層名。
LTYPE 線種名。
STYLE 文字スタイル名。
VIEW 名前のついた表示名。
UCS UCS名。
VPORT Viewport名。


サンプル
char *tablename[] = {"APPID", "BLOCK", "DIMSTYLE", "STYLE", "LAYER", "LTYPE", "UCS", "VIEW", "VPORT"};
char lookfor[512];
int types;
struct sds_resbuf *nextbuf = NULL;

for (types = 0; types<sizeof(tablename)/sizeof(tablename[0]); types++) 
{
  for (nextbuf = sds_tblnext(tablename[types],1); nextbuf! = NULL; 

  nextbuf = sds_tblnext(tablename[types],0)) 
  {
    ob_listdxf(nextbuf);
    sds_relrb(nextbuf); // バッファをリリース
  }
  sds_printf("\nテスト %s.",tablename[types]);
}
nextbuf = NULL;
sds_printf("\nsds_tblnext のテスト完了。");



関連事項