home *** CD-ROM | disk | FTP | other *** search
/ FM Towns: Free Software Collection 5 / FREESOFT.BIN / mopterm / fapx405b / fapxview.plp < prev   
Text File  |  1992-08-19  |  22KB  |  917 lines

  1. /*    全てのメモをクローズする    */
  2. %CloseAllMemo{
  3.     case(@mlast!=0 && @mcheck==0,{Yes},{mopen(1)});
  4.     case(@mcheck!=0,{Yes},{loop({mclose(2);im(@mcheck!=0)})});
  5.     };
  6.  
  7. /*    指定ディレクトリのサブディレクトリ名を返す    */
  8. %subdir    {
  9.     [dir,sdir]
  10.     case    (@nochar(dir)==3,
  11.         {Yes},    {im(dir|sdir)},
  12.         {No},    {im(dir|{\}|sdir)}
  13.         );
  14.     };
  15.  
  16. %ViewLOG{
  17.     [logdir,memono]
  18.     /* 1ログファイルの表示処理 */
  19.     %Select1{
  20.         %LineNo @xlinenum;
  21.         %MemoLine @nolmemo(memono);
  22.         %line1    @case    (LineNo>MemoLine,
  23.                 {Yes},{im(@memo(memono,MemoLine,1))},
  24.                 {No},
  25.                 {case(LineNo<=0,
  26.                     {Yes},{im(@memo(memono,1,1))},
  27.                     {No},{im(@memo(memono,LineNo,1))})
  28.                 });
  29.         case    (@body(line1,{<},{>})={DIR},
  30.             {Yes},
  31.             {ViewLOG(@subdir(logdir,
  32.                     @head(@getchar(line1,1,8),{ })),
  33.                 memono+1)},
  34.             {No},
  35.             {
  36.             case    (@getchar(line1,10,3),
  37.                 {LZH},
  38.                 {ViewLZH(@subdir(logdir,
  39.                         @head(@getchar(line1,1,8),{ })),
  40.                     memono+1)},
  41.                 {NAP},
  42.                 {ViewNAP(@subdir(logdir,@head(@getchar
  43.                         (line1,1,8),{ })|{.NAP}),
  44.                     memono)},
  45.                 {NPB},
  46.                 {ViewNAP(@subdir(logdir,@head(@getchar
  47.                         (line1,1,8),{ })|{.NAP}),
  48.                     memono)},
  49.                 ,
  50.                 {
  51.                 case    (@getchar(line1,10,3)<>{   },
  52.                     {Yes},
  53.                     {LOGFILE:=@subdir(logdir,
  54.                         @head(@getchar(line1,1,8),{ })|
  55.                         {.}|
  56.                         @head(@getchar(line1,10,3),{ }))
  57.                     },
  58.                     {No},
  59.                     {LOGFILE:=@subdir(logdir,
  60.                         @head(@getchar(line1,1,8),{ }))
  61.                     }
  62.                     );
  63.                 %m1    memono+1;
  64.                 CloseAllMemo;
  65.                 case(@mlast>=m1,{Yes},{mclear(m1)});
  66.                 mread(LOGFILE,m1);
  67.                 mopen(m1,0,21,639,459,{w});
  68.                 loop    ({
  69.                     footnote({終了削除更新コメント},{b});
  70.                     waitx();
  71.                     case    (@xtype,
  72.                         101,
  73.                         {CloseAllMemo;footnote({});
  74.                             im({No})},
  75.                         201,
  76.                         {CloseAllMemo;footnote({});
  77.                             im({No})},
  78.                         102,delLOG,    202,delLOG,
  79.                         103,updLOG,    203,updLOG,
  80.                         104,{COMMENT(m1)},
  81.                         204,{COMMENT(m1)},
  82.                         m1,{COMMENT(m1)},
  83.                         ,{im({Yes})});
  84.                     });
  85.                 });
  86.             });
  87.         im({Yes});
  88.         };
  89.  
  90.     /* ログファイル名の変更処理 */
  91.     %Rename1{
  92.         footnote({ファイル名を変更しています});
  93.         %LineNo @xlinenum;
  94.         %MemoLine @nolmemo(memono);
  95.         %line1    @case    (LineNo>MemoLine,
  96.                 {Yes},{im(@memo(memono,MemoLine,1))},
  97.                 {No},
  98.                 {case(LineNo<=0,
  99.                     {Yes},{im(@memo(memono,1,1))},
  100.                     {No},{im(@memo(memono,LineNo,1))})
  101.                 });
  102.         case    (@body(line1,{<},{>})={DIR},
  103.             {Yes},
  104.             {display({ディレクトリ名は変更できません\n})},
  105.             {No},
  106.             {
  107.             var file [64];
  108.             case    (@getchar(line1,10,3)<>{   },
  109.                 {Yes},
  110.                 {file:=@subdir(logdir,
  111.                     @head(@getchar(line1,1,8),{ })|
  112.                     {.}|@head(@getchar(line1,10,3),{ }))
  113.                 },
  114.                 {No},
  115.                 {file:=@subdir(logdir,
  116.                     @head(@getchar(line1,1,8),{ }))
  117.                 }
  118.                 );
  119.             SNDMSG({nyuryo_f.snd});
  120.             footnote({新しいファイル名を入力して下さい});
  121.             %file2    @input({新しいファイル名を入力して下さい},,
  122.                     @tail(file,{\}));
  123.             footnote({ファイル名を変更しています});
  124.             dispoff({Yes});
  125.             command({rename }|file|{ }|file2);
  126.             command({dir }|logdir|{>}|TEMP2|{_mopdir.tmp});
  127.             dispoff({No});
  128.             case(@mlast>=memono,{Yes},{mclear(memono)});
  129.             madd(memono,@read(TEMP2|{_mopdir.tmp},7,lineno-9));
  130.             mopen(memono,0,21,639,459,{r});
  131.             });
  132.         im({Yes});
  133.         };
  134.  
  135.     /* ログファイルの複写処理 */
  136.     %Copy1    {
  137.         footnote({ファイルを複写します});
  138.         %LineNo @xlinenum;
  139.         %MemoLine @nolmemo(memono);
  140.         %line1    @case    (LineNo>MemoLine,
  141.                 {Yes},{im(@memo(memono,MemoLine,1))},
  142.                 {No},
  143.                 {case(LineNo<=0,
  144.                     {Yes},{im(@memo(memono,1,1))},
  145.                     {No},{im(@memo(memono,LineNo,1))})
  146.                 });
  147.         case    (@body(line1,{<},{>})={DIR},
  148.             {Yes},
  149.             {display({ディレクトリは複写できません\n})},
  150.             {No},
  151.             {
  152.             case    (@getchar(line1,10,3)<>{   },
  153.                 {Yes},
  154.                 {LOGFILE:=@subdir(logdir,
  155.                     @head(@getchar(line1,1,8),{ })|
  156.                     {.}|@head(@getchar(line1,10,3),{ }))
  157.                 },
  158.                 {No},
  159.                 {LOGFILE:=@subdir(logdir,
  160.                     @head(@getchar(line1,1,8),{ }))
  161.                 }
  162.                 );
  163.             SNDMSG({erande_f.snd});
  164.             footnote({複写先のファイルを指定して下さい});
  165.             %file2    @filesel;
  166.             footnote({ファイルを複写します});
  167.             dispoff({Yes});
  168.             command({copy }|LOGFILE|{ }|file2);
  169.             dispoff({No});
  170.             mopen(memono,0,21,639,459,{r});
  171.             });
  172.         im({Yes});
  173.         };
  174.  
  175.     /* ディレクトリ表示と選択処理 */
  176.     %viewlog1{
  177.         case(@mlast>=memono,{Yes},{mclear(memono)});
  178.         madd(memono,@read(TEMP2|{_mopdir.tmp},7,lineno-9));
  179.         mopen(memono,0,21,639,459,{r});
  180.         SNDMSG({erande_f.snd});
  181.         footnote({終了選択改名複写},{b});
  182.         waitx(60);
  183.         case    (@xtype,
  184.             memono,Select1,
  185.             101,{im({No})},    201,{im({No})},
  186.             102,Select1,    202,Select1,
  187.             103,Rename1,    203,Rename1,
  188.             104,Copy1,    204,Copy1,
  189.             ,{im({Yes})});
  190.         };
  191.  
  192.     /* ViewLOG のメイン処理 */
  193.     fn:=@tail(logdir,{\});
  194.     loop    ({
  195.         CloseAllMemo;
  196.         dispoff({Yes});
  197.         command({dir }|logdir|{>}|TEMP2|{_mopdir.tmp});
  198.         dispoff({No});
  199.         %lineno @noline(@read(TEMP2|{_mopdir.tmp}));
  200.         case    (lineno>9,
  201.             {Yes},viewlog1,
  202.             {No},{display(logdir|{ は空です\n});im({No})});
  203.         });
  204.  
  205.     /* ログ参照に使用したメモの削除処理 */
  206.     CloseAllMemo;
  207.     loop    ({
  208.         case    (@mlast>=memono,
  209.             {Yes},{mopen(@mlast);mclose(3);im({Yes})},
  210.             {No},{im({No})});
  211.         });
  212.     setcdir(CDIR);
  213.     };
  214.  
  215. /*    圧縮ファイルの表示処理        */
  216. %ViewLZH{
  217.     [lzhfile,memono]
  218.     /* 1ログファイルの表示処理 */
  219.     %select1{
  220.         %LineNo @xlinenum;
  221.         %MemoLine @nolmemo(memono);
  222.         %line1    @case    (LineNo>MemoLine,
  223.                 {Yes},{im(@memo(memono,MemoLine,1))},
  224.                 {No},
  225.                 {case(LineNo<=0,
  226.                     {Yes},{im(@memo(memono,1,1))},
  227.                     {No},{im(@memo(memono,LineNo,1))})
  228.                 });
  229.         %lzhfile1 @getchar(line1,3,12);
  230.         setcdir(TEMP);
  231.         dispoff({Yes});
  232.         command({del }|lzhfile1);
  233.         command(ARCHIVER|{ E }|lzhfile|{ }|lzhfile1);
  234.         dispoff({No});
  235.         case    (@body(lzhfile1,{.}),
  236.             {NAP},{ViewNAP(TEMP2|lzhfile1,memono)},
  237.             {NPB},{ViewNAP(TEMP2|lzhfile1,memono)},
  238.             ,
  239.             {
  240.             %m1    memono+1;
  241.             CloseAllMemo;
  242.             case(@mlast>=m1,{Yes},{mclear(m1)});
  243.             LOGFILE:=TEMP2|lzhfile1;
  244.             mread(lzhfile1,m1);
  245.             mopen(m1,0,21,639,459,{w});
  246.             loop    ({
  247.                 footnote({終了削除更新コメント},{b});
  248.                 waitx();
  249.                 case    (@xtype,
  250.                     101,{CloseAllMemo;im({No})},
  251.                     201,{CloseAllMemo;im({No})},
  252.                     102,delLZH,    202,delLZH,
  253.                     103,updLZH,    203,updLZH,
  254.                     104,{COMMENT(m1)},204,{COMMENT(m1)},
  255.                     m1,{COMMENT(m1)},
  256.                     ,{im({Yes})});
  257.                 });
  258.             footnote({});
  259.             setcdir(TEMP);
  260.             dispoff({Yes});
  261.             command({del }|lzhfile1);
  262.             dispoff({No});
  263.             im({Yes});
  264.             });
  265.         };
  266.  
  267.     /* ログファイル名の変更処理 */
  268.     %rename1{
  269.         footnote({ファイル名を変更します});
  270.         %LineNo @xlinenum;
  271.         %MemoLine @nolmemo(memono);
  272.         %line1    @case    (LineNo>MemoLine,
  273.                 {Yes},{im(@memo(memono,MemoLine,1))},
  274.                 {No},
  275.                 {case(LineNo<=0,
  276.                     {Yes},{im(@memo(memono,1,1))},
  277.                     {No},{im(@memo(memono,LineNo,1))})
  278.                 });
  279.         var file [64];
  280.         file:=@head(@getchar(line1,3,12),{ });
  281.         SNDMSG({nyuryo_f.snd});
  282.         footnote({新しいファイル名を入力して下さい});
  283.         %file2    @input({新しいファイル名を入力して下さい},,
  284.                 @tail(file,{\}));
  285.         footnote({ファイル名を変更します});
  286.         case    (file2<>{},{Yes},
  287.             {
  288.             setcdir(TEMP);
  289.             dispoff({Yes});
  290.             command(ARCHIVER|{ e }|lzhfile|{ }|file);
  291.             command({rename }|file|{ }|file2);
  292.             command(ARCHIVER|{ a }|lzhfile|{ }|file2);
  293.             command(ARCHIVER|{ d }|lzhfile|{ }|file);
  294.             command({del }|file2);
  295.             command(ARCHIVER|{ }|lzhfile|{>}|TEMP2|{_lzhdir.tmp});
  296.             dispoff({No});
  297.             });
  298.         CloseAllMemo;
  299.         case(@mlast>=memono,{Yes},{mclear(memono)});
  300.         madd(memono,@read(TEMP2|{_lzhdir.tmp},6,lineno-8));
  301.         mopen(memono,0,21,639,459,{r});
  302.         im({Yes});
  303.         };
  304.  
  305.     /* ログファイルの解凍処理 */
  306.     %copy1    {
  307.         footnote({ファイルを解凍します});
  308.         %LineNo @xlinenum;
  309.         %MemoLine @nolmemo(memono);
  310.         %line1    @case    (LineNo>MemoLine,
  311.                 {Yes},{im(@memo(memono,MemoLine,1))},
  312.                 {No},
  313.                 {case(LineNo<=0,
  314.                     {Yes},{im(@memo(memono,1,1))},
  315.                     {No},{im(@memo(memono,LineNo,1))})
  316.                 });
  317.         var file [64];
  318.         file:=@head(@getchar(line1,3,12),{ });
  319.         SNDMSG({erande_f.snd});
  320.         footnote({解凍先のファイルを指定して下さい});
  321.         %file2    @filesel;
  322.         footnote({ファイルを解凍します});
  323.         case(file2<>{},{Yes},
  324.         {
  325.         dispoff({Yes});
  326.         command(ARCHIVER|{ e }|lzhfile|{ }|file);
  327.         case    (file<>file2 && file2<>{*.*} && file2<>{},
  328.             {Yes},{command({ren }|file|{ }|file2)});
  329.         dispoff({No});
  330.         });
  331.         im({Yes});
  332.         };
  333.  
  334.     /* 圧縮ファイル内容の表示と選択処理 */
  335.     %viewlzh1{
  336.         case(@mlast>=memono,{Yes},{mclear(memono)});
  337.         madd(memono,@read(TEMP2|{_lzhdir.tmp},6,lineno-8));
  338.         mopen(memono,0,21,639,459,{r});
  339.         SNDMSG({erande_f.snd});
  340.         footnote({終了選択改名解凍},{b});
  341.         waitx(60);
  342.         case    (@xtype,
  343.             memono,select1,
  344.             101,{im({No})},    201,{im({No})},
  345.             102,select1,    202,select1,
  346.             103,rename1,    203,rename1,
  347.             104,copy1,    204,copy1,
  348.             ,{im({Yes})});
  349.         };
  350.  
  351.     /* ViewLZHのメイン処理 */
  352.     fn:=@tail(lzhfile,{\},{.});
  353.     loop    ({
  354.         dispoff({Yes});
  355.         command(ARCHIVER|{ }|lzhfile|{>}|TEMP2|{_lzhdir.tmp});
  356.         dispoff({No});
  357.         %lineno @noline(@read(TEMP2|{_lzhdir.tmp}));
  358.         CloseAllMemo;
  359.         case    (lineno>8,
  360.             {Yes},viewlzh1,
  361.             {No},{display(lzhfile|{ はありません\n});im({No})});
  362.         });
  363.     CloseAllMemo;
  364.     };
  365.  
  366. /* 非圧縮ログファイルの削除処理 */
  367. %delLOG    {
  368.     footnote({ログファイルを削除します});
  369.     SNDMSG({kaknin_f.snd});
  370.     select    ({現在表示しているログファイルを削除します},
  371.         Wtime4,{im({Yes})},
  372.         {  削除する  },
  373.         {
  374.         CloseAllMemo;
  375.         dispoff({Yes});
  376.         command({del }|LOGFILE);
  377.         dispoff({No});
  378.         im({No});
  379.         },
  380.         { 削除しない },
  381.         {im({Yes})}
  382.         );
  383.     };
  384.  
  385. /* 非圧縮ログファイルの更新処理 */
  386. %updLOG    {
  387.     footnote({ログファイルを更新します});
  388.     SNDMSG({kaknin_f.snd});
  389.     select    ({現在表示しているログファイルを更新します},
  390.         Wtime4,{im({Yes})},
  391.         {  更新する  },
  392.         {
  393.         CloseAllMemo;
  394.         dispoff({Yes});
  395.         command({del }|LOGFILE);
  396.         mwrite(file,memono+1);
  397.         command({dir }|logdir|{>}|TEMP2|{_mopdir.tmp});
  398.         dispoff({No});
  399.         im({No});
  400.         },
  401.         { 更新しない },
  402.         {im({Yes})}
  403.         );
  404.     };
  405.  
  406. /* 圧縮モードのログファイルを削除する */
  407. %delLZH    {
  408.     footnote({ログファイルを削除します});
  409.     SNDMSG({kaknin_f.snd});
  410.     select({現在表示しているログファイルを削除します},
  411.         Wtime4,{im({Yes})},
  412.         {  削除する  },
  413.         {
  414.         CloseAllMemo;
  415.         dispoff({Yes});
  416.         command(ARCHIVER|{ d }|lzhfile|{ }|lzhfile1);
  417.         dispoff({No});
  418.         im({No});
  419.         },
  420.         { 削除しない },
  421.         {im({Yes})}
  422.         );
  423.     };
  424.  
  425. /* 圧縮モードのログファイルを更新する */
  426. %updLZH    {
  427.     footnote({ログファイルを更新します});
  428.     SNDMSG({kaknin_f.snd});
  429.     select    ({現在表示しているログファイルを更新します},
  430.         Wtime4,{im({Yes})},
  431.         {  更新する  },
  432.         {
  433.         CloseAllMemo;
  434.         dispoff({Yes});
  435.         command({del }|lzhfile1);
  436.         mwrite(lzhfile1,memono+1);
  437.         command(ARCHIVER|{ u }|lzhfile|{ }|lzhfile1);
  438.         command(ARCHIVER|{ }|lzhfile|{>}|TEMP2|{_lzhdir.tmp});
  439.         dispoff({No});
  440.         im({No});
  441.         },
  442.         { 更新しない },
  443.         {im({Yes})}
  444.         );
  445.     };
  446.  
  447. /*    コメント作成処理の振り分け    */
  448. %COMMENT{
  449.     [memono]
  450.     %LineNo @xlinenum;
  451.     %MemoLine @nolmemo(memono);
  452.     case    (LineNo>=MemoLine,
  453.         {Yes},{l1:=@memo(memono,MemoLine-1,1)},
  454.         {No},
  455.         {case    (LineNo<=0,
  456.             {Yes},{l1:=@memo(memono,1,1)},
  457.             {No},{l1:=@memo(memono,LineNo,1)})
  458.         });
  459.     case    (LineNo>MemoLine,
  460.         {Yes},{l2:=@memo(memono,MemoLine,1)},
  461.         {No},
  462.         {case    (LineNo<=1,
  463.             {Yes},{l2:=@memo(memono,2,1)},
  464.             {No},{l2:=@memo(memono,LineNo+1,1)})
  465.         });
  466.     case    (@getchar(l1,4,1)={/}&&@getchar(l2,1,1)={(},
  467.         {Yes},    {resMES(memono)},
  468.         {No},    {
  469.     case    (@getchar(l1,1,3)={- F}&&@getchar(l2,4,1)={/},
  470.         {Yes},    {sayMES(memono)},
  471.         {No},    {
  472.     case    (@getchar(l2,5,6)={題名:},
  473.         {Yes},    {resMAIL(memono)},
  474.         {No},    {
  475.     case    (@getchar(l1,18,1)={/}&&@getchar(l1,21,1)={/},
  476.         {Yes},    {downDLIB},
  477.         {No},    {
  478.     case    (@getchar(l1,4,3)={  [}&&@getchar(l1,9,1)={/},
  479.         {Yes},    {resHP(memono)},
  480.         {No},    {footnote({カーソルをタイトル行に置いてください});
  481.             wait(2)}
  482.         )    }
  483.         )    }
  484.         )    }
  485.         )    }
  486.         );
  487.     im({Yes});
  488.     };
  489.  
  490. /*    アップ用文書作成用メモをオープンする    */
  491. %OpenMemo{
  492.     [memono]
  493.     CloseAllMemo;
  494.     mopen(memono,0,21,639,240,{w});
  495.     mclose(1);
  496.     madd(memono+1,{\n});
  497.     mclear(memono+1);
  498.     mopen(memono+1,0,241,639,459,{w});
  499.     };
  500.  
  501. /*    アップ文書作成をキャンセルする    */
  502. %cancel    {
  503.     [memono]
  504.     case(@mcheck!=memono+1,{Yes},{mopen(memono+1)});
  505.     mclose(3);
  506.     CloseAllMemo;
  507.     mopen(memono,0,21,639,459,{w});
  508.     im({No});
  509.     };
  510.  
  511. /*    アップ用文書を清書する    */
  512. %rewrite{
  513.     [memono]
  514.     footnote({メモ}|memono+1|{を清書しています});
  515.     CloseAllMemo;
  516.     dispoff({Yes});
  517.     %cdir @getcdir;
  518.     setcdir(CDIR);
  519.     command({del }|TEMP2|{_moptext.tmp});
  520.     command({del }|TEMP2|{_moptext});
  521.     mwrite(TEMP2|{_moptext.tmp},memono+1);
  522.     command({txf -i }|TEMP2|{_moptext.tmp -o }|TEMP2|{_moptext }|
  523.             {-mr 72 -l 76 -r -q});
  524.     dispoff({No});
  525.     case    (@filechk(TEMP2|{_moptext}),
  526.         {Yes},
  527.         {
  528.         mclear(memono+1);
  529.         mread(TEMP2|{_moptext},memono+1);
  530.         mopen(memono,0,21,639,240,{w});
  531.         mclose(1);
  532.         mopen(memono+1,0,241,639,459,{w});
  533.         },
  534.         {No},
  535.         {
  536.         display({清書機能には TXF.EXE がパスの通った}|
  537.                 {ディレクトリに必要です\n});
  538.         wait(2);
  539.         mopen(memono,0,21,639,240,{w});
  540.         mclose(1);
  541.         mopen(memono+1,0,241,639,459,{w});
  542.         });
  543.     setcdir(cdir);
  544.     im({Yes});
  545.     };
  546.  
  547. /* 会議室へのコメント作成処理 */
  548. %resMES    {
  549.     [memono]
  550.     %savememo{
  551.         [memono]
  552.         %c1    @case    (@nochar(l1)-38<=0,
  553.                 {Yes},{im(1)},
  554.                 {No},{im(@nochar(l1)-38)});
  555.         SNDMSG({nyuryo_f.snd});
  556.         %a    @plane(    {cフォーラムの会議室へのコメント\n}|
  557.                 {t フォーラム名 /xxxxxxxx\n}|
  558.                 {t  会議室番号  /xx\n}|
  559.                 {tコメント元番号/xxx\n}|
  560.                 {t   タイトル   /xxxxxxxxxxxxxxxxxxxx}|
  561.                         {xxxxxxxxxxxxxxxxxxxx\n}|
  562.                 {s              / 登録 / 取消 \n},
  563.                 fn,
  564.                 @getchar(l2,2,2),
  565.                 @getchar(l1,1,3),
  566.                 {re:}|@head(@getchar(l1,39,c1),{\n})
  567.                 );
  568.         
  569.         %forum    @head(@getline(a,1,1),{\n});
  570.         %mes    @head(@getline(a,2,1),{\n});
  571.         %reply    @head(@getline(a,3,1),{\n});
  572.         %title    @head(@getline(a,4,1),{\n});
  573.         %ok    @head(@getline(a,5,1),{\n});
  574.         case    (ok==1,{Yes},
  575.             {
  576.             footnote({会議室へのコメントを作成します});
  577.             mkdir2(TEMP);
  578.             %file1    @crefile(TEMP,{res});
  579.             case(@mcheck!=0,{Yes},{mclose(1)});
  580.             mwrite(TEMP2|file1,memono+1);
  581.             mopen(memono+1,0,241,639,459,{w});
  582.             %res1    {forum=}|forum|{;}|    {mes=}|mes|{;}|
  583.                 {reply=}|reply|{;}|    {title=}|title|{;}|
  584.                 {file=}|TEMP2|file1|{;\n};
  585.             write(TEMP2|{_mopres.ctl},res1);
  586.             case(@mcheck!=memono+1,{Yes},{mopen(memono+1)});
  587.             mclose(3);
  588.             CloseAllMemo;
  589.             mopen(memono,0,21,639,459,{w});
  590.             im({No});
  591.             },
  592.             {No},
  593.             {im({Yes})}
  594.             );
  595.         };
  596.  
  597.     footnote({会議室へのコメントを作成します});
  598.     OpenMemo(memono);
  599.     loop    ({
  600.         footnote({終了取消清書},{b});
  601.         waitx();
  602.         case    (@xtype,
  603.             101,{savememo(memono)},    201,{savememo(memono)},
  604.             102,{cancel(memono)},    202,{cancel(memono)},
  605.             103,{rewrite(memono)},    203,{rewrite(memono)},
  606.             ,{im({Yes})}
  607.             );
  608.         });
  609.     im({Yes});
  610.     };
  611.  
  612. /* 会議室へのコメント作成処理 */
  613. %sayMES    {
  614.     [memono]
  615.     %savememo{
  616.         [memono]
  617.         %c1    @case    (@nochar(l1)-38<=0,
  618.                 {Yes},{im(1)},
  619.                 {No},{im(@nochar(l1)-38)});
  620.         SNDMSG({nyuryo_f.snd});
  621.         %a    @plane(    {cフォーラムの会議室への新規発言\n}|
  622.                 {t フォーラム名 /xxxxxxxx\n}|
  623.                 {t  会議室番号  /xx\n}|
  624.                 {t   タイトル   /xxxxxxxxxxxxxxxxxxxx}|
  625.                         {xxxxxxxxxxxxxxxxxxxx\n}|
  626.                 {s              / 登録 / 取消 \n},
  627.                 fn,,
  628.                 );
  629.         
  630.         %forum    @head(@getline(a,1,1),{\n});
  631.         %mes    @head(@getline(a,2,1),{\n});
  632.         %title    @head(@getline(a,3,1),{\n});
  633.         %ok    @head(@getline(a,4,1),{\n});
  634.         case    (ok==1,{Yes},
  635.             {
  636.             footnote({会議室への新規発言を作成します});
  637.             mkdir2(TEMP);
  638.             %file1    @crefile(TEMP,{res});
  639.             case(@mcheck!=0,{Yes},{mclose(1)});
  640.             mwrite(TEMP2|file1,memono+1);
  641.             mopen(memono+1,0,241,639,459,{w});
  642.             %res1    {forum=}|forum|{;}|    {mes=}|mes|{;}|
  643.                 {reply=;}|        {title=}|title|{;}|
  644.                 {file=}|TEMP2|file1|{;\n};
  645.             write(TEMP2|{_mopres.ctl},res1);
  646.             case(@mcheck!=memono+1,{Yes},{mopen(memono+1)});
  647.             mclose(3);
  648.             CloseAllMemo;
  649.             mopen(memono,0,21,639,459,{w});
  650.             im({No});
  651.             },
  652.             {No},
  653.             {im({Yes})}
  654.             );
  655.         };
  656.  
  657.     footnote({会議室への新規発言を作成します});
  658.     OpenMemo(memono);
  659.     loop    ({
  660.         footnote({終了取消清書},{b});
  661.         waitx();
  662.         case    (@xtype,
  663.             101,{savememo(memono)},    201,{savememo(memono)},
  664.             102,{cancel(memono)},    202,{cancel(memono)},
  665.             103,{rewrite(memono)},    203,{rewrite(memono)},
  666.             ,{im({Yes})}
  667.             );
  668.         });
  669.     im({Yes});
  670.     };
  671.  
  672. /* メールへの返信作成処理 */
  673. %resMAIL{
  674.     [memono]
  675.     %savememo{
  676.         [memono]
  677.         %c1    @case    (@nochar(l2)-10<=0,
  678.                 {Yes},{im(1)},
  679.                 {No},{im(@nochar(l2)-10)});
  680.         SNDMSG({nyuryo_f.snd});
  681.         %a    @plane(    {cメールの返信\n}|
  682.                 {t  メール宛先  /xxxxxxxx\n}|
  683.                 {t   タイトル   /xxxxxxxxxxxxxxxxxxxx}|
  684.                         {xxxxxxxxxxxxxxxxxxxx\n}|
  685.                 {s              / 登録 / 取消 \n},
  686.                 @getchar(l1,23,8),
  687.                 {re:}|@head(@getchar(l2,11,c1),{\n})
  688.                 );
  689.         
  690.         %mail    @head(@getline(a,1,1),{\n});
  691.         %title    @head(@getline(a,2,1),{\n});
  692.         %ok    @head(@getline(a,3,1),{\n});
  693.         case    (ok==1,
  694.             {Yes},
  695.             {
  696.             footnote({メールの返信を作成します});
  697.             mkdir2(TEMP);
  698.             %file1    @crefile(TEMP,{res});
  699.             case(@mcheck!=0,{Yes},{mclose(1)});
  700.             mwrite(TEMP2|file1,memono+1);
  701.             mopen(memono+1,0,241,639,459,{w});
  702.             %res1    {mail=}|mail|{;}|    {title=}|title|{;}|
  703.                 {file=}|TEMP2|file1|{;}|{date=;\n};
  704.             write(TEMP2|{_mopres.ctl},res1);
  705.             case(@mcheck!=memono+1,{Yes},{mopen(memono+1)});
  706.             mclose(3);
  707.             CloseAllMemo;
  708.             mopen(memono,0,21,639,459,{w});
  709.             im({No});
  710.             },
  711.             {No},
  712.             {im({Yes})}
  713.             );
  714.         };
  715.  
  716.     footnote({メールの返信を作成します});
  717.     OpenMemo(memono);
  718.     loop    ({
  719.         footnote({終了取消清書},{b});
  720.         waitx();
  721.         case    (@xtype,
  722.             101,{savememo(memono)},    201,{savememo(memono)},
  723.             102,{cancel(memono)},    202,{cancel(memono)},
  724.             103,{rewrite(memono)},    203,{rewrite(memono)},
  725.             ,{im({Yes})}
  726.             );
  727.         });
  728.     im({Yes});
  729.     };
  730.  
  731. /* HPへの書き込み文書作成処理 */
  732. %resHP    {
  733.     [memono]
  734.     %savememo{
  735.         [memono]
  736.         %c1    @case    (@nochar(l1)-37<=0,
  737.                 {Yes},{im(1)},
  738.                 {No},{im(@nochar(l1)-37)});
  739.         SNDMSG({nyuryo_f.snd});
  740.         %a    @plane(    {cHPへの新規発言\n}|
  741.                 {t  HPのID  /xxxxxxxx\n}|
  742.                 {t  パスワード  /xxxxxxxx\n}|
  743.                 {t   タイトル   /xxxxxxxxxxxxxxxxxxxx}|
  744.                         {xxxxxxxxxxxxxxxxxxxx\n}|
  745.                 {s              / 登録 / 取消 \n},
  746.                 fn,
  747.                 @tail(NIFTY,{/}|fn|{/},{/}),
  748.                 {re:}|@head(@getchar(l1,38,c1),{\n})
  749.                 );
  750.         
  751.         %hpid    @head(@getline(a,1,1),{\n});
  752.         %hppass    @head(@getline(a,2,1),{\n});
  753.         %title    @head(@getline(a,3,1),{\n});
  754.         %ok    @head(@getline(a,4,1),{\n});
  755.         case    (ok==1,
  756.             {Yes},
  757.             {
  758.             footnote({HPへのアップ文書を作成します});
  759.             mkdir2(TEMP);
  760.             %file1    @crefile(TEMP,{res});
  761.             case(@mcheck!=0,{Yes},{mclose(1)});
  762.             mwrite(TEMP2|file1,memono+1);
  763.             mopen(memono+1,0,241,639,459,{w});
  764.             %res1    {hp=}|hpid|{;}|       {pass=}|hppass|{;}|
  765.                 {title=}|title|{;}|{file=}|TEMP2|file1|{;\n};
  766.             write(TEMP2|{_mopres.ctl},res1);
  767.             case(@mcheck!=memono+1,{Yes},{mopen(memono+1)});
  768.             mclose(3);
  769.             CloseAllMemo;
  770.             mopen(memono,0,21,639,459,{w});
  771.             im({No});
  772.             },
  773.             {No},
  774.             {im({Yes})}
  775.             );
  776.         };
  777.  
  778.     footnote({HPへのアップ文書を作成します});
  779.     OpenMemo(memono);
  780.     loop    ({
  781.         footnote({終了取消清書},{b});
  782.         waitx();
  783.         case    (@xtype,
  784.             101,{savememo(memono)},    201,{savememo(memono)},
  785.             102,{cancel(memono)},    202,{cancel(memono)},
  786.             103,{rewrite(memono)},    203,{rewrite(memono)},
  787.             ,{im({Yes})}
  788.             );
  789.         });
  790.     im({Yes});
  791.     };
  792.  
  793. /* DLIBからのダウンロード制御文作成処理 */
  794. %downDLIB{
  795.     var    forum    [8];
  796.     var    libno    [2];
  797.     var    datano    [3];
  798.     var    docfile    [64];
  799.     var    datafile[64];
  800.     var    ok    [2];
  801.     %LineNo @xlinenum;
  802.     dispoff({Yes});
  803.     command({del }|TEMP2|{_mopdlib.tmp});
  804.     command({txf -dlib -i }|LOGFILE|{ }|LineNo|{ > }|TEMP2|{_mopdlib.tmp});
  805.     dispoff({No});
  806.     %dlib    @read(TEMP2|{_mopdlib.tmp},1,1);
  807.     forum:=        @tail(dlib,{forum=},{;});
  808.     libno:=        @tail(dlib,{libno=},{;});
  809.     datano:=    @tail(dlib,{datano=},{;});
  810.     datafile:=    LOG2|{FREESOFT\}|@tail(dlib,{datafile=},{\n});
  811.     docfile:=    LOG2|{FREESOFT\}|@tail(dlib,{docfile=},{;});
  812.     loop    ({
  813.         SNDMSG({nyuryo_f.snd});
  814.         %a    @plane(    {cライブラリからのダウンロード\n}|
  815.                 {t フォーラム名 /xxxxxxxx\n}|
  816.                 {tライブラリ番号/xx\n}|
  817.                 {t  データ番号  /xxx\n}|
  818.                 {tデータファイル/\n}|
  819.                 {s              ファイル一覧 / 選択 \n}|
  820.                 {t 概要ファイル /\n}|
  821.                 {s              ファイル一覧 / 選択 \n}|
  822.                 {s              / 登録 / 取消 \n},
  823.                 forum,libno,datano,datafile,docfile);
  824.         
  825.         forum:=        @head(@getline(a,1,1),{\n});
  826.         libno:=        @head(@getline(a,2,1),{\n});
  827.         datano:=    @head(@getline(a,3,1),{\n});
  828.         datafile:=    @head(@getline(a,4,1),{\n});
  829.         %sel1        @head(@getline(a,5,1),{\n});
  830.         docfile:=    @head(@getline(a,6,1),{\n});
  831.         %sel2        @head(@getline(a,7,1),{\n});
  832.         ok:=        @head(@getline(a,8,1),{\n});
  833.         case    (sel1==1,{Yes},
  834.             {datafile:=@FILEsel1;
  835.             docfile:=@body(datafile,,{.})|{.ggg};im({Yes})});
  836.         case    (sel2==1,{Yes},{docfile:=@FILEsel1;im({Yes})});
  837.         });
  838.  
  839.     case    (ok==1,{Yes},
  840.         {
  841.         %res1    {forum=}|forum|{;}|    {libno=}|libno|{;}|
  842.             {datano=}|datano|{;}|    {docfile=}|docfile|{;}|
  843.             {datafile=}|datafile|{;\n};
  844.         write(TEMP2|{_mopdlib.ctl},res1);
  845.         case(@mcheck!=memono,{Yes},{mopen(memono)});
  846.         });
  847.     im({Yes});
  848.     };
  849.  
  850. /*    ダウンロードファイル指定処理    */
  851. %FILEsel1{
  852.     var    dnfile    [64];
  853.     SNDMSG({erande_f.snd});
  854.     dnfile:=@filesel;
  855.     case    (dnfile,
  856.         {},{im({})},
  857.         ,
  858.         {
  859.         case    (@nochar(@getcdir)=3,
  860.             {Yes},    {dnfile:=@getcdir|dnfile},
  861.             {No},    {dnfile:=@getcdir|{\}|dnfile}
  862.             )
  863.         }
  864.         );
  865.     im(dnfile);
  866.     };
  867.  
  868. /* NAPLPSファイル表示処理 */
  869. %ViewNAP{
  870.     [file,memono]
  871.     CloseAllMemo;
  872.     naplps(file);
  873.     footnote({終了},{b});
  874.     loop    ({
  875.         waitx(300);
  876.         case    (@xtype,
  877.             101,
  878.             {
  879.             napend;
  880.             CloseAllMemo;
  881.             footnote({});
  882.             mopen(memono,0,21,639,459,{w});
  883.             im({No});
  884.             },
  885.             201,
  886.             {
  887.             napend;
  888.             CloseAllMemo;
  889.             footnote({});
  890.             mopen(memono,0,21,639,459,{w});
  891.             im({No});
  892.             },
  893.             ,{im({Yes})}
  894.             );
  895.         });
  896.     im({Yes});
  897.     };
  898.  
  899. /* 受信ログ参照処理メイン */
  900. var    fn    [8];
  901. var    l1    [82];
  902. var    l2    [82];
  903. var    DOCFILE    [64];
  904. var    DATAFILE[64];
  905. var    LOGFILE    [64];
  906.  
  907. footnote({受信ログを参照します});
  908. %memono    @mlast+1;
  909. case    (memono>5,
  910.     {No},{ViewLOG(LOG,memono)},
  911.     {Yes},
  912.     {
  913.     SNDMSG    ({kaknin_f.snd});
  914.     select    ({メモ5-9の内容が消去されます  よろしいですか?},
  915.         Wtime4,,{ は い },{ViewLOG(LOG,5)},{ いいえ },);
  916.     });
  917.