● 構造体

PARAM_INFO 構造体

#define SC_MAX_PARAMNAME        33

typedef struct {
    char            name[SC_MAX_PARAMNAME+3];
    unsigned        type;
    double          *pval;
    int             width;
    int             height;
    int             btempflg;
} PARAM_INFO,*PPARAM_INFO;

変数情報を格納する構造体です。

メンバ内容
name末尾ヌルの変数名を格納するバッファです。
type変数の属性を格納します。
PRM_SINGLE … 単一変数 / PRM_DIM1 … 一次元配列 / PRM_DIM2 … 二次元配列
pval変数の実体を指すポインタです。
このアドレスは、StrCalc 、StrCalc BASIC の機能を実行すると変わる可能性がありますので、アプリケーション側で独自に管理する事はできません。その都度検索関数を実行し、ポインタを取得してください。
width変数が一次元配列の場合は、配列の最大要素数を格納します。二次元配列の場合は最大幅を格納します。
height変数が二次元配列の場合、配列の最大高さを格納します。
btempflg1 の場合は、変数がテンポラリ属性を持ちます。0 の場合はテンポラリ属性を持ちません。

一次元配列の場合、実体を指すアドレスは次のように計算します。

x をインデックスとした場合.

    PPARAM_INFO    pinf;

            ・
            ・
            ・

    double *pval = pinf->pval + x ;

        0 ≦ x < pinf->width である事

二次元配列の場合、実体を指すアドレスは次のように計算します。

xy をインデックスとした場合.

    PPARAM_INFO    pinf;

            ・
            ・
            ・

    double *pval = pinf->pval + pinf->width * y + x ;

        0 ≦ x < pinf->width
        0 ≦ y < pinf->height である事