/* mee 0.1.13 (0.2.2β) All Right Reserved, Copyright (c) 1995 M.Katsui FM77AV40(フォーティー) */ var ext[1]; var tab[1]; var cr[1]; var date[256]; var yyyy[4]; var yy[2]; var MM[2]; var dd[2]; var www[3]; var hh[2]; var mm[2]; var ss[2]; var mons[256]; var min[8]; min:=6000; ext:=@xc({03}); tab:=@xc({09}); cr:=@xc({0D}); mons:={ Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec}; var meeversion[128]; var busytime[8]; var noacttime[8]; var dulytime[8]; var linetype[8]; var bbstype[8]; var retry[8]; var retrycount[8]; var bbsname[3]; var sysdir[8]; var logdir[8]; var listdir[8]; var tmpdir[8]; var dlist [1024*3]; var newnam [16]; var ppath [16]; var dlname [16]; var listcval [16]; var lz [3]; var escch[1]; var pathch[1]; escch:={/}; pathch:={/}; meeversion := {mee 0.1.13 (0.2.2β)}; busytime := 600; noacttime := 300; dulytime := 20; retry := 100; retrycount := 0; sysdir := {a:\}; logdir := {b:\}; listdir := {b:\list\}; tmpdir := {d:\}; var chkketa[4]; var chkmoji[256]; var lstchkketa[4]; var lstchkmoji[256]; var lstnamketa[4]; var lstcutnamketa[4]; var lstatketa[4]; var lstcutatketa[4]; var lsttoketa[4]; var lstcuttoketa[4]; var lstsubj[4]; var lstcutsubj[4]; var djllchketa[4]; var djllchmoji[256]; var tncdcmoji[256]; var discmoji[256]; djllchketa := 42; djllchmoji := {/}; lstchkketa := 42; lstchkmoji := {/}; lstnamketa := 1; lstcutnamketa := 5; lstatketa := 31; lstcutatketa := 6; lsttoketa := 17; lstcuttoketa := 6; tncdcmoji := {*** DISCONNECTED [}; discmoji := tncdcmoji; %init{ code({sjis}); chat({Yes}); }; %tncset{ cmdchk; setdate; type({daytime }|yy|MM|dd|hh|mm|ss|cr); cmdchk; type({autolf y\npassa n\nmc n\ncstamp y\nconst on\n}); cmdchk; }; %cmdchk{ type(ext|ext|ext); wait (1); case(linetype = {tnc} ,{Yes},{type({\n});},{No},{type({AT\n});}); wait (3,{cmdchk}, {cmd:},{im({tnc});linetype:={tnc};}, {OK},{im({modem});linetype:={modem};} ); }; %setdate{ date:=@daylong; yy:=@getchar(date,3,2); MM:=@getchar(date,6,2); dd:=@getchar(date,9,2); www:=@getchar(date,12,3); hh:=@getchar(date,16,2); mm:=@getchar(date,19,2); ss:=@getchar(date,22,2); }; %months{[n] im(@getchar(mons,n*4-2,3)); }; %monnam{[ptn] im((@nochar(@head(mons,ptn))+3)/4); }; %grep {[n,prt] display(n|{秒間}|prt|{待ち}); wait (n,, prt,{display(prt|{発見});}, ); }; %next{[min] cmdchk; type({d\n}); case(linetype, {tnc},{wait (60,, discmoji,{display({ディスコネ確認});}, {Link state is: DISCONNECTED},{ display({ディスコネ確認\n}); } );} ); grep(min,{: <>:}); display({次行ってみよー}); innext(dulytime);/*wait(dulytime);*/ }; %Call {[input] tncset; cmdchk; type({c }|input|cr); display(input|{にコネクト掛けています}); wait (600,{end}, {*** retry count exceeded},{ display({あれれ?いないのかな}); case(retrycount>retry,{Yes},{display({リトライ超過});exit;}); retrycount:=retrycount+1; display({リトライ(}|retrycount|{/}|retry|{)}); next(noacttime);Call(input);}, discmoji,{ display({ディスコネ}); case(retrycount>retry,{Yes},{display({リトライ超過});exit;}); retrycount:=retrycount+1; display({リトライ(}|retrycount|{/}|retry|{)}); next(noacttime);Call(input);}, {*** }|@head(input,{ })|{ busy},{ display({ビジ−です}); case(retrycount>retry,{Yes},{display({リトライ超過});exit;}); retrycount:=retrycount+1; display({リトライ(}|retrycount|{/}|retry|{)}); next(busytime); Call(input); }, {*** CONNECTED to },{display(input|{にコネクトしました\n});retrycount:=0}); }; %ch{[n,prt] wait (n,{exit;}, prt,{display(/*prt|*/{確認});}, discmoji,{display({ディスコネ});{exit;};} ); }; %end{ cmdchk; type({d\n}); wait (60,{stop}, discmoji, {display({ディスコネ確認});}, {Link state is: DISCONNECTED},{display({ディスコネ確認});} ); stop; }; %exit { dlist := {}; retrycount := 0 ; discon; case (dlname<>{},{Yes}, {stoprec; dlname:={};}); case (newnam<>{},{Yes}, {plistpoint(bbsname,ppath,newnam);newnam:={};},); pad := point; display(count|{/}|potcount|{ }|busytime|{秒間待ち}); case (count = potcount , {Yes} , {stop;}); count := count + 1 ; next(busytime); shellmina; stop; }; var val[3]; %nread{[n,ptn,ptn2,act2] loop({ wait(n,{exit;}, ptn2,{display(ptn2|{次のメッセージへ\n});type(act2|{\n});val:={Yes};}, discmoji,{display({ディスコネ});{exit;};}, ptn,{val:={No};} ); im(val); }); }; /*%nread{[n,ptn,ptn2,act2] wait(n,{exit;}, ptn2,{display(ptn2|{次のメッセージへ\n});type(act2|{\n});nread(n,ptn,ptn2,act2);}, discmoji,{display({ディスコネ});{exit;};}, ptn, {display({終了});} ); }; */ %fileup{[file] var up[256*10]; type( @read(logdir|file) ); }; %del{[file] wait(1); case(@filechk(file),{Yes},{command({del }|file);}); }; %fcopy{[file,ptn] wait(1); case(@filechk(file),{Yes},{command({copy }|file|{ }|ptn);}); }; var pad[1024*10]; var a [1024*10]; var tmp [1024*10]; var b [256]; var c [256]; var d [256]; var e [256]; var f [256]; var i [16]; var p [256]; var s [1024*10]; var sd [256]; sd:=pathch; var point [1024*10]; var count [16]; var potcount [16]; init; %skip{[ptna] var p[256]; var val[3]; a:=@wdel(ptna); p:=@head(@head(@head(a,{\n}),{ }),tab); case(@instr(p,{"})=0, {Yes},{a:=@getchar(a,@nochar(p)+1);}, {No},{a:=@body(a,{"}); loop({ val:=@nochar(@head(a,escch))<@nochar(@head(a,{"})); case(val,{Yes},{ a:=@getchar(@body(a,escch),2); },); im(val); }); a:=@body(a,{"}); }, ); im(a); }; %wadcut{[ptna] var p[1024*16]; var pp[256]; var w[3]; var val[3]; w :={Yes}; p:={}; a:=@wdel(ptna); /*display({a(}|@head(a,{\n})|{)});*/ case(@getchar(a,1,1), {"},{ a:=@body(a,{"}); loop({ val:=@nochar(@head(a,escch))<@nochar(@head(a,{"})); case(val, {Yes},{ p:=p|@head(a,escch)|escch; a:=@body(a,escch); pp:=@nochar(p)-1; case(@getchar(a,1,1), escch,{ /*p:=p|escch;*/ a:=@getchar(a,2); }, {"},{p:=@getchar(p,1,pp)|{"}; a:=@getchar(a,2); }, {s},{p:=@getchar(p,1,pp)|{ }; a:=@getchar(a,2); }, {@},{p:=@getchar(p,1,pp)|{@}; a:=@getchar(a,2); }, );}, ); im(val); }); p:=p|@head(a,{"}); a:=@body(a,{"}); w:={}; }, {.},{w:={};}, {@},{w:={};}, ); case(w, {Yes},{ p:=@head(@head(@head(a,{\n}),{ }),tab); a:=@getchar(a,@nochar(p)+1); case(@getchar(p,1,1), {^},{p:=@ld(@getchar(p,2)); }, ); } ); im(p); }; %wdel{[ptna] val:={No}; case(@getchar(ptna,1,1), { },{a:=@getchar(ptna,2);a:=@wdel(a);}, {\n},{a:=@getchar(ptna,2);a:=@wdel(a);}, tab,{a:=@getchar(ptna,2);a:=@wdel(a);} ); im(a); }; %spdel{[t] case( { } = @getchar(t,1,1) , {Yes}, { s := @getchar(t,2,); s := @spdel(s); }, {No}, { s:=t; }, ); im(s); }; %crdel{[t] case( 0 = @nochar(@head(t,{\n})) , {Yes}, { s := @body(t,{\n}); s := @crdel(s); }, {No}, { s:=t; }, ); im(s); }; %shellmina{ var plabel[1024]; var ppad[10]; a := pad; loop({ a := @body(a,{.}); footnote(meeversion |{ 動作中 コマンド(}|@head(@head(@head(a,{ }),{\n}),tab)|{)}); /* wait(1); display({コマンド(}|@head(a,{\n})|{)\n} );*/ case(@head(@head(@head(a,{\n}),{ }),tab), {fileup},{rfileup;}, {uptxt},{ruptxt;}, {upxm},{rupxm;}, {upym},{rupym;}, {put},{/*display({プットル−チン});*/rput;}, {chk},{/*display({チェックル−チン});*/ rchk;}, {chr}, {rchread;}, {nr},{/*display({マルチリ−ドル−チン});*/rnr;}, {dlst},{rdlst;}, {dlxm},{rdlxm;}, {dlym},{rdlym;}, {save},{rsave;}, {lzsave},{rlzsave;}, {rec},{rrec;}, {getlist},{rgetlist;}, {djlnri},{rdjlnri;}, {djlnr},{rdjlnr;}, {bbsname},{rbname;}, {setsys},{rsetsys;}, {setbbs},{rsetbbs;}, {tncset},{rtncset;}, {pot},{/*display({リトライポイント});*/rpoint;}, {ref},{rref}, {rts},{rrts}, {next},{rnext;}, {offtime},{rofftime}, {sttime},{rsttime}, {grep},{rgrep;}, {baud},{rbaud;}, {dial},{rdial;}, {mailr},{rmailr;}, {call},{/*display({コネクトル−チン});*/ rcall;}, {inchk},{rinchk;}, {innext},{rinnext;}, {dlend},{rdlend;}, {disc},{/*display({ディスコネル−チン});*/ rdisc;}, {cutpoint},{rcutpoint;}, {dos},{rdos;}, {rem},{rrem;}, {link},{rlink;}, {sd},{rsd}, {st},{rst;}, {getc},{rgetc;}, {putc},{rputc;}, {putcl},{rputcl;}, ); case(@getchar(a,1,1),pathch,{rlabel;}); case(@getchar(a,1,1),{.},{a:=sd|@getchar(a,2);rlabel;}); /* display({a(}|a|{)}|{p(}|p|{)});*/ /* display({コマンド}|@head(@body(a,{.}),{\n}));*/ i:= {eof} <> @head(@head(@head(a,{\n}),{ }),tab); i:= i && ( a <> {} ); /* display(i);*/ /*wait(1);*/ im(i); }); }; %rlabel{ var aa[1024*16]; var val[3]; b:={@}|@wadcut(a); plabel:=plabel|{ }|@nochar(pad)+1-@nochar(a); /*wait(1); display({(}|plabel|{)\n} );*/ aa:=pad; tmp:=a; a:={}; loop({ /* aa:=a; a:=@body(aa,b); aa:=@head(aa,b);*/ a:=@tail(aa,b)|b|a; aa:=@body(aa,,b); c:=@getchar(aa,@nochar(aa),1); val:=c<>{.} && c<>escch; im(!val); }); /*wait(1); display({%jsr(}|b|@head(a,{\n})|{)\n} );*/ }; %rrts{ b:=@wadcut(a); b:=@tail(plabel,{ }); plabel:=@body(plabel,{},{ }); /*display({ret(}|b|{)}|plabel|{\n} );*/ a:=@getchar(pad,b); /*wait(1); display({(}|@head(a,{\n})|{)\n} );*/ }; %rlink{ b:=@wadcut(a); tmp:=@read(sysdir|@wadcut(a)); pad:=pad|tmp; a:=a|tmp; }; %rsd{ b:=@wadcut(a); b:=@wadcut(a); case(@getchar(b,1,1)=pathch, {Yes},{sd:=b;}, {No},{sd:=sd|b;} ); }; %rst{ b:=@wadcut(a); b:=@wadcut(a); c:=@wadcut(a); st(b,@esca(c)); }; %ld{[ptn] var b[1024]; var c[1024*16]; tmp:=a; case(@getchar(ptn,1,1)=pathch, {Yes},{b:={@}|ptn;}, {No},{b:={@}|sd|ptn;} ); case(a <> @head(a,b), {Yes},{c :=@wadcut(@tail(a,b)); }, ); a:=tmp; im(c); }; %st{[ptn,c] var b[1024]; case(@getchar(ptn,1,1)=pathch, {Yes},{b:={@}|ptn;}, {No},{b:={@}|sd|ptn;} ); /*display({%st}|b|{,}|c|{)});*/ case(a <> @head(a,b), {Yes},{a := @body(a,,b) |{\n}|b|{ }|c|{ }|@skip(@tail(a,b)); pad := @body(pad,,b) |{\n}|b|{ }|c|{ }|@skip(@tail(pad,b)); }, {No},{a:= a|{\n}|b|{ }|c|{ }; pad:=pad|{\n}|b|{ }|c|{ }; }, ); /*display({a(}|a|{)});*/ }; %rgetc{ b:=@wadcut(a); b:={@}|@wadcut(a); st(b,@esca(@input({},{u}))); }; %rputc{ b:=@wadcut(a); display(@wadcut(a)); }; %rputcl{ b:=@wadcut(a); footnote(@wadcut(a)); }; %esca{[ptn] var b[1024]; var bb[1024]; var bc[1024]; var bd[1024]; bb:=ptn; loop({ val:=@nochar(@head(bb,escch))<@nochar(bb); case(val,{Yes},{ b:=b|@head(bb,escch)|escch|escch; bb:=@body(bb,escch); }, ); im(val); }); case(b={}, {Yes},{bb:=ptn;}, {No},{bb:=b;}, ); b:={}; bc:=bb; loop({ val:=@nochar(@head(bb,{"}))<@nochar(bb); case(val,{Yes},{ b:=b|@head(bb,{"})|escch|{"}; bb:=@body(bb,{"}); },); im(val); }); case(b={}, {Yes},{bb:=bc;}, {No},{bb:=b;}, ); b:={}; bd:=bb; loop({ val:=@nochar(@head(bb,{@}))<@nochar(bb); case(val,{Yes},{ b:=b|@head(bb,{@})|escch|{@}; bb:=@body(bb,{@}); },); im(val); }); case(b={}, {Yes},{b:=bc;}, ); im({"}|b|{"}); }; %rrem{ b:=@wadcut(a); /*ner;*/ }; %rsetbbs{ b:=@wadcut(a); loop({ b:=@wadcut(a); case(@strupr(b), {TYPE:},{bbstype:=@strupr(@wadcut(a));}, {NAME:},{bbsname:=@strupr(@wadcut(a));}, {CHK:},{c:=@wadcut(a);lstchkketa:=@head(c,{[});lstchkmoji:=@tail(c,{[},{]});}, {NAM:},{c:=@wadcut(a);lstnamketa:=@head(c,{[});lstcutnamketa:=@tail(c,{[},{]});}, {AT:},{c:=@wadcut(a);lstatketa:=@head(c,{[});lstcutatketa:=@tail(c,{[},{]});}, {TO:},{c:=@wadcut(a);lsttoketa:=@head(c,{[});lstcuttoketa:=@tail(c,{[},{]});}, {SUBJ:},{c:=@wadcut(a);lstsubj:=@head(c,{[});lstcutsubj:=@tail(c,{[},{]});}, ); im(b<>{}); /*display({b(}|b|{)}); wait(1);*/ }); display({識別桁}|lstchkketa|{ 識別文字}|lstchkmoji|{ TO桁}|lsttoketa|{ TO桁数}|lstcuttoketa|{ 他省略^"^;}); }; %rsetsys{ b:=@wadcut(a); loop({ b:=@wadcut(a); case(@strupr(b), {SYSDIR:},{sysdir:=@wadcut(a);}, {LOGDIR:},{logdir:=@wadcut(a);}, {TMPDIR:},{tmpdir:=@wadcut(a);}, {LISTDIR:},{listdir:=@wadcut(a);}, ); im(b<>{}); /*display({b(}|b|{)}); wait(1);*/ }); display({システムdir}|sysdir|{ 格納dir}|logdir|{ 退避dir}|tmpdir|{ listdir}|listdir); }; %rcutpoint{ b:=@wadcut(a); /*a := @spdel(@body(a,{cutpoint}));*/ }; %rdos{ b:=@wadcut(a); /*a := @spdel(@body(a,{dos}));*/ b:=@wadcut(a); command(b); }; %rtncset{ b:=@wadcut(a); /*ner;*/ tncset; }; %rpoint{ b:=@wadcut(a); potcount:=@wadcut(a)+0; display(potcount|{回迄}); point:=a; count:=1; }; %rref{ a:=pad; }; %rnext{ b:=@wadcut(a); /*a:=@body(a,{ }); *display({中身}|a);*/ b:=@wadcut(a); /*b:=@rnk;*/ next(b); }; %rofftime{ b := @wadcut(a); /*a := @spdel(@body(a,{offtime}));*/ b := @wadcut(a); /*b:=@rnk;*/ loop({ setdate; case( @nochar(b) <> @nochar( @head(b,hh|{:}) ) , {Yes},{footnote(hh|{時なので時間待ちをします});wait(60);} ); im(@nochar(b) <> @nochar(@head(b,hh|{:}))); }); footnote(meeversion |{ 動作中}); }; %rsttime{ b := @wadcut(a); b := @wadcut(a); loop({ setdate; case( b <> mm , {Yes},{footnote(b|{分まで時間待ちをします});wait(10);} ); im(b <> mm); }); footnote(meeversion |{ 動作中}); }; %rgrep{ b:=@wadcut(a); /*a:=@body(a,{ });*/ b:=@wadcut(a); /*b:=@rnk;*/ c:=@wadcut(a); grep(b,c); }; %rcall{ b:=@wadcut(a); /*a:=@body(a,{ }); *display({中身}|a);*/ b:=@wadcut(a); /*b:=@rnk;*/ Call(b); }; %rdlst{ b:=@wadcut(a); /*ner;*/ b:=@wadcut(a); /*b:=@rnk;*/ c:=@wadcut(a); setdate; receive(logdir|@day|hh|mm|c|{.}|b); dlname := logdir|@day|hh|mm|c|{.}|b; }; %rdlxm{ b:=@wadcut(a); /*ner;*/ b:=@wadcut(a); /*b:=@rnk;*/ c:=@wadcut(a); case (dlname<>{},{Yes}, {stoprec;}); setdate; receivex(logdir|@day|hh|mm|c|{.}|b); stoprec; case (dlname<>{},{Yes}, {receive(dlname);}); }; %rdlym{ b:=@wadcut(a); /*ner;*/ b:=@wadcut(a); /*b:=@rnk;*/ c:=@wadcut(a); case (dlname<>{},{Yes}, {stoprec;}); setdate; receivey(logdir|@day|hh|mm|c|{.}|b); stoprec; case (dlname<>{},{Yes}, {receive(dlname);}); }; %rsave{ b:=@wadcut(a); b:=@wadcut(a); c:=@wadcut(a); setcdir(logdir); display({D/L(}|b|{.}|c|{)}); receive(b|{.}|c); dlname := b|{.}|c; }; %rlzsave{ b:=@wadcut(a); b:=@wadcut(a); c:=@wadcut(a); setcdir(tmpdir); d:=logdir|@getchar(@tail(b,{:})|{log},1,8)|{.lzh}; case(@filechk(d),{Yes}, {wait(1); command(sysdir|{lha e -m }|d|{ }|@getchar(@tail(b,{:}),1,8)|{.}|c); case(@filechk(@getchar(@tail(b,{:}),1,8)|{.}|c),{No},{end;}); } ); display({D/L(}|b|{.}|c|{)}); receive(@tail(b,{:})|{.}|c); dlname := b|{.}|c; lz:={Y}; }; %rrec{ b:=@wadcut(a); b:=@wadcut(a); setcdir(logdir); received(b); dlname := b|{.}|@day; }; %rdlend{ b:=@wadcut(a); /*ner;*/ case (dlname<>{}, {Yes}, { stoprec; case(lz,{Y},{wait(1); command(sysdir|{lha m -m }|logdir| @getchar(@head(@tail(dlname,{:}),{.})|{log},1,8)|{ }| tmpdir|@getchar(@head(@tail(dlname,{:}),{.}),1,8)|{.}| @tail(dlname,{.}) |{ >}|tmpdir|{lha.msg}); case(@filechk(tmpdir|@tail(dlname,{:})), {Yes},{display(dlname|{ファイルが書けません}); end; }); /* del(tmpdir|dlname);*/ lz:={}; } ); dlname:={}; } ); }; %rbname{ b:=@wadcut(a); /*a := @spdel(@body(a,{bbsname}));*/ bbsname := @wadcut(a); }; %rgetlist{/*[n,prt,bbs,poinpath]*/ b:=@wadcut(a); /*a := @spdel(@body(a,{getlist}));*/ b:=@wadcut(a); /*b := @rnk;*/ c:=@wadcut(a); d:=@wadcut(a); e:=@wadcut(a); display({1(}|b|{) 2(}|c|{) 3(}|d|{) 4(}|e|{)} ); type({ll 1\n}); ch(b,c); ch(b,{>}); p:=@getchar(@tail(@body(@body(@laststr(128),,c),,{\n}),{\n}),1,5)+0; type({l }|@glistpoint(d,e)|{ }|p|{\n}); chread(b,c,{/}); ch(b,{>}); plistpoint(d,e,p); listcval:={Yes}; }; %rdjlnri{/*[bbsname,poinpath,toname,atname]*/ b := @wadcut(a); /*a := @spdel(@body(a,{djlnri}));*/ b := @wadcut(a);/*BBSname*/ c := @wadcut(a);/*poinpath*/ d := @wadcut(a);/*toname*/ e := @wadcut(a);/*atname*/ display({%rdjlnri 1(}|b|{) 2(}|c|{) 3(}|d|{) 4(}|e|{)\n} ); dlist := @listget3(b,d,e,@glistpoint(b,c)+1|{ 5626}); del(logdir|b|@tail(@body(c,,{\}),{\},{*})|{.lst}); write(logdir|b|@tail(@body(c,,{\}),{\},{*})|{.lst},dlist); bbsname := b; ppath := c; }; %rdjlnr{/*[n,prt,filename,poinpath]*/ b:=@wadcut(a); /*a:=@spdel(@body(a,{djlnr}));*/ b:=@wadcut(a); /*b:=@rnk; *n*/ c:=@wadcut(a); d:=@wadcut(a); e:=@wadcut(a); /*display({%rdjlnr 1(}|b|{) 2(}|c|{) 3(}|d|{) 4(}|e|{)\n} );*/ var newnam1[5]; bbsname := d; ppath := e; tmp := a; dlist := @read(logdir|d|@tail(@body(e,,{\}),{\},{*})|{.lst}); /*newnam :=@head(dlist,{ }); dlist :=@body(dlist,{ }); type({r }|newnam|{\n}); ch(b,c);*/ /*plistpoint(d,e,newnam);*/ /*plistpoint(bbsname,ppath,newnam);*/ case (dlist<>{},{Yes},{ loop({ newnam1 :=@head(dlist,{ }); dlist :=@body(dlist,{ }); type({r }|newnam1|{\n}); ch(b,c); ch(b,{>}); newnam := newnam1; /* plistpoint(d,e,newnam1);*/ im(dlist<>{}); }); }); case (newnam<>{},{Yes}, {plistpoint(bbsname,ppath,newnam);newnam:={}; del(logdir|d|@tail(@body(e,,{\}),{\},{*})|{.lst}); } ); /*plistpoint(d,e,newnam);*/ a:= tmp; }; %rchk{ b:=@wadcut(a); /*a:=@body(a,{ });*/ b:=@wadcut(a); /*b:=@rnk;*/ c:=@wadcut(a); /*display({%ch 1(}|b|{) 2(}|c|{)} );*/ ch(b,c); }; %rinchk{ b:=@wadcut(a); b:=@wadcut(a); footnote(b|{秒間 入力チェック}); case(@inchk(b), {No},{ footnote(meeversion|{ 動作中}); display({入力無し\n});exit;} ); footnote(meeversion |{ 動作中}); }; %rinnext{ b:=@wadcut(a); b:=@wadcut(a); innext(b); }; %innext{[b] var c[8]; c:= 0; loop({ footnote({応答チェック中 秒読み(}|b-c|{)}); case(@inchk(1), {Yes},{c:=c+1;}, {No},{c:=0;} ); im(b>c); }); display({応答無し\n}); footnote(meeversion |{ 動作中}); }; %rput{ b:=@wadcut(a); /*a:=@body(a,{ }); *display({中身}|a);*/ b:=@wadcut(a); /*b:=@rnk;*/ type(b); display({送信(}|b|{)}); }; %rnr{ b:=@wadcut(a); /*a:=@body(a,{ }); *display({中身}|a);*/ b:=@wadcut(a); /*b:=@rnk;*/ c:=@wadcut(a); d:=@wadcut(a); e:=@wadcut(a); display({1(}|b|{) 2(}|c|{) 3(}|d|{) 4(}|e|{)} ); nread(b,c,d,e); }; %rfileup{ b:=@wadcut(a); /*a:=@body(a,{ }); *display({中身}|a);*/ b:=@wadcut(a); /*b:=@rnk;*/ c:=@wadcut(a); fileup(b|{.}|c); }; %ruptxt{ b:=@wadcut(a); b:=@wadcut(a); c:=@wadcut(a); case (dlname<>{},{Yes}, {stoprec;}); send(b|{.}|c); case (dlname<>{},{Yes}, {receive(dlname);}); }; %rupxm{ b:=@wadcut(a); b:=@wadcut(a); c:=@wadcut(a); case (dlname<>{},{Yes}, {stoprec;}); sendx(b|{.}|c); case (dlname<>{},{Yes}, {receive(dlname);}); }; %rupym{ b:=@wadcut(a); b:=@wadcut(a); c:=@wadcut(a); case (dlname<>{},{Yes}, {stoprec;}); sendy(b|{.}|c); case (dlname<>{},{Yes}, {receive(dlname);}); }; %rdisc{ b:=@wadcut(a); discon; cmdchk; case(linetype, {tnc},{ type({d\n}); wait (60,{stop}, {*** DISCONNECTED},{display({ディスコネ確認});}, {Link state is: DISCONNECTED},{display({ディスコネ});}, );}, ); case (dlname<>{},{Yes}, {stoprec; dlname:={};}); case (newnam <> {} , {Yes} , {plistpoint(bbsname,ppath,newnam);newnam := {};},); newnam := {}; }; %mailr{ loop({ wait(20,{exit}, {0:end >}, { type({\n}); wait(120,{exit;}, {削除しますか? (Y/N)>},{type({y\n});val:={Yes};}, {?,G)>},{val:={No};display({プロントプト確認});} ); }, {>>},{val:={No};display({プロントプト確認});}, {?,G)>},{val:={No};display({プロントプト確認});} ); im (val); }); }; %rmailr{ b:=@wadcut(a); /* ner;*/ mailr; }; %rchread{ b:=@wadcut(a); /*a:=@body(a,{ }); *display({中身}|a);*/ b:=@wadcut(a); /*b:=@rnk;*/ c:=@wadcut(a); d:=@wadcut(a); chread(b,c,d); }; var val[3]; %chread{[n,ptn,ptn2] loop({ wait(n,{exit;}, ptn2,{/*display(ptn2|{次のメッセージへ\n});*/val:={Yes};}, {*** DISCONNECTED [},{display({ディスコネ});{exit;};}, ptn,{val:={No};} ); im(val); }); }; %rdial{ b:=@wadcut(a); /*a:=@body(a,{ }); *display({中身}|a);*/ b:=@wadcut(a); /*b:=@rnk;*/ tel(b); display({コネクト確認}); }; %tel{[b] dialone({atd }|b ,{retrycount:=0;},{ case(retrycount>retry,{Yes},{exit;}); retrycount:=retrycount+1; next(busytime);tel(b); }); }; %rbaud{ b:=@wadcut(a); /*a:=@body(a,{ });*/ b:=@wadcut(a); /*@rnk;*/ display({b(}|b|{)}); baud(b); }; %inchk{[a] p:= @laststr; wait(a); im(p = @laststr); }; %ucase{[a] strupr(a); }; %strupr{[a] var aluha[256]; var ALUHA[256]; var b[256]; var i[3]; var j[256]; var t[1]; aluha := {$abcdefghijklmnopqrstuvwxyz}; ALUHA := {#ABCDEFGHIJKLMNOPQRSTUVWXYZ}; i := 0; case(a={} ,{No},{ loop({ i:= i+1 ; t:= @getchar(a,i,1); j:= @head(aluha,t); case((j={}) <> (j=aluha),{Yes},{b:=b|t;}, {No},{ b:=b|@getchar(ALUHA,@nochar(j)+1,1);} ); im(i < @nochar(a) ); }); }); im(b); }; %ccomp{[ptn,ptn2] p := @head(ptn2,{*}); im(@getchar(ptn,1,@nochar(p)) = p); }; %instr{[ptn,ptn2] var p[256]; p:=@nochar(ptn); case(p>=@nochar(ptn2), {Yes},{ case(@nochar(@body(ptn,ptn2))=0, {Yes},{ case(@getchar(ptn,p+1-@nochar(ptn2))<>ptn2, {Yes},{p:=0;}, ); }, {No},{ p:=@nochar(@head(ptn,ptn2))+1; } ); }, {No},{p:=0} ); im(p); }; %chkch{ case(to={}, {No},{chkmoji:=to; chkketa:=lsttoketa;}, {Yes},{chkmoji:=lstchkmoji; chkketa:=lstchkket; case(at={}, {No},{chkmoji:=at; chkketa:=lstatketa;}, );} ); }; %listv{[file,ptn,ptn2,line] var a[1024*10]; var b[5]; var log[1024*10]; var linel[5]; var lineh[5]; var to[256]; var at[256]; /*display({%listv 1(}|file|{) 2(}|ptn|{) 3(}|ptn2|{) 4(}|line|{)\n} );*/ linel := @head(line,{ })+0; lineh := @body(line,{ })+0; to:=@strupr(ptn); at:=@strupr(ptn2); case(@body(to,,{*})={},{Yes},{to:=to|{ };}); case(@body(at,,{*})={},{Yes},{at:=at|{ };}); to:=@head(to,{*}); at:=@head(at,{*}); display({%listv (}|file|{) to(}|to|{) at(}|at|{) line(}|linel|{,}|lineh|{)\n} ); chkch; fopen(file); loop({ a := @fread(chkketa,chkmoji); footnote({0(}|a|{)}); case(@getchar(a,lstchkketa,@nochar(lstchkmoji)) =lstchkmoji , {Yes},{footnote({1(}|a|{)}); case(@instr(a,discmoji)=0, {Yes},{footnote({2(}|a|{)}); case(@getchar(a,lstnamketa,lstcutnamketa) >= linel , {Yes},{ case(@getchar(a,lstnamketa,lstcutnamketa) <= lineh , {Yes},{ case(@ccomp(@getchar(a,lsttoketa,@nochar(to)),to), {Yes},{ case(@ccomp(@getchar(a,lstatketa,@nochar(at)),at), {Yes},{ case(@getchar(a,lstnamketa,lstcutnamketa) <> b,{Yes},{ log :=log | a ; b:= @getchar(a,lstnamketa,lstcutnamketa); display(a); }); }); }); }); }); }); }); /* wait(1);*/ im(a <> {}); }); fclose; im(log); }; %getdir{[ptn] wait(1); command({dir }|ptn|{ }|/*{|}|logdir|{sort }*/{>}|logdir|{dir___.dir}); im(@read(logdir|{dir___.dir})); }; %fgrep{[infile,ptn,outfile] var in[1024*5]; var out[1024*5]; in := @read(infile); loop({ out := out| @tail(@head(in,ptn),{\n}) |ptn|@head(@body(in,ptn),{\n})|{\n}; in := @body(in,ptn); im(in<>{}); }); case(@filechk(outfile),{Yes},{wait(1);command({del }|outfile);}); write(outfile,out); im(out); }; %listgrep{[file,ptn,ptn2,line] var a[1024*5]; var b[5]; var log[1024*5]; var to[256]; var at[256]; to:=@strupr(ptn); at:=@strupr(ptn2); case(@body(to,,{*})={},{Yes},{to:=to|{ };}); case(@body(at,,{*})={},{Yes},{at:=at|{ };}); to:=@head(to,{*}); at:=@head(at,{*}); chkch; fopen(file); loop({ a := @fread(chkketa,chkmoji); case(@getchar(a,lstnamketa,lstcutnamketa) >= line , {Yes},{ footnote(a); case(@ccomp(@getchar(a,lsttoketa,@nochar(to)),to), {Yes},{ case(@ccomp(@getchar(a,lstatketa,@nochar(at)),at), {Yes},{ case(@getchar(a,lstnamketa,lstcutnamketa) <> b,{Yes},{ log:=log|@getchar(a,lstnamketa,lstcutnamketa)+0 |{ } ; b:= @getchar(a,lstnamketa,lstcutnamketa); display(a); }); }); }); }); /*wait(1);*/ im(a <> {}); }); fclose; im(log); }; %glistpoint{[bbs,lpath] var lp [1024]; /*display({%glistpoint 1(}|bbs|{) 2(}|lpath|{)\n} );*/ /*display(logdir|{listpoint.}|bbs|{\n});*/ lp := @read(logdir|{listpoint.}|bbs); /*display({path(}|@ucase(lpath)|{) nam(}|@head(@body(lp,@ucase(lpath)),{\n})|{)\n} );*/ im(@head(@body(lp,@strupr(lpath)),{\n})); }; %plistpoint{[bbs,lpath,pot] var lp [1024*5]; var la [1024*5]; lp := @read(logdir|{listpoint.}|bbs); display({(}|lpath|{)}|pot|{ポインタ更新\n}); case(lp <> @head(lp,@strupr(lpath)), {Yes},{la := @head(lp,@strupr(lpath)) |@strupr(lpath)|pot|{\n}| @body(@body(lp,@strupr(lpath)),{\n}); }, {No},{la:= lp|@strupr(lpath)|pot|{\n}; } ); wait(1); command({copy }|logdir|{listpoint.}|bbs|{ }|logdir|{listpoint.}|{1st}); wait(1); command({del }|logdir|{listpoint.}|bbs); write (logdir|{listpoint.}|bbs,la); }; %getlist3{[bbs,line] var dirbak[1024*10]; var flist[1024*5]; var afile[16]; var out[1024*10]; var to[7]; var at[7]; case(@filechk(logdir|bbs|{dir.bak}), {Yes},{ dirbak:=@read(logdir|bbs|{dir.bak}); } ); getdir(logdir|{.}|bbs); wait(1); command(sysdir|{sort <}|logdir|{dir___.dir >}|tmpdir|{dir___.srt}); /*display(@read(tmpdir|{dir___.srt}));*/ flist:=@crdel(@fgrep(tmpdir|{dir___.srt},{# },logdir|{#dir.dir})); display(flist); loop({ case(@instr( dirbak,@tail(@head(flist,{\n}) ,{\n}) ) = 0, {Yes},{ afile:=logdir|@tail(@head(flist,{ }),{\n})|{.}|bbs; display(afile); case(@filechk(afile), {Yes},{listcut(afile,line);} ); wait(1); } ); flist:=@body(flist,{\n}); im(flist <> {}); }); del(logdir|bbs|{dir.bak}); wait(1); command({rename }|logdir|{#dir.dir }|bbs|{dir.bak}); case(@filechk(logdir|bbs|{sort.bak}), {Yes},{dirbak:=@read(logdir|bbs|{sort.bak});}, {No},{display(logdir|bbs|{sort.bakが見つかりません});} ); flist:=@getdir(listdir|bbs|{list#.*}); loop({ /*display(listdir|@tail(@head(flist,{ }),{\n})|{.}|@getchar(@body(flist,{ }),1,3)|{\n});*/ case(@instr(dirbak,@tail(@head(flist,{\n}),{\n})) = 0, {Yes},{ afile:=@tail(@head(flist,{ }),{\n})|{.}|@getchar(@body(flist,{ }),1,3); case(@filechk(listdir|afile), {Yes},{ wait(1); command(sysdir|{sort <}|listdir|afile|{ >}|tmpdir|{sort.tmp}); del(listdir|afile); write(listdir|afile,@listv(tmpdir|{sort.tmp},{*},{*},{1 99999})); /*fcopy(logdir|{sort.tmp},afile);*/ } );} ); flist:=@body(flist,{\n}); im(flist <> {}); }); getdir(listdir|bbs|{list#.*}); del(logdir|bbs|{sort.bak}); wait(1); command({rename }|logdir|{dir___.dir }|bbs|{sort.bak}); listcval := {No} }; %listcut{[file,line] var a[1024*10]; var b[5]; var log[1024*10]; var linel[5]; var lineh[5]; var to[6]; var at[6]; var savename[256]; var savenam[256]; var xsavename[256]; linel := @head(line,{ })+0; lineh := @body(line,{ })+0; log:={}; display({%listcut 1(}|file|{) 2(}|line|{)\n} ); fopen(file); loop({ a := @fread(lstchkketa,lstchkmoji); /*footnote({0(}|a|{)});*/ case(@getchar(a,lstchkketa,@nochar(lstchkmoji)) =lstchkmoji , {Yes},{footnote({1(}|a|{)}); case(@instr(a,discmoji)=0, {Yes},{footnote({2(}|a|{)}); case(@getchar(a,lstnamketa,lstcutnamketa) >= linel , {Yes},{ case(@getchar(a,lstnamketa,lstcutnamketa) <= lineh , {Yes},{ case(@getchar(a,lstnamketa,lstcutnamketa) <> b,{Yes},{ case(log={},{Yes},{xsavenam:=savenam;}); savenam:=@spdel(@getchar(a,lstnamketa,3)); savename:=listdir|@body(file,{.})|{list#.}|@getchar({000},1,3-@nochar(xsavenam))|xsavenam; display(/*savenam|xsavenam|*/(xsavenam=savenam)); case((xsavenam=savenam), {Yes},{ log :=log | a; }, {No},{ display(@getchar({000},1,3-@nochar(xsavenam))|xsavenam|{\n}); /*display(log|{\n});*/ write(savename,log); log:=a; }, ); xsavenam:=savenam; }); }); }); }); }); im(a <> {}); }); fclose; display(@getchar({000},1,3-@nochar(savenam))|savenam|{\n}); /*display(log|{\n});*/ case(log<>{},{Yes},{ write(savename,log); log:={}; } ); lstchkmoji:=djllchmoji; lstchkketa:=djllchketa; /*wait(1);*/ im(log); }; %listget3{[bbs,to,at,line] var flist[1024*5]; var afile[16]; var out[1024*10]; var linel[5]; var lineh[5]; case(listcval={No} ,{No},{getlist3(bbs,{1 99999});}); display({%listget3 bbs(}|bbs|{) to(}|to|{) at(}|at|{) line(}|line|{)\n}); linel := @head(line,{ })+0; lineh := @body(line,{ })+0; getdir(listdir|bbs|{list#.*}); wait(1); command(sysdir|{sort <}|logdir|{dir___.dir >}|tmpdir|{dir___.srt}); flist:=@read(tmpdir|{dir___.srt}); loop({ /*display(@getchar(@body(flist,{ }),1,3)|{>=}|@getchar({000}|linel,@nochar(linel)-1,3)|{ });*/ case(@getchar(@body(flist,{ }),1,3)>=@getchar({000}|linel,@nochar(linel)-1,3), {Yes},{ afile:=@tail(@head(flist,{ }),{\n})|{.}|@getchar(@body(flist,{ }),1,3); case(@filechk(listdir|afile), {Yes},{ out := out|@listgrep(listdir|afile,to,at,linel);}); }); flist:=@body(flist,{\n}); im(flist <> {}); }); /*wait(1);*/ im(out); }; %memosave{ var i[256]; i:=0; case(@mcheck=0,{No},{mclose(1);}); loop({ i:=i+1; mwrite(tmpdir|{memo}|hh|mm|{.me}|i,i); im(@mlast>i); }); }; /* main */ /*setcdir(logdir);*/ /*memosave;*/ footnote({手続きファイルを選んでください}); pad := @read(@filesel({SMN})); footnote(meeversion|{ 動作中}); init; shellmina; stop;