その他の暗黙の約束など

V3 で設定している変数の型

  変数のみ double
  変数+_ long

メッセージボックスの利用

  MessageBox(NULL,"メッセージ","メッセージタイトル",MB_OK);
  メッセージを表示して、OK入力をします。
  戻値 なし

レイヤ待避

  CALL_PUSH_LAYER();

レイヤ表示状態復帰

   CALL_POP_LAYER();

データ表示(指定アドレス以降)

  N_=表示開始アドレス
  DX_=0;DY_=0;MODE_=n88_OR;N_=DEND1+1;X_=(long)DWXMIN;Y_=(long)DWYMIN;GOSUB_GDISP;

大文字小文字関係なく同じかどうかの比較
if( stricmp( sbuf,"&bou" ) == 0 ){strcpy(W_STRING,sbuf);GOSUB_YES_NO;}
最初の4バイトの比較
if( strnicmp( W_STRING , "&bou" , 4 ) == 0 ){........}

i をとれば大文字小文字の違いも比較します。
strcmp(...) , strncmp(...)
です。

大文列の4つの頂点の座標
double xx1;
double yy1;
double xx2;
double yy2;   2  3
double xx3;    □
double yy3;   1  4
double xx4;
double yy4;
Xproc->xdra_get_text_4point( XDRAPTR , データ位置 , &xx1, &yy1, &xx2,&yy2, &xx3, &yy3, &xx4, &yy4 );
で得られます。

ロックレイヤの設定
XDRAPTR->lock_layer[nn] ; を参照したり、代入して下さい。
nnはレイヤ番号
0はロックなし
1はロックです。


XDRAPTR->lock_layer[3]=1 ;
if( XDRAPTR->lock_layer[3] != 0 ){ XDRAPTR->lock_layer[3] = 0 ; }

色に関するシステム変数

SUBMENU->big_color     フォアグランドカラー
SUBMENU->big_light     左上のハイライト
SUBMENU->big_shadow   右下の影
SUBMENU->small_color   選択時のフォアグランドカラー

TEXT_COLOR         サブメニュウ−文字
TEXT_BACK_COLOR
TEXT_BACK_MODE
TEXT_FONT
TEXT_BOLD
TEXT_HDIST
TEXT_WDIST
SEL_TEXT_COLOR      選択時の文字の色

原点の位置の変更等で上位の値を変えずに下位1バイトを変えたい場合
(レイヤ、パレット、線種なども同じように指定する)

N=アドレス
GEN=任意の原点位置
C7_(N_+1)=((C7_(N_+1) & (0xffffff00))|GEN);
色の場合
C3_(N_)=( ( (C3_(N_) & (0xffff00ff) ) | ( COL*256 ) );
C3_(N_)=( ( (C3_(N_) & (0xffff00ff) ) | ( COL << 8 ) );

不良なデータの検索と修正(バケツ)
long N=Xproc->xdra_gbaketu(XDRAPTR,0)
0=スタートアドレス
N=以上なデータの数
動作
もし異常なデータがあれば、取りあえず動くだけのデータにして終了する
コマンドを抜けるときに、このコマンドを実行しておくことをお勧めます
動きは速いです(GOSUB_GPAKと併用する)

アドレスを指定して、そのデータの寸法属性を取得する
CALL_GET_LINK_CODE (XDRAPTR,NO,&DIMNO,&KETA,&ZERO,&KANMA,&MARUME)
NO=データアドレス
long DIMNO=寸法属性番号
long KETA=l桁数
long ZERO=ゼロを取る処理
long KANMA=カンマ処理
long MARUME=,丸め処理
UNITが無い事に注意する(SETの方は有る)

アドレスを指定して、そのデータに寸法属性をセットする
CALL_SET_LINK_CODE (XDRAPTR,NO,DIMNO,KETA,ZERO,KANMA,MARUME,UNIT)
NO=データアドレス
long DIMNO=寸法属性番号
long KETA=l桁数
long ZERO=ゼロを取る処理
long KANMA=カンマ処理
long MARUME=,丸め処理
使用例
CALL_GET_LINK_CODE (XDRAPTR,1000,12,2,1,1,1,0)
最後の0はUNITmmをあらわす

寸法属性の更新(内部データによる)
CALL_CHANGE_DIMSTRING(XDRAPTR,DEND1,DEND2,1,0);
寸法線と寸法文字のどちらかのアドレスが入っていれば更新される
DEND1=スタートアドレス
DEND2=終了アドレス
1=更新する
0=確認無し

4バイトデータの部分読み書きについて

Xval-.>XDRAPTR-.>C1.slong[nn].b
slong  sshort、schar、ulong、ushort、schar
slong  0〜±32000
ulong  0〜65555
C1   C1〜C7
[nn]  C1_(nn)
 b  a
□□□□
d c b a

例題 C7_(1223+1)の下位バイトを求める(原点)
    原点=Xval-.>XDRAPTR-.>C7.sshort[1224].a