home *** CD-ROM | disk | FTP | other *** search
/ Phoenix Heaven Sunny 2 / APPARE2.BIN / oh_towns / taropyon / install / _sdktool.c < prev    next >
Text File  |  1995-06-20  |  4KB  |  139 lines

  1. /*************************************************************************
  2. *    SIDEWORK TOOL
  3. *************************************************************************/
  4.  
  5. int        _sdktool_make_template( char *instdir );
  6.  
  7. char    *_sdktool_file[10] =
  8. {
  9.     "メニュー           sdkmenu.exp"  ,
  10.     "数式計算           sdkcalc.exp"  ,
  11.     "CD演奏開始         sdkcdt.exp    \"play -cdvol 127\"",
  12.     "CD演奏停止         sdkcdt.exp    \"stop\""           , 
  13.     "CD辞書検索         sdkdic.exp"   ,
  14.     "ファイルセレクタ   sdkfs.exp"    ,
  15.     "システムロック     sdklock.exp"  ,
  16.     "SMFPLAY            smfplay.exp"  ,
  17.     NULL          
  18. };
  19.  
  20. #if    0
  21. int        _sdktool_config(char *instdir,int item_setup)
  22. {
  23.     int            ret, drv;
  24.     char       *dlgTxm;
  25.     char       *fp;
  26.     char        tmp[256], fn[256];
  27.  
  28. _RETRY:
  29.     _sdktool_setdrv = -1;
  30.     dlgTxm = DlgTxm_open(ColBoxNormal);
  31.     DlgTxm_setTitle(dlgTxm,Fnt16x16,"サイドワーク環境設定");
  32.  
  33.     DlgTxm_putf( dlgTxm, Fnt16x12, TXMDAT_ATT_CENTER, "インストール先 : %s", instdir );
  34.     DlgTxm_putf( dlgTxm, Fnt16x12, TXMDAT_ATT_CENTER, "");
  35.     DlgTxm_putf( dlgTxm, Fnt16x16, TXMDAT_ATT_CENTER,
  36.         "サイドワークプログラムの登録は行いますか?");
  37.  
  38.     DlgTxm_setBtn( dlgTxm, Fnt16x16, 128, 20, C_MBLACK, C_WHITE, C_HILIGHT, C_DARK,
  39.         'S'    , KA_S     , 1, "", 0, "登録する : [S]");
  40.     DlgTxm_setBtn( dlgTxm, Fnt16x16, 128, 20, C_MBLACK, C_WHITE, C_HILIGHT, C_DARK,
  41.         '\x1B' , KA_CANCEL, 0, "", 0, "登録しない : [取消]");
  42.  
  43.     DlgTxm_setSize(dlgTxm,480,40);
  44.     DlgTxm_setPosition(dlgTxm,DLGPOS_CENTER_OF_SCREEN);
  45.     do
  46.     {
  47.         ret = DlgTxm_start(dlgTxm);
  48.     } while ( ret < 0 );
  49.     DlgTxm_close(dlgTxm);
  50.     if ( ret != 1 )
  51.         return (0);
  52.  
  53.     tmp[0] = '\0';
  54.     APL_setInstallDir(tmp,"TownsOSがインストールされているドライブを指定してください");
  55.     drv = tmp[0];
  56.     if ( !isalpha(drv) )
  57.         drv = FS_getdrv() + 'A';
  58.     sprintf( fn, "%c:/SIDEWORK/sidework.sys", drv );
  59.     if ( (fp = FS_fopen(fn,"r")) == NULL )
  60.     {
  61.         dlgTxm = DlgTxm_open(ColBoxError);
  62.         DlgTxm_setTitle(dlgTxm,Fnt16x16,"SIDEWORK CONFIG ERROR");
  63.  
  64.         DlgTxm_putf( dlgTxm, Fnt16x16, TXMDAT_ATT_CENTER,
  65.             "サイドワークの定義ファイルが見つかりません");
  66.         DlgTxm_putf( dlgTxm, Fnt16x12, TXMDAT_ATT_CENTER, "%s", fn );
  67.  
  68.         DlgTxm_setBtn( dlgTxm, Fnt16x16, 128, 20, C_MBLACK, C_WHITE, C_HILIGHT, C_DARK,
  69.             '\r'   , KA_EXEC  , 1, "", 0, "OK : [実行]");
  70.     
  71.         DlgTxm_setSize(dlgTxm,480,40);
  72.         DlgTxm_setPosition(dlgTxm,DLGPOS_CENTER_OF_SCREEN);
  73.         do
  74.         {
  75.             ret = DlgTxm_start(dlgTxm);
  76.         } while ( ret < 0 );
  77.         DlgTxm_close(dlgTxm);
  78.         goto _RETRY;
  79.     }
  80.     FS_fclose(fp);
  81.     _sdktool_setdrv = toupper(drv) - 'A';
  82.  
  83.     return (0);
  84. }
  85. #endif
  86.  
  87. int        _sdktool_install(char *instdir,int item_setup)
  88. {
  89.     int            ret, att;
  90.     char       *srcdir, *instfile;
  91.     char        tmp[256];
  92.  
  93.     syl_putf("SIDEWORK PROGRAM INSTALL");
  94.  
  95.     srcdir    = "/OH_TOWNS/TAROPYON/SDK";
  96.     instfile  = "*.exp *.dll *.doc";
  97.  
  98.     srcdir = _tc_getFcopySrcDir( srcdir, tmp);
  99.     att    = _FCOPY_MODE_INIT;
  100.     ret    =  FCOPY_exec(att, srcdir, instfile, instdir);
  101.  
  102.     if ( ret == NORMAL )
  103.     {    /* サイドワーク定義ファイルのテンプレート作成    */
  104.         ret = _sdktool_make_template( instdir );
  105.     }
  106.     return (ret);
  107. }
  108.  
  109. int        _sdktool_make_template( char *instdir )
  110. {
  111.     int            i, argc;
  112.     char       *fp;
  113.     char      **argv, tmp[256], fn[256], para[256];
  114.  
  115.     strcpy( tmp, instdir);    add_path_fn(tmp,"sidework.tmp");
  116.     if ( (fp = FS_fopen(tmp,"wb")) == NULL )
  117.         return (-1);
  118.     for ( i = 0; _sdktool_file[i] != NULL; ++i )
  119.     {
  120.         if ( (argc = DTA_makeArg(_sdktool_file[i],&argv)) > 0 )
  121.         {
  122.             if ( argc > 1 )
  123.             {
  124.                 strcpy( tmp, instdir);    add_path_fn(tmp,argv[1]);
  125.                 FS_dosFn(fn,tmp);
  126.                 if ( argc > 2 )
  127.                     sprintf(para," %s", argv[2]);
  128.                 else
  129.                     para[0] = '\0';
  130.                 fprintf(fp,"%c \"%s\" %s%s\r\n",
  131.                     i + 'A', argv[0], fn, para);
  132.             }
  133.             DTA_clearArg(argc,argv);
  134.         }
  135.     }
  136.     FS_fclose(fp);
  137.     return (0);
  138. }
  139.