SGLXRequest()
【お知らせ】 受信に失敗する場合が見受けられます。現在、対応中です。(2010/02/16)
対応済み。(2010/04/01)
SGLXSend は、Excel からデータを受信します。受信したデータを取得するためには、SGLXGetLastResult() 関数を呼びます。SGLXGetLastResult() 関数は、最後に通信した結果を返します。
/** * Excel のセルから値を読み込む * @param cell (char*) セルの座標 */ void SGLXRequest(char* cell);
SGLXRequest() 関数で読み込んだ値を取得し、操作する方法は2種類あります。 1つ目は、SGLXGetLastResult() で直接取得する方法です。 2つ目は、SGLXResponse() 関数で指定したコールバック関数内で操作する方法です。
/** * 最新の通信の結果を取得する * @param result (char*) 結果 */ void SGLXGetLastResult(char* result);
引数の result に、通信の結果が格納されます。SGLXResponse 関数は以下のように宣言されています。
/** * Excel から返信が来た時にコールバックする関数を登録する * @param (*res) コールバック関数のポインタ */ void SGLXResponse(void (*res)(char* data, char* cell))
引数に char* を2つ取り、返り値が void の関数のポインタを引数に指定すると、その関数は Excel から返信が 来た時に呼ばれるコールバック関数に登録されます。呼ばれた際は、最初の引数の data に読み込んだ値が入っており、 二つ目の引数の cell に読み込んだセルが入っております。
// コールバック関数の設定の例 void response(char* data, char* cell) { printf("data : %s\ncell : %s\n", data, cell); } // 以下を main 関数内に記述 SGLXInit("C:\\borland\\Source"); // SGLX の初期化 SGLXResponse(response); // コールバック関数を指定 SGLXRequest("AN5"); // セルの値を読み込む