付録C.5 ユーザアプリケーションプログラムの作成例

ユーザアプリケーションプログラムの作成例の変更一覧を示します。

<この項の構成>
(1) バージョン6以前
(2) バージョン7

(1) バージョン6以前

/********************************************************/
/*    C言語を使用したUAP作成例                        */
/********************************************************/
#include <dcmcf.h>

void ex_uap1()
{
   char termnam[9];
   long rdataleng;
   long time;
   struct{
       char mcfctl[8];
       long msglen;
       char recvdata[2036];
   }recvmsg;
   struct{
       char mcfctl[8];
       long msglen;
       char senddata1[500];
   }sendmsg;
   char senddata2[512];
   static char resv01[9] = "¥0" ;  /*** 予備領域の初期化 ***/
   static char resv02[9] = "¥0" ;  /*** 予備領域の初期化 ***/
   static char resv03[9] = "¥0" ;  /*** 予備領域の初期化 ***/
   char *workadd = (char *)&recvmsg;

   dc_mcf_receive(DCMCFFRST,DCNOFLAGS,termnam,resv01,
                  workadd,&rdataleng,2048,&time) ;
                                /* 一方送信メッセージの受信 */
   /***************************************/
   /*********   データの処理   ************/
   /***************************************/

   dc_mcf_send(DCMCFEMI,DCMCFOUT,"PRINTER1",resv01,
               senddata2,504,resv02,DCNOFLAGS);
                                /* 一方送信メッセージの送信 */
   sendmsg.msglen = 504;       /* セグメント長の設定 */
   dc_mcf_send(DCMCFEMI,DCMCFOUT,"TERMNAM1",resv01,
               (char *)&sendmsg,504,resv02,DCNOFLAGS);
/* メッセージの送信 */
}
/********   C言語によるUAP 終わり   ********/

(2) バージョン7

/********************************************************/
/*    C言語を使用したUAP作成例                             */
/********************************************************/
#include <dcmcf.h>

void ex_uap1()
{
   char termnam[9];
   DCLONG rdataleng;
   DCLONG time;
   struct{
       char mcfctl[8];
       DCLONG msglen;
       char recvdata[2036];
   }recvmsg;
   struct{
       char mcfctl[8];
       DCLONG msglen;
       char senddata1[500];
   }sendmsg;
   char senddata2[512];
   static char resv01[9] = "¥0" ;  /*** 予備領域の初期化 ***/
   static char resv02[9] = "¥0" ;  /*** 予備領域の初期化 ***/
   static char resv03[9] = "¥0" ;  /*** 予備領域の初期化 ***/
   char *workadd = (char *)&recvmsg;

   dc_mcf_receive(DCMCFFRST,DCNOFLAGS,termnam,resv01,
                  workadd,&rdataleng,2048,&time) ;
                                /* 一方送信メッセージの受信 */
   /***************************************/
   /*********   データの処理     ************/
   /***************************************/

   dc_mcf_send(DCMCFEMI,DCMCFOUT,"PRINTER1",resv01,
               senddata2,504,resv02,DCNOFLAGS);
                                /* 一方送信メッセージの送信 */
   sendmsg.msglen = 504;       /* セグメント長の設定 */
   dc_mcf_send(DCMCFEMI,DCMCFOUT,"TERMNAM1",resv01,
               (char *)&sendmsg,504,resv02,DCNOFLAGS);
/* メッセージの送信 */
}
/********   C言語によるUAP 終わり   ********/