home *** CD-ROM | disk | FTP | other *** search
/ FM Towns: Free Software Collection 5 / FREESOFT.BIN / mopterm / fapx405b / fapxmain.plt < prev    next >
Text File  |  1992-08-19  |  17KB  |  616 lines

  1. /************************************************************************
  2. *                                                                       *
  3. * nifty Full Auto Pilot eXtended V4    *
  4. *                                                                       *
  5. *    All Right Reserved, Copyright(c) Yama-chan    1991-1992    *
  6. *                (Hiroaki Yamada       NIFTY-ID PEE01244)    *
  7. *    All Right Reserved, Copyright(c) 北狐        1991        *
  8. *                (Yuse Okabe       NIFTY-ID NAH01244)    *
  9. *    All Right Reserved, Copyright(c) モップ        1991        *
  10. *                (Masahiro Kezuka   NIFTY-ID PFF00570)    *
  11. *    All Right Reserved, Copyright(c) るぱん        1991        *
  12. *                (Kunio Yamaguchi   NIFTY-ID MHB01736)    *
  13. *    All Right Reserved, Copyright(c) -なる-        1992        *
  14. *                (Tetsuo Hayakawa   NIFTY-ID PGA03316)    *
  15. *                                                                       *
  16. *************************************************************************
  17.  
  18. /************************************************************************
  19. *                                    *
  20. *    更新履歴                            *
  21. *                                    *
  22. *    v2.02    1991.01.05    original made        by 北狐        *
  23. *    v2.改    1991.02.02    MREADコマンド対応他    by Yama-chan    *
  24. *    v3.00    1991.02.23    MOPTERM v0.98対応他            *
  25. *                (途中省略)                *
  26. *    v4.00a    1991.08.15    対話型セットアップ機能を始めとする大幅変更    *
  27. *                (途中省略)                *
  28. *    v4.01a    1991.08.31    ログ参照機能追加                *
  29. *                (途中省略)                *
  30. *    v4.02a    1991.10.17    ファイル操作機能追加            *
  31. *                (途中省略)                *
  32. *    v4.03a    1991.11.25    ログ参照機能にコメント作成機能追加        *
  33. *                (途中省略)                *
  34. *    v4.04a    1992.01.15    ファイル操作機能にNAPLPSファイル表示機能追加    *
  35. *                (途中省略)                *
  36. *    v4.05a    1992.04.12    MOPTERM v2.02対応(plane文の採用)    *
  37. *                (FAPXVIEW.PLP,FAPXUSET.PLP,FAPXDSET.PLP)*
  38. *                lcx.exeをtxf.exe -lcxに変更        *
  39. *                バグ修正(ルートディレクトリの場合のログ参照)    *
  40. *                ファイル操作メニュー体系変更            *
  41. *                ファイル操作にEOFコード除去機能追加        *
  42. *                今週のお知らせを読む処理を追加        *
  43. *                ログイン後FAPXを終了するメニューを追加        *
  44. *                異常時の強制切断処理変更        *
  45. *    v4.05b    1992.04.14    ログ参照機能からのコメント作成処理変更    *
  46. *                バグ修正(異常時強制切断処理)        *
  47. *                                    *
  48. *************************************************************************/
  49.  
  50. /*    FAPXのV/L    */
  51. %VerLev    {4.05b};
  52.  
  53. /************************************************************************
  54. *    定数・変数領域の指定                        *
  55. *************************************************************************/
  56.  
  57. /*    ID & PASSWORD    */
  58. var     ID    [8];
  59. var     PassWord[8];
  60.  
  61. /*    電話番号        */
  62. var     ROAD1    [20];
  63. var     ROAD2    [20];
  64.  
  65. /*    モデムコマンド及び通信速度    */
  66. var     MODEM    [40];
  67. var     DIAL    [1];
  68.  
  69. /*    ディレクトリ    */
  70. var     TEMP    [64];
  71. var     LOG    [64];
  72. var     SOUND    [64];
  73. var     TEMP2    [64];
  74. var     LOG2    [64];
  75. var     SOUND2    [64];
  76.  
  77. /*    ログファイル作成モード    */
  78. var     LOGmode    [8];
  79.  
  80. /*    NIFTYにおける処理    */
  81. var     NIFTY    [1536];
  82.  
  83. /*    画面背景色    */
  84. var     R    [3];
  85. var     G    [3];
  86. var     B    [3];
  87.  
  88. /*    オプションスイッチ    */
  89. var     BELFIL    [64];
  90. var     VBELL    [3];
  91. var     NATTOU    [3];
  92. var     CLICK    [3];
  93. var     TAB    [2];
  94. var     LOCK    [3];
  95.  
  96. /*    保存ファイルの圧縮指定    */
  97. var     COMPRESS[3];
  98. var     ARCHIVER[64];
  99.  
  100. /*    設定ファイルのパス名    */
  101. var    SETFILE    [64];
  102. var    NIFFILE    [64];
  103. var    SETFILE1[64];
  104. var    SETFILE2[64];
  105.  
  106. /*    MREADコマンドのLIMITパラメータ    */
  107. var    LIMIT    [4];
  108.  
  109. /*    変数の定義    */
  110. var    upldcntl[64];    /* 自動アップロード制御ファイル名    */
  111. var    dnldcntl[64];    /* 自動ダウンロード制御ファイル名    */
  112. var    liblist    [40];    /* ライブラリ番号リスト            */
  113. var    AM3    [3];    /* 夜間自動実行フラグ            */
  114.  
  115. /*    ウェイト時間の設定    */
  116. %Wtime1    10;        /* モデム応答待ち時間        */
  117. %Wtime2    60;        /* NIFTYプロンプト待ち時間    */
  118. %Wtime4    60;        /* select入力待ち時間        */
  119.  
  120. /*    ベルコード    */
  121. %BELL    @xc({07});
  122.  
  123. /************************************************************************
  124. *    共通処理モジュール                        *
  125. ************************************************************************/
  126.  
  127. /* 音声メッセージ出力処理 */
  128. %SNDMSG    {
  129.     [file]
  130.     case    (SOUND2={}||SOUND2={\},
  131.         {No},{case(@filechk(SOUND2|file),
  132.             {Yes},{snd(SOUND2|file)},
  133.             {No}, {display(BELL)})},
  134.         {Yes},{display(BELL)}
  135.         );
  136.     };
  137.  
  138. /*異常切断処理*/
  139. %AbortOff{
  140.     [CommentB]
  141.     display(CommentB);
  142.     SNDMSG({okasi_f.snd});
  143.     display({\nNIFTYとの通信を強制切断します\n});
  144.     type({BYE\n});
  145.     wait    (Wtime2,,
  146.         {\n01+},,
  147.         {HOST NAME?\n*},{type({OFF\n});wait(3)});
  148.     discon;
  149.     display({\nモデムを直接切断しました\n\n});
  150.     SNDMSG({owata_f.snd});
  151.     stop;
  152.     };
  153.  
  154. /*切断処理 及び 切断終了表示処理*/
  155. %LogOff    {
  156.     display({\n切断処理を開始しました\n\n});
  157.     type({BYE\n});
  158.     wait    (Wtime2,{discon},
  159.         {\n01+},{discon},
  160.         {HOST NAME?\n*},{type({OFF\n});wait(3);discon}
  161.         );
  162.     };
  163.  
  164. %PLTSTOP{
  165.     SNDMSG({owata_f.snd});
  166.     display({\nオートパイロットFAPX}|VerLev|{を停止しました\n});
  167.     stop;
  168.     };
  169.  
  170. %AUTOEND{
  171.     footnote({オートパイロットの終了処理をしています});
  172.     display({\nNIFTYとの通信を終了しました\n});
  173.     SNDMSG({owata_f.snd});
  174.     wait(2);
  175.     };
  176.  
  177. %WAITABORT{
  178.     [sec]
  179.     wait    (sec,{AbortOff({\nホストの反応が鈍いよぉ~\n})},
  180.         {\n>},,    {\nmore>},,    {\nnext>},,    {\nFORUM>},,
  181.         {\nCCS(N)>},,    {\nCCS(R)>},,    {\nLIB>},,    {\nHP>},,
  182.         {\nMAIL>},,    {\nBBS>},,
  183.         );
  184.     };
  185.  
  186. %WAITCHAR{
  187.     [sec,Waitchr,WaitcmdC]
  188.     wait    (sec,{AbortOff({\nホストの反応が鈍いよぉ~\n})},
  189.         Waitchr,WaitcmdC)
  190.     };
  191.  
  192. /* パラメタで指定されたディレクトリへ移動する(「A:\」と「A:」の両方が可能) */
  193. %setcdir2{
  194.     [dir]
  195.     %dir2    @case(@nochar(dir),2,{im(dir|{\})},,{im(dir)});
  196.     setcdir(dir2)
  197.     };
  198.  
  199. /* 指定されたディレクトリー配下に,第2パラメターで指定されたディレクトリを
  200.      (もし,無ければ)作成する。 */
  201. %mkdir    {
  202.     [dir,name]
  203.     dispoff({Yes});
  204.     case    (@setcdir2(dir),
  205.         {Yes},{command({mkdir }|name)},
  206.         {No},
  207.         {
  208.         select    ({装置(}|dir|{)が使えませんが?},
  209.             Wtime4,{},
  210.             {    もう一回やってみる    },{mkdir(dir,name)},
  211.             {     自動処理をやめる    },{stop},
  212.             {  無視して先の処理をやる },{});
  213.         });
  214.     dispoff({No})
  215.     };
  216.  
  217. /* 指定されたディレクトリーを(もし,無ければ)作成する。 */
  218. %mkdir2    {
  219.     [dir]
  220.     case    (@setcdir2(dir),
  221.         {Yes},,
  222.         {No},{mkdir2(@body(dir,,{\}));
  223.             mkdir(@body(dir,,{\}),@tail(dir,{\}));}
  224.         );
  225.     };
  226.  
  227. /*    n番目の部分文字列をとりだす関数    */
  228. %nth    {
  229.     [str,n,sep]    /* 元の文字列,順番,区切り文字列 */
  230.     var    a    [256];    
  231.     var    m    [3];
  232.     a:=str;
  233.     m:=0;
  234.     case    (n<1,
  235.         {Yes},{im({})},
  236.         {No},
  237.         {loop    ({
  238.             m:=m+1;
  239.             case    (m==n||a={},{Yes},{im({No})},
  240.                 {No},{a:=@body(a,sep);im({Yes})});
  241.             });
  242.          im(@head(a,sep));
  243.         });
  244.     };
  245.  
  246. /*    現在の日付・時刻を得る 「yyyy-mm-dd (曜) hh:mm:ss」    */
  247. %getdt    {
  248.     %dt    @daylong;
  249.     %week    @case    (@getchar(dt,12,3),
  250.             {Sun},{im({日})},{Mon},{im({月})},
  251.             {Tue},{im({火})},{Wed},{im({水})},
  252.             {Thu},{im({木})},{Fri},{im({金})},
  253.             {Sat},{im({土})},,{im({  })});
  254.     im(@getchar(dt,1,4)|{-}|@getchar(dt,6,2)|{-}|@getchar(dt,9,2)|
  255.         { (}|week|{) }|@getchar(dt,16,8));
  256.     };
  257.  
  258. /*    指定されたファイルを yymmddnn.* にリネームして指定されたディレクトリにコピーする */
  259. %renfile{
  260.     [file,path]
  261.     var    n    [2];
  262.     var    file2    [12];
  263.     %d    @getdt;
  264.     %date    @getchar(d,3,2)|@getchar(d,6,2)|@getchar(d,9,2);
  265.     n:=-1;
  266.     mkdir2(path);
  267.     setcdir2(path);
  268.     loop    ({
  269.         n:=n+1;
  270.         case    (@nochar(n)=1,{Yes},{n:={0}|n});
  271.         case    (@body(file,{.})={},
  272.             {Yes},{file2:=date|n},
  273.             {No}, {file2:=date|n|{.}|@tail(file,{.})});
  274.         case    (@filechk(file2)={No}||n==99,
  275.             {Yes},{im({No})},
  276.             {No}, {im({Yes})});
  277.         });
  278.     dispoff({Yes});
  279.     command({copy }|file|{ }|file2);
  280.     dispoff({No});
  281.     im(file2);
  282.     };
  283.  
  284. /*    指定されたファイルを MddHmmss.* にリネームして指定されたディレクトリにコピーする */
  285. %nowfile2{
  286.     [file,path]
  287.     var    file2    [12];
  288.     %d    @getdt;
  289.     %mm    @case    (@getchar(d,6,2),
  290.             {01},{im({1})},{02},{im({2})},{03},{im({3})},
  291.             {04},{im({4})},{05},{im({5})},{06},{im({6})},
  292.             {07},{im({7})},{08},{im({8})},{09},{im({9})},
  293.             {10},{im({a})},{11},{im({b})},{12},{im({c})});
  294.     %dd    @getchar(d,9,2);
  295.     %hh    @case    (@getchar(d,17,2),
  296.             {01},{im({1})},{02},{im({2})},{03},{im({3})},
  297.             {04},{im({4})},{05},{im({5})},{06},{im({6})},
  298.             {07},{im({7})},{08},{im({8})},{09},{im({9})},
  299.             {10},{im({a})},{11},{im({b})},{12},{im({c})},
  300.             {13},{im({d})},{14},{im({e})},{15},{im({f})},
  301.             {16},{im({g})},{17},{im({h})},{18},{im({i})},
  302.             {19},{im({j})},{20},{im({k})},{21},{im({l})},
  303.             {22},{im({m})},{23},{im({n})},{00},{im({0})});
  304.     %mmss    @getchar(d,20,2)|@getchar(d,23,2);
  305.     case    (@body(file,{.})={},
  306.         {Yes},{file2:=mm|dd|hh|mmss},
  307.         {No}, {file2:=mm|dd|hh|mmss|{.}|@body(file,{.})});
  308.     mkdir2(path);
  309.     setcdir2(path);
  310.     dispoff({Yes});
  311.     command({copy }|file|{ }|file2);
  312.     dispoff({No});
  313.     im(file2);
  314.     };
  315.  
  316. /*    指定されたディレクトリに yymmddnn.* というファイルを作成する */
  317. %crefile{
  318.     [path,sfx]
  319.     var    n    [2];
  320.     var    file1    [12];
  321.     %d    @getdt;
  322.     %date    @getchar(d,3,2)|@getchar(d,6,2)|@getchar(d,9,2);
  323.     n:=-1;
  324.     mkdir2(path);
  325.     setcdir2(path);
  326.     loop    ({
  327.         n:=n+1;
  328.         case    (@nochar(n)=1,{Yes},{n:={0}|n});
  329.         case    (sfx={},
  330.             {Yes},{file1:=date|n},
  331.             {No}, {file1:=date|n|{.}|sfx});
  332.         case    (@filechk(file1)={No}||n==99,
  333.             {Yes},{im({No})},
  334.             {No}, {im({Yes})});
  335.         });
  336.     im(file1);
  337.     };
  338.  
  339. /*    初期設定    */
  340. %init    {
  341.     setoak({J});
  342.     case    (NATTOU={Yes}||NATTOU={No},{Yes},{nattou(NATTOU)});
  343.     case    (CLICK={Yes}||CLICK={No},{Yes},{click(CLICK)});
  344.     case    (LOCK={Yes}||LOCK={No},{Yes},{shiftl(LOCK)});
  345.     case    (R<>{}&&G<>{}&&B<>{},{Yes},{backclr(R,G,B)});
  346.     case    (VBELL={Yes}||VBELL={No},{Yes},{visibell(VBELL)});
  347.     case    (@tail(BELFIL,{.}),
  348.         {snd},{bellfile(BELFIL)},
  349.         {SND},{bellfile(BELFIL)});
  350.     case    (TAB<>{},{Yes},{tab(TAB)});
  351.     case    (TEMP={},{Yes},{TEMP:=CDIR});
  352.     case    (@nochar(TEMP)==3,
  353.         {No}, {TEMP2:=TEMP|{\}},
  354.         {Yes},{TEMP2:=TEMP});
  355.     case    (TEMP<>{}&&@setcdir2(TEMP)={No},{Yes},{mkdir2(TEMP)});
  356.     case    (LOG={},{Yes},{LOG:=CDIR});
  357.     case    (@nochar(LOG)==3,
  358.         {No}, {LOG2:=LOG|{\}},
  359.         {Yes},{LOG2:=LOG});
  360.     case    (LOG<>{}&&@setcdir2(LOG)={No},{Yes},{mkdir2(LOG)});
  361.     case    (@nochar(SOUND)==3,
  362.         {No}, {SOUND2:=SOUND|{\}},
  363.         {Yes},{SOUND2:=SOUND});
  364.     };
  365.  
  366. /*    skip top message    */
  367. %TOPMENU{
  368.     wait    (Wtime2,{AbortOff({\nホストの反応が鈍いよぉ~\n})},
  369.         {NIFTY-Serve     TOP},{WAITABORT(Wtime2)},
  370.         {CUG トップ},{WAITABORT(Wtime2)},
  371.         {\n>},{type({\n});TOPMENU}
  372.         );
  373.     };
  374.  
  375. /*    niftyへ行く    */
  376. %GONIF    {
  377.     WAITABORT(Wtime2);
  378.     type({GO NIF\n});
  379.     WAITABORT(Wtime2);
  380.     type({1\n});
  381.     TOPMENU;
  382.     };
  383.  
  384. /*    フォーラムのトップメニューへ行く    */
  385. %FORUMTOP{
  386.     wait    (Wtime2,{AbortOff({\nホストの反応が鈍いよぉ~\n})},
  387.         {◆番号又はコマンドを入力して下さい◆\n>},
  388.             {SNDMSG({okasi_f.snd});
  389.              display({フォーラム名が違っていませんか?\n});
  390.              im({forumERROR});},
  391.         {2.一時利用 3.入会手続き\n>},
  392.             {SNDMSG({okasi_f.snd});
  393.              display({入会していないフォーラムです\n});
  394.              im({forumERROR});},
  395.         {現在、サービスは大変混雑しています。},
  396.             {WAITABORT(Wtime2);
  397.              SNDMSG({okasi_f.snd});
  398.              display({混雑しているため次の処理に移ります\n});
  399.              im({forumERROR});},
  400.         {-保守作業の為しばらくの間御利用頂けません-},
  401.             {WAITABORT(Wtime2);
  402.              SNDMSG({okasi_f.snd});
  403.              display({保守作業中のため次の処理に移ります\n});
  404.              im({forumERROR});},
  405.         {続き (改行で表示 E:終了)\n>},
  406.             {type({\n});FORUMTOP;},
  407.         {\nmore>},
  408.             {type({\n});FORUMTOP;},
  409.         {:オプション  E:終了\n>},
  410.             {type({SET MENU ON\n});
  411.              WAITABORT(Wtime2);
  412.              type({SET PAGE OFF\n});
  413.              WAITABORT(Wtime2);
  414.              type({SEND OFF\n});
  415.              WAITABORT(Wtime2);
  416.              im({OK});},
  417.         {\nFORUM>},
  418.             {type({SET MENU ON\n});
  419.              WAITABORT(Wtime2);
  420.              type({SET PAGE OFF\n});
  421.              WAITABORT(Wtime2);
  422.              type({SEND OFF\n});
  423.              WAITABORT(Wtime2);
  424.              im({OK});}
  425.         );
  426.     };
  427.  
  428. /************************************************************************
  429. *    ダウンロード開始と終了の処理                    *
  430. *************************************************************************/
  431. /*    LOG DOWN START        */
  432. %DOWNSTART{
  433.     case    (LOGmode={forum},
  434.         {Yes},,
  435.         {No},
  436.         {
  437.         display({\nダウンロードを開始します\n});
  438.         dispoff({Yes});
  439.         command({del }|TEMP2|{_mopterm.log});
  440.         dispoff({No});
  441.         receive(TEMP2|{_mopterm.log});
  442.         });
  443.     };
  444.  
  445. /*    LOG DOWN STOP        */
  446. %DOWNSTOP{
  447.     case    (LOGmode={forum},
  448.         {Yes},,
  449.         {No},
  450.         {
  451.         stoprec;
  452.         case    (COMPRESS={Yes}&&ARCHIVER<>{},
  453.             {Yes},
  454.             {
  455.             dispoff({Yes});
  456.             %file    @nowfile2(TEMP2|{_mopterm.log},TEMP);
  457.             dispoff({Yes});
  458.             command(ARCHIVER|{ a }|LOG2|{Niftylog.lzh }|
  459.                         TEMP2|file);
  460.             command({del }|TEMP2|file);
  461.             dispoff({No});
  462.             },
  463.             {No},
  464.             {
  465.             mkdir2(LOG2|{Niftylog});
  466.             renfile(TEMP2|{_mopterm.log},LOG2|{Niftylog});
  467.             });
  468.         display({\nダウンロードを終了しました\n});
  469.         setcdir(CDIR);
  470.         });
  471.     };
  472.  
  473. /************************************************************************/
  474. /*    ログインのみの処理                        */
  475. /************************************************************************/
  476. %LOGIN    {
  477.     setcdir(CDIR);
  478.     #FAPXLGIN.PLP;
  479.     setcdir(CDIR);
  480.     #FAPXCHAT.PLP;
  481.     discon;
  482.     AUTOEND;
  483.     };
  484.  
  485. /************************************************************************/
  486. /*    ログインと自動アップロードと自動ダウンロードのみの処理        */
  487. /************************************************************************/
  488. %UPDOWN    {
  489.     setcdir(CDIR);#FAPXLGIN.PLP;
  490.     case(upldcntl<>{}||@filechk(TEMP2|{_mopres.ctl}),
  491.         {Yes},{setcdir(CDIR);#FAPXUPLD.PLP});
  492.     case(dnldcntl<>{}||@filechk(TEMP2|{_mopdlib.ctl}),
  493.         {Yes},{setcdir(CDIR);#FAPXDNLD.PLP});
  494.     setcdir(CDIR);#FAPXMAIL.PLP;
  495.     LogOff;
  496.     AUTOEND;
  497.     };
  498.  
  499. /************************************************************************/
  500. /*    NIFTYへの通信メニュー                    */
  501. /************************************************************************/
  502. %ONLINE    {
  503.     loop    ({
  504.         SNDMSG    ({erande_f.snd});
  505.         footnote({現在のユーザー設定ファイル=}|SETFILE1|
  506.                 {  NIFTY設定ファイル=}|SETFILE2);
  507.         select    ({処理を選択してください},
  508.             Wtime4*10,{im({No})},
  509.             {          自動通信を行う          },
  510.             {AM3:={No};FAPXMAIN;im({No})},
  511.             {      割引時間帯に通信を行う      },
  512.             {setcdir(CDIR);AM3:={Yes};#FAPX3AM.PLP;
  513.                 FAPXMAIN;im({No})},
  514.             {        自動ログインを行う        },
  515.             {setcdir(CDIR);AM3:={No};LOGIN;im({No})},
  516.             { 自動アップ/ダウンロードのみ行う },
  517.             {setcdir(CDIR);AM3:={No};UPDOWN;im({No})},
  518.             { 自動ログイン後FAPXを終了する },
  519.             {setcdir(CDIR);AM3:={No};#FAPXLGIN.PLP;stop},
  520.             {      設定ファイルの読み込み      },
  521.             {setcdir(CDIR);#FAPXSCHG.PLP;im({Yes})},
  522.             {         終     了        },
  523.             {im({No})}
  524.             );
  525.         });
  526.     };
  527. /************************************************************************/
  528. /*    メイン処理                            */
  529. /************************************************************************/
  530. %FAPXMAIN{
  531.     setcdir(CDIR);#FAPXLGIN.PLP;
  532.     case(upldcntl<>{}||@filechk(TEMP2|{_mopres.ctl}),
  533.         {Yes},{setcdir(CDIR);#FAPXUPLD.PLP});
  534.     case(dnldcntl<>{}||@filechk(TEMP2|{_mopdlib.ctl}),
  535.         {Yes},{setcdir(CDIR);#FAPXDNLD.PLP});
  536.     setcdir(CDIR);#FAPXMAIL.PLP;
  537.  
  538.     DOWNSTART;
  539.     setcdir(CDIR);#FAPXLOOP.PLP;
  540.     DOWNSTOP;
  541.  
  542.     LogOff;
  543.     AUTOEND;
  544.     };
  545. /*********************  処理モジュール終了  *****************************/
  546.  
  547. /************************************************************************/
  548. /*                      以下メインモジュール                            */
  549. /************************************************************************/
  550.  
  551. /*    カレントディレクトリセット*/
  552. %CDIR    @getcdir;
  553. %CDIR2    @case    (@nochar(CDIR)==3,
  554.         {Yes}, {im(CDIR)},
  555.         {No},{im(CDIR|{\})});
  556.  
  557. /*    初期設定    */
  558. footnote({FAPX}|VerLev|{初期処理中});
  559. display({オートパイロットFAPX}|VerLev|{を開始します\n\n});
  560.  
  561. setoak({J});
  562. case    (@nochar(CDIR)==3,
  563.     {No}, {SETFILE:=CDIR|{\}|{FAPXSET.SET}},
  564.     {Yes},{SETFILE:=CDIR|{FAPXSET.SET}});
  565. case    (@filechk(SETFILE),
  566.     {Yes},{setcdir(CDIR);#FAPXSET.SET;SETFILE1:={標準設定}},
  567.     {No}, {setcdir(CDIR);#FAPXSET.PLP});
  568. init;
  569.  
  570. case    (@nochar(CDIR)==3,
  571.     {No}, {NIFFILE:=CDIR|{\}|{FAPXNIF.SET}},
  572.     {Yes},{NIFFILE:=CDIR|{FAPXNIF.SET}});
  573. case    (@filechk(NIFFILE),
  574.     {Yes},{setcdir(CDIR);#FAPXNIF.SET;SETFILE2:={標準設定}},
  575.     {No}, {setcdir(CDIR);#FAPXNIF.PLP});
  576.  
  577. /* テンポラリディレクトリとログディレクトリを作成する */
  578. mkdir2(TEMP);
  579. mkdir2(LOG);
  580. setcdir2(CDIR);
  581.  
  582. loop    ({
  583.     SNDMSG    ({erande_f.snd});
  584.     footnote({処理を選択してください});
  585.     select    ({処理を選択してください   << FAPX}|VerLev|{ >>},
  586.         Wtime4*10,{im({Yes})},
  587.         {      NIFTYと通信を行う      },
  588.         {AM3:={No};ONLINE;im({Yes})},
  589.         {      自動アップロードの指定      },
  590.         {setcdir(CDIR);#FAPXUSET.PLP;im({Yes})},
  591.         {      自動ダウンロードの指定      },
  592.         {setcdir(CDIR);#FAPXDSET.PLP;im({Yes})},
  593.         {         各種の設定を行う         },
  594.         {setcdir(CDIR);#FAPXSET.PLP;init;im({Yes})},
  595.         {     NIFTYでの処理の設定     },
  596.         {setcdir(CDIR);#FAPXNIF.PLP;im({Yes})},
  597.         {      設定ファイルの読み込み      },
  598.         {setcdir(CDIR);#FAPXSCHG.PLP;im({Yes})},
  599.         {          受信ログを読む          },
  600.         {setcdir(CDIR);#FAPXVIEW.PLP;im({Yes})},
  601.         {        ファイル操作を行う        },
  602.         {setcdir(CDIR);#FAPXFILE.PLP;im({Yes})},
  603.         {  他のオートパイロットを実行する  },
  604.         {setcdir(CDIR);#FAPXPLTX.PLP;im({Yes})},
  605.         {        FAPXを終了する        },
  606.         {im({No})}
  607.         );
  608.     });
  609.  
  610. /* オートパイロット停止時にPF10で再起動できるように */
  611. setpf(10,{footnote({Loading ...});}|
  612.      {setcdir(}|@xc({7b})|CDIR|@xc({7d})|{);}|
  613.      {#FAPXMAIN.PLT});
  614.  
  615. display({オートパイロットFAPX}|VerLev|{を終了しました\n});
  616. footnote({});