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

  1. /*    NIFTYでの処理から一つ取り出す    */
  2. %nifty    {
  3.     [n]
  4.     var    a    [26];
  5.     var    b    [12];
  6.     var    onenif    [100];
  7.     onenif:=@getline(NIFTY,n,1);
  8.     case    (@nth(onenif,1,{/}),
  9.         {ホームパーティ},{b:={HP}},
  10.         {フォーラム},{b:={フォーラム}},
  11.         {再ログイン},{b:={再ログイン}},
  12.         ,{b:=@nth(onenif,1,{/})}
  13.         );
  14.     case    (@nochar(onenif),
  15.         0,{a:={                    }},
  16.         2,{a:={                    }},
  17.         , {a:=b|{/}|@nth(onenif,3,{/})|{/}|@nth(onenif,2,{/})}
  18.         );
  19.     case    (@nochar(n)=1,
  20.         {Yes},{a:={0}|n|{:}|a},
  21.         {No}, {a:=n|{:}|a}
  22.         );
  23.     im(a);
  24.     };
  25.  
  26. /*    NIFTYでの処理実行日の指定    */
  27. %date    {
  28.     [msg,default]
  29.     select    (msg,
  30.         Wtime4,{im(default)},
  31.         { 毎  日 },{im({毎日})},
  32.         { 奇数日 },{im({奇数})},
  33.         { 偶数日 },{im({偶数})},
  34.         { 日  曜 },{im({日曜})},
  35.         { 月  曜 },{im({月曜})},
  36.         { 火  曜 },{im({火曜})},
  37.         { 水  曜 },{im({水曜})},
  38.         { 木  曜 },{im({木曜})},
  39.         { 金  曜 },{im({金曜})},
  40.         { 土  曜 },{im({土曜})},
  41.         {毎月 1日},{im({01日})},
  42.         {毎月05日},{im({05日})},
  43.         {毎月10日},{im({10日})},
  44.         {毎月15日},{im({15日})},
  45.         {毎月20日},{im({20日})},
  46.         {毎月25日},{im({25日})},
  47.         {毎月30日},{im({30日})},
  48.         {設定なし},{im({未定})}
  49.         );
  50.     };
  51.  
  52. /*    設定情報をファイルに保存する    */
  53. %writeNIF{
  54.     dispoff({Yes});
  55.     setcdir(CDIR);
  56.     command({copy }|NIFFILE|{ FAPXNIF.BAK});
  57.     command({del }|NIFFILE);
  58.     dispoff({No});
  59.     write(NIFFILE,
  60.         {NIFTY    :=}|@xc({7b})|NIFTY    |@xc({7d})|{;\n});
  61.     SETFILE2:={標準設定};
  62.     };
  63.  
  64. /*    設定情報をもとに戻す    */
  65. %CANCEL    {
  66.     SNDMSG({erande_f.snd});
  67.     footnote({本当にもとに戻してもいいですか?});
  68.     select    ({本当にもとに戻してもいいですか?},
  69.         Wtime4,,
  70.         { O K },
  71.         {
  72.         case    (@filechk(NIFFILE),
  73.             {Yes},
  74.             {
  75.             setcdir(CDIR);
  76.             #FAPXNIF.SET;
  77.             SETFILE2:={標準設定};
  78.             }
  79.             )
  80.         },
  81.         { N G },
  82.         );
  83.     };
  84.  
  85. /*    フォーラムの指定    */
  86. %setFORUM{
  87.     [n]
  88.     %NIFTY1    @getline(NIFTY,n,1);
  89.     %d    {case    (@nth(NIFTY1,2,{/}),{},{im({未設定})},
  90.                     ,{im(@nth(NIFTY1,2,{/}))})};
  91.     %d2    @d;
  92.  
  93.     SNDMSG({nyuryo_f.snd});
  94.     footnote({フォーラム名を入力して下さい});
  95.     %forum    @input({フォーラム名を入力して下さい},,
  96.             @nth(@getline(NIFTY,n,1),3,{/}));
  97.  
  98.     SNDMSG({nyuryo_f.snd});
  99.     footnote(forum|{の会議室番号を入力して下さい});
  100.     %mes    @input(forum|{の会議室番号を指定して下さい\n}|
  101.             {    指定された会議室の未読を読みます\n}|
  102.             {    カンマ「,」で区切って複数指定できます\n\n}|
  103.             {    「all」と指定すると全ての会議室の未読を読みます},,
  104.             @nth(@getline(NIFTY,n,1),4,{/}));
  105.  
  106.     SNDMSG({nyuryo_f.snd});
  107.     footnote(forum|{のライブラリ番号を入力して下さい});
  108.     %lib    @input(forum|{のライブラリ番号を指定して下さい\n}|
  109.             {    指定されたライブラリのデータ一覧を見ます\n}|
  110.             {    カンマ「,」で区切って複数指定できます\n\n}|
  111.             {    「lib」と指定するとライブラリ一覧が表示されます},,
  112.             @nth(@getline(NIFTY,n,1),5,{/}));
  113.  
  114.     SNDMSG({erande_f.snd});
  115.     footnote(forum|{を実行する日を指定して下さい});
  116.     %dat    @date(forum|{を実行する日を指定して下さい  現在は }|d2|{ です},
  117.             d2);
  118.     case    (dat,
  119.         {del },{NIFTY:=@getline(NIFTY,1,n-1)|{\n}|@getline(NIFTY,n+1)},
  120.         ,      {NIFTY:=@getline(NIFTY,1,n-1)|
  121.             {フォーラム}|{/}|dat|{/}|
  122.             forum|{/}|mes|{/}|lib|{/\n}|
  123.             @getline(NIFTY,n+1)}
  124.         );
  125.     };
  126.  
  127. /*    ホームパーティの指定    */
  128. %setHP    {
  129.     [n]
  130.     %NIFTY1    @getline(NIFTY,n,1);
  131.     %d    {case    (@nth(NIFTY1,2,{/}),{},{im({未設定})},
  132.                     ,{im(@nth(NIFTY1,2,{/}))})};
  133.     %d2    @d;
  134.  
  135.     SNDMSG({nyuryo_f.snd});
  136.     footnote({ホームパーティのIDを入力して下さい});
  137.     %id    @input({ホームパーティのIDを入力して下さい},,
  138.             @nth(NIFTY1,3,{/}));
  139.  
  140.     SNDMSG({nyuryo_f.snd});
  141.     footnote(id|{のホームパーティのパスワードを入力して下さい});
  142.     %pass    @input(id|{のホームパーティのパスワードを入力して下さい},,
  143.             @nth(NIFTY1,4,{/}));
  144.  
  145.     SNDMSG({erande_f.snd});
  146.     footnote(id|{のホームパーティを実行する日を指定して下さい});
  147.     %dat    @date({ホームパーティを実行する日を指定して下さい  現在は }|d2|
  148.             { です},d2);
  149.     case    (dat,
  150.         {del },{NIFTY:=@getline(NIFTY,1,n-1)|{\n}|@getline(NIFTY,n+1)},
  151.         ,      {NIFTY:=@getline(NIFTY,1,n-1)|
  152.             {ホームパーティ}|{/}|dat|{/}|
  153.             id|{/}|pass|{/\n}|
  154.             @getline(NIFTY,n+1)}
  155.         );
  156.     };
  157.  
  158. /*    課金情報の確認指定    */
  159. %setBILL{
  160.     [n]
  161.     %NIFTY1    @getline(NIFTY,n,1);
  162.     %d    {case    (@nth(NIFTY1,2,{/}),{},{im({未設定})},
  163.                     ,{im(@nth(NIFTY1,2,{/}))})};
  164.     %d2    @d;
  165.  
  166.     SNDMSG({erande_f.snd});
  167.     footnote({課金情報確認を実行する日を指定して下さい});
  168.     %dat    @date({課金情報確認を実行する日を指定して下さい  現在は }|
  169.             d2|{ です},d2);
  170.     case    (dat,
  171.         {del },{NIFTY:=@getline(NIFTY,1,n-1)|{\n}|@getline(NIFTY,n+1)},
  172.         ,      {NIFTY:=@getline(NIFTY,1,n-1)|
  173.             {課金情報確認}|{/}|dat|{//\n}|
  174.             @getline(NIFTY,n+1)}
  175.         );
  176.     };
  177.  
  178. /*    FMNEWSの確認指定    */
  179. %setFMNEWS{
  180.     [n]
  181.     %NIFTY1    @getline(NIFTY,n,1);
  182.     %d    {case    (@nth(NIFTY1,2,{/}),{},{im({未設定})},
  183.                     ,{im(@nth(NIFTY1,2,{/}))})};
  184.     %d2    @d;
  185.  
  186.     SNDMSG({erande_f.snd});
  187.     footnote({FM情報確認を実行する日を指定して下さい});
  188.     %dat    @date({FM情報確認を実行する日を指定して下さい  現在は }|
  189.             d2|{ です},d2);
  190.     case    (dat,
  191.         {del },{NIFTY:=@getline(NIFTY,1,n-1)|{\n}|@getline(NIFTY,n+1)},
  192.         ,      {NIFTY:=@getline(NIFTY,1,n-1)|
  193.             {FM情報確認}|{/}|dat|{//\n}|@getline(NIFTY,n+1)}
  194.         );
  195.     };
  196.  
  197. /*    自由行動(チャット等)の指定    */
  198. %setCHAT{
  199.     [n]
  200.     %NIFTY1    @getline(NIFTY,n,1);
  201.     %d    {case    (@nth(NIFTY1,2,{/}),{},{im({未設定})},
  202.                     ,{im(@nth(NIFTY1,2,{/}))})};
  203.     %d2    @d;
  204.  
  205.     SNDMSG({erande_f.snd});
  206.     footnote({自由行動を実行する日を指定して下さい});
  207.     %dat    @date({自由行動を実行する日を指定して下さい  現在は }|
  208.             d2|{ です},d2);
  209.  
  210.     case    (dat,
  211.         {del },{NIFTY:=@getline(NIFTY,1,n-1)|{\n}|@getline(NIFTY,n+1)},
  212.         ,      {NIFTY:=@getline(NIFTY,1,n-1)|
  213.             {自由行動}|{/}|dat|{//\n}|@getline(NIFTY,n+1)}
  214.         );
  215.     };
  216.  
  217. /*    再ログイン処理の指定    */
  218. %setRECON{
  219.     [n]
  220.     %NIFTY1    @getline(NIFTY,n,1);
  221.     %d    {case    (@nth(NIFTY1,2,{/}),{},{im({未設定})},
  222.                     ,{im(@nth(NIFTY1,2,{/}))})};
  223.     %d2    @d;
  224.  
  225.     %uid    {case    (@nochar(@nth(NIFTY1,3,{/})),
  226.             0,{im({})},
  227.             2,{im({})},
  228.             , {im(@nth(NIFTY1,3,{/}))}
  229.             )
  230.         };
  231.     %pwd    {case    (@nochar(@nth(NIFTY1,4,{/})),
  232.             0,{im({})},
  233.             2,{im({})},
  234.             , {im(@nth(NIFTY1,4,{/}))}
  235.             )
  236.         };
  237.  
  238.  
  239.     %UID    {
  240.         SNDMSG({nyuryo_f.snd});
  241.         footnote({ユーザーIDを入力して下さい});
  242.         %id    @input({ユーザーIDを入力して下さい\n}|
  243.             {    ユーザーIDは必ず半角の大文字で入力して下さい},
  244.                 ,@uid);
  245.         case    (@nochar(id),
  246.             8,{im(id)},
  247.             ,UID);
  248.         };
  249.  
  250.     %PWD    {
  251.         SNDMSG({nyuryo_f.snd});
  252.         footnote({パスワードを入力して下さい});
  253.         %pass    @input({パスワードを入力して下さい\n}|
  254.                 {    「*」を指定すると実行時に入力可能です},
  255.                 ,@pwd);
  256.         case(pass,{},PWD,,{im(pass)});
  257.         };
  258.  
  259.     %UID2    @UID;
  260.     %PWD2    @PWD;
  261.     SNDMSG({erande_f.snd});
  262.     footnote({再ログインを実行する日を指定して下さい});
  263.     %dat    @date({再ログインを実行する日を指定して下さい  現在は }|
  264.                 d2|{ です},d2);
  265.     case    (dat,
  266.         {del },{NIFTY:=@getline(NIFTY,1,n-1)|{\n}|@getline(NIFTY,n+1)},
  267.         ,      {NIFTY:=@getline(NIFTY,1,n-1)|
  268.                 {再ログイン}|{/}|dat|{/}|UID2|{/}|PWD2|{/\n}|
  269.                 @getline(NIFTY,n+1)}
  270.         );
  271.     };
  272.  
  273. /*    今週のお知らせの指定    */
  274. %setGONEW{
  275.     [n]
  276.     %NIFTY1    @getline(NIFTY,n,1);
  277.     %d    {case    (@nth(NIFTY1,2,{/}),{},{im({未設定})},
  278.                     ,{im(@nth(NIFTY1,2,{/}))})};
  279.     %d2    @d;
  280.  
  281.     SNDMSG({erande_f.snd});
  282.     footnote({今週のお知らせを読む日を指定して下さい});
  283.     %dat    @date({今週のお知らせを読む日を指定して下さい  現在は }|
  284.             d2|{ です},d2);
  285.     case    (dat,
  286.         {del },{NIFTY:=@getline(NIFTY,1,n-1)|{\n}|@getline(NIFTY,n+1)},
  287.         ,      {NIFTY:=@getline(NIFTY,1,n-1)|
  288.             {お知らせ}|{/}|dat|{//\n}|@getline(NIFTY,n+1)}
  289.         );
  290.     };
  291.  
  292. /*    NIFTYで行う処理を設定する    */
  293. %setNIF    {
  294.     [n]
  295.     case    (@nochar(@nth(@getline(NIFTY,n,1),1,{/})),
  296.         0,{setNIF1(n)},    /* 空文字列 */
  297.         2,{setNIF1(n)},    /* 改行コードのみ */
  298.         ,
  299.         {
  300.         SNDMSG({erande_f.snd});
  301.         footnote({処理を選択してください});
  302.         select({処理を選択してください},
  303.             Wtime4,,
  304.             { 変  更 },{setNIF1(n)},
  305.             { 削  除 },{NIFTY:=@getline(NIFTY,1,n-1)|{\n}|
  306.                         @getline(NIFTY,n+1)},
  307.             { 中  止 },
  308.             );
  309.         }
  310.         );
  311.     };
  312.  
  313. %setNIF1{
  314.     [n]
  315.     case    (@nth(@getline(NIFTY,n,1),1,{/}),
  316.         {フォーラム},{setFORUM(n)},
  317.         {ホームパーティ},{setHP(n)},
  318.         {課金情報確認},{setBILL(n)},
  319.         {FM情報確認},{setFMNEWS(n)},
  320.         {自由行動},{setCHAT(n)},
  321.         {再ログイン},{setRECON(n)},
  322.         {お知らせ},{setGONEW(n)},
  323.         ,{SNDMSG({erande_f.snd});
  324.           footnote({NIFTYで行う処理を指定して下さい});
  325.           select({NIFTYで行う処理を指定して下さい},
  326.             Wtime4,,
  327.             {  フォーラム  },{setFORUM(n)},
  328.             {ホームパーティ},{setHP(n)},
  329.             { 課金情報確認 },{setBILL(n)},
  330.             { FM情報確認 },{setFMNEWS(n)},
  331.             {   自由通信   },{setCHAT(n)},
  332.             {  再ログイン  },{setRECON(n)},
  333.             {今週のお知らせ},{setGONEW(n)},
  334.             {     終了     },
  335.             );}
  336.         );
  337.     };
  338.  
  339. /*    NIFTYで行う処理を並べ変える    */
  340. %renNIF    {
  341.     var    num    [72];
  342.     var    count    [72];
  343.     var    NIFTY2    [3074];
  344.     count:=0;
  345.     num    :={};
  346.     NIFTY2    :={};
  347.  
  348.     %nif01    @nifty(1);    %nif02    @nifty(2);    %nif03    @nifty(3);        %nif04    @nifty(4);    %nif05    @nifty(5);    %nif06    @nifty(6);
  349.     %nif07    @nifty(7);    %nif08    @nifty(8);    %nif09    @nifty(9);
  350.     %nif10    @nifty(10);    %nif11    @nifty(11);    %nif12    @nifty(12);
  351.     %nif13    @nifty(13);    %nif14    @nifty(14);    %nif15    @nifty(15);
  352.     %nif16    @nifty(16);    %nif17    @nifty(17);    %nif18    @nifty(18);
  353.     %nif19    @nifty(19);    %nif20    @nifty(20);    %nif21    @nifty(21);
  354.     %nif22    @nifty(22);    %nif23    @nifty(23);    %nif24    @nifty(24);
  355.  
  356.     %renum    {
  357.         [n]
  358.         case    (num,{},{num:=n},,{num:=num|{,}|n});
  359.         case    (NIFTY2,
  360.             {},{NIFTY2:=@getline(NIFTY,n,1)},
  361.             ,  {NIFTY2:=NIFTY2|@getline(NIFTY,n,1)}
  362.             );
  363.         count:=count+1;
  364.         };
  365.  
  366.     %cancel1{
  367.         case    (count>0,{Yes},{count:=count-1});
  368.         case    (count>0,
  369.             {Yes},{NIFTY2:=@getline(NIFTY2,1,count)},
  370.             {No}, {NIFTY2:={}}
  371.             );
  372.         num:=@body(num,,{,});
  373.         };
  374.  
  375.     loop    ({
  376.         SNDMSG({erande_f.snd});
  377.         footnote({NIFTYで行う順序を指定して下さい});
  378.         display    ({現在 }|num|{ が指定されています\n});
  379.         select    ({NIFTYで行う順序を指定して下さい},,,
  380.             nif01,{renum(1);im({Yes})},nif02,{renum(2);im({Yes})},
  381.             nif03,{renum(3);im({Yes})},nif04,{renum(4);im({Yes})},
  382.             nif05,{renum(5);im({Yes})},nif06,{renum(6);im({Yes})},
  383.             nif07,{renum(7);im({Yes})},nif08,{renum(8);im({Yes})},
  384.             nif09,{renum(9);im({Yes})},nif10,{renum(10);im({Yes})},
  385.             nif11,{renum(11);im({Yes})},nif12,{renum(12);im({Yes})},
  386.             nif13,{renum(13);im({Yes})},nif14,{renum(14);im({Yes})},
  387.             nif15,{renum(15);im({Yes})},nif16,{renum(16);im({Yes})},
  388.             nif17,{renum(17);im({Yes})},nif18,{renum(18);im({Yes})},
  389.             nif19,{renum(19);im({Yes})},nif20,{renum(20);im({Yes})},
  390.             nif21,{renum(21);im({Yes})},nif22,{renum(22);im({Yes})},
  391.             nif23,{renum(23);im({Yes})},nif24,{renum(24);im({Yes})},
  392.             {    一  個  取  消    },{cancel1;im({Yes})},
  393.             {      全  取  消      },{num:={};NIFTY2:={};im({Yes})},
  394.             {    指  定  終  了    },{NIFTY:=NIFTY2;im({No})}
  395.             );
  396.         });
  397.     };
  398.  
  399. /*    設定情報をファイルに保存する    */
  400. %SAVE    {
  401.     var    newfile    [64];
  402.     SNDMSG({erande_f.snd});
  403.     footnote({設定を保存するファイルを指定して下さい});
  404.     newfile:=@filesel({NIF});
  405.     case    (newfile<>{},
  406.         {Yes},
  407.         {
  408.         %newdir    @getcdir;
  409.         case    (@nochar(newdir)==3,
  410.             {Yes},{newfile:=newdir|newfile},
  411.             {No},{newfile:=newdir|{\}|newfile});
  412.         dispoff({Yes});
  413.         command({del }|newfile);
  414.         dispoff({No});
  415.         write(newfile,{NIFTY    :=}|@xc({7b})|NIFTY|@xc({7d})|{;\n});
  416.         }
  417.         );
  418.     setcdir(CDIR);
  419.     };
  420.  
  421. /*    ファイルから設定情報を読み込む    */
  422. %LOAD    {
  423.     var    newfile    [64];
  424.     SNDMSG({erande_f.snd});
  425.     footnote({設定を読み込むファイルを指定して下さい});
  426.     newfile:=@filesel({NIF});
  427.     case    (newfile<>{},
  428.         {Yes},
  429.         {
  430.         %newdir    @getcdir;
  431.         case    (@nochar(newdir)==3,
  432.             {Yes},{newfile:=newdir|newfile},
  433.             {No},{newfile:=newdir|{\}|newfile});
  434.         case    (@filechk(newfile),
  435.             {Yes},
  436.             {
  437.             %ExcPilot {#}|newfile;
  438.             ExcPilot;
  439.             setcdir(CDIR);
  440.             SETFILE2:=@tail(newfile,{\});
  441.             }
  442.             );
  443.         }
  444.         );
  445.     setcdir(CDIR);
  446.     };
  447.  
  448. /*    NIFTYで行う処理を設定する    */
  449. %setNIFTY
  450.     {
  451.     loop    ({
  452.         SNDMSG({erande_f.snd});
  453.         footnote({NIFTYで行う処理を指定して下さい});
  454.         select    ({NIFTYで行う処理を指定して下さい},,,
  455.             @nifty(1),{setNIF(1);im({Yes})},
  456.             @nifty(2),{setNIF(2);im({Yes})},
  457.             @nifty(3),{setNIF(3);im({Yes})},
  458.             @nifty(4),{setNIF(4);im({Yes})},
  459.             @nifty(5),{setNIF(5);im({Yes})},
  460.             @nifty(6),{setNIF(6);im({Yes})},
  461.             @nifty(7),{setNIF(7);im({Yes})},
  462.             @nifty(8),{setNIF(8);im({Yes})},
  463.             @nifty(9),{setNIF(9);im({Yes})},
  464.             @nifty(10),{setNIF(10);im({Yes})},
  465.             @nifty(11),{setNIF(11);im({Yes})},
  466.             @nifty(12),{setNIF(12);im({Yes})},
  467.             @nifty(13),{setNIF(13);im({Yes})},
  468.             @nifty(14),{setNIF(14);im({Yes})},
  469.             @nifty(15),{setNIF(15);im({Yes})},
  470.             @nifty(16),{setNIF(16);im({Yes})},
  471.             @nifty(17),{setNIF(17);im({Yes})},
  472.             @nifty(18),{setNIF(18);im({Yes})},
  473.             @nifty(19),{setNIF(19);im({Yes})},
  474.             @nifty(20),{setNIF(20);im({Yes})},
  475.             @nifty(21),{setNIF(21);im({Yes})},
  476.             @nifty(22),{setNIF(22);im({Yes})},
  477.             @nifty(23),{setNIF(23);im({Yes})},
  478.             @nifty(24),{setNIF(24);im({Yes})},
  479.             {     順  序  変  更     },{renNIF;  im({Yes})},
  480.             {    元の設定にもどす    },{CANCEL;  im({Yes})},
  481.             {  設定をファイルに保存  },{SAVE;    im({Yes})},
  482.             { ファイルから設定を読込 },{LOAD;    im({Yes})},
  483.             {   設定を保存して終了   },{writeNIF;im({No})},
  484.             {保存しない(一時的な変更)},
  485.                     {SETFILE2:={一時設定};im({No})}
  486.             );
  487.         });
  488.     };
  489.  
  490. setNIFTY;
  491.