home *** CD-ROM | disk | FTP | other *** search
- Uses
- Crt,
- Dos;
-
-
- CONST strlen=160;
- maxusers=500;
- dsaves : Integer = 0;
-
- TYPE restrictions=(rlogon,rchat,rvalidate,rbackspace,ramsg,rpostan,
- rpost,remail,rvoting,rmsg);
- astr=string[160];
- acrq='@'..'G';
- newtyp=(rp,lt,rm);
- deflts=(spcsr,onekey,wordwrap,pause,mmnu,ansi,color,music);
- pnr=record name:string[40]; number:string[14]; hs:byte; end;
- anontyp=(no,yes,forced,dearabby);
- ansttype=(postn,emailn,pana,sanm,cosysop,lcosysop);
- opts=(alert,smw,nomail);
- dlnscan=set of 0..39;
- emary=array[1..20] of integer;
- clrs=array[false..true,1..8] of byte;
- clrs2=array[false..true,0..9] of byte;
- slr=record
- ttime:byte;
- mallowed:integer;
- emails,posts:byte;
- anst:set of ansttype;
- end;
- messages=record
- ltr:char;
- number:integer;
- ext:byte;
- end;
- smalrec=record
- name:string[25];
- number:integer;
- end;
- userrec=record
- name:string[21];
- realname:string[18];
- deleted:boolean;
- pw:string[8];
- ph:string[12];
- waiting:byte;
- laston:string[10];
- loggedon:integer;
- msgpost:integer;
- emailsent:integer;
- feedback:integer;
- linelen:byte;
- pagelen:byte;
- defaults:set of deflts;
- ontoday:byte;
- illegal:byte;
- ttimeon:real;
- dlnscn:dlnscan;
- sl:byte;
- ac:set of restrictions;
- ar:set of acrq;
- qscan:array[1..19] of messages;
- qscn:array[1..19] of boolean;
- macro:array[1..2] of string[79];
- comptype:byte;
- option:set of opts;
- vote:array[1..9] of byte;
- sbn:byte;
- dsl:byte;
- uploads,downloads:integer;
- uk,dk:integer;
- age:byte;
- sex:char;
- note:string[39];
- forusr:integer;
- cols:clrs; (* Res[2] will be last file area *)
- res:array[1..70] of byte; (* Res[1] will be last msg base *)
- filepoints:integer;
- citystate:string[26];
- street:string[21];
- zipcode:string[10];
- occupation:string[40];
- wherebbs:string[40];
- lockedout:boolean;
- lockedfile:string[8];
- computer:string[14];
- cols2:clrs2;
- end;
- userrec2=record
- name:string[21];
- realname:string[21];
- deleted:boolean;
- pw:string[20];
- ph:string[12];
- waiting:byte;
- laston:string[10];
- loggedon:integer;
- msgpost:integer;
- emailsent:integer;
- feedback:integer;
- linelen:byte;
- pagelen:byte;
- defaults:set of deflts;
- ontoday:byte;
- illegal:byte;
- ttimeon:real;
- dlnscn:dlnscan;
- sl:byte;
- ac:set of restrictions;
- ar:set of acrq;
- qscan:array[1..39] of messages;
- qscn:array[1..39] of boolean;
- macro:array[1..2] of string[79];
- comptype:byte;
- option:set of opts;
- vote:array[1..20] of byte;
- sbn:byte;
- dsl:byte;
- uploads,downloads:integer;
- uk,dk:integer;
- age:byte;
- sex:char;
- note:string[39];
- forusr:integer;
- res:array[1..70] of byte; (* Res[1] will be last msg base *)
- filepoints:integer;
- citystate:string[26];
- street:string[21];
- zipcode:string[10];
- occupation:string[40];
- wherebbs:string[40];
- lockedout:boolean;
- lockedfile:string[8];
- computer:string[14];
- cols:clrs2;
- end;
- boardrec=record
- name:string[30];
- filename:string[12];
- sl:byte;
- maxmsgs:byte;
- pw:string[10];
- anonymous:anontyp;
- ar:acrq;
- key:char;
- postsl:byte;
- end;
- msgstat=(validated,unvalidated,deleted);
- messagerec=record
- title:string[30];
- messagestat:msgstat;
- message:messages;
- owner:integer;
- date:integer;
- mage:byte;
- end;
- systatrec=record
- boardpw:string[8];
- sysoppw:string[8];
- hmsg:messages;
- users:integer;
- lastdate:string[8];
- callernum:integer;
- activetoday:integer;
- callstoday:integer;
- msgposttoday:integer;
- emailtoday:integer;
- fbacktoday:integer;
- uptoday:integer;
- closedsystem:boolean;
- comport:byte;
- maxbaud:integer;
- msgpath:string[79];
- gfiledate:string[8];
- lowtime,hitime:integer;
- res:array[1..185] of byte;
- sysopcolor:byte;
- usercolor:byte;
- maxlines:byte;
- special:boolean;
- clearmsg:boolean;
- bbspw:string[8];
- matrix:boolean;
- engage:string[55];
- endchat:string[55];
- alias:boolean;
- echoc:astr;
- sysopin:astr;
- sysopout:astr;
- note:array[1..2] of string[79];
- lprompt:astr;
- lansi:boolean;
- init:astr;
- wait:astr;
- app:boolean;
- fone:boolean;
- sysopmacro:array[1..9] of string[72];
- forcevoting:boolean;
- multitask:boolean;
- gfilepath:string[79];
- pause:string[20];
- hangup:string[40];
- answer:string[40];
- result300:integer;
- result1200:integer;
- result2400:integer;
- nocarrier:integer;
- filesl:byte;
- tries:byte;
- newsl:byte;
- newdsl:byte;
- newar:set of acrq;
- newac:set of restrictions;
- newfp:integer;
- newuk:integer;
- bwindow:boolean;
- bsdelay:byte;
- mcimsg:boolean;
- b300lowtime,b300hitime:integer;
- dllowtime,dlhitime:integer;
- b300dllowtime,b300dlhitime:integer;
- lock300:boolean;
- result4800:integer;
- result9600:integer;
- SysopFirst:String[12];
- SysopLast:String[16];
- BBSName:String[40];
- BBSPhone:String[12];
- ANSIq:String[40];
- WantQuote:Boolean;
- Menupath:string[79];
- autosl:byte;
- autodsl:byte;
- autoar:set of acrq;
- autoac:set of restrictions;
- end;
- systatrec2=record
- boardpw:string[20];
- sysoppw:string[20];
- hmsg:messages;
- users:integer;
- lastdate:string[8];
- callernum:integer;
- activetoday:integer;
- callstoday:integer;
- msgposttoday:integer;
- emailtoday:integer;
- fbacktoday:integer;
- uptoday:integer;
- closedsystem:boolean;
- comport:byte;
- maxbaud:integer;
- msgpath:string[79];
- gfiledate:string[8];
- lowtime,hitime:integer;
- res:array[1..185] of byte;
- sysopcolor:byte;
- usercolor:byte;
- maxlines:byte;
- special:boolean;
- clearmsg:boolean;
- bbspw:string[20];
- matrix:boolean;
- engage:string[79];
- endchat:string[79];
- alias:boolean;
- echoc:char;
- sysopin:string[79];
- sysopout:string[79];
- note:array[1..2] of string[79];
- lprompt:string[40];
- lansi:boolean;
- init:string[40];
- wait:string[79];
- app:boolean;
- fone:boolean;
- sysopmacro:array[1..9] of string[72];
- forcevoting:boolean;
- multitask:boolean;
- gfilepath:string[79];
- pause:string[79];
- hangup:string[40];
- answer:string[40];
- result300:integer;
- result1200:integer;
- result2400:integer;
- nocarrier:integer;
- tries:byte;
- newsl:byte;
- newdsl:byte;
- newar:set of acrq;
- newac:set of restrictions;
- newfp:integer;
- newuk:integer;
- bwindow:boolean;
- bsdelay:byte;
- mcimsg:boolean;
- b300lowtime,b300hitime:integer;
- dllowtime,dlhitime:integer;
- b300dllowtime,b300dlhitime:integer;
- lock300:boolean;
- result4800:integer;
- result9600:integer;
- SysopFirst:String[12];
- SysopLast:String[16];
- BBSName:String[40];
- BBSPhone:String[12];
- ANSIq:String[40];
- WantQuote:Boolean;
- Menupath:string[79];
- autosl:byte;
- autodsl:byte;
- autoar:set of acrq;
- autoac:set of restrictions;
- end;
- blk=array[1..255] of byte;
- mailrec=record
- title:string[30];
- from,destin:integer;
- msg:messages;
- date:integer;
- mage:byte;
- end;
- gft=record
- num:integer;
- title:string[40];
- filen:string[12];
- end;
- smr=record
- msg:astr;
- destin:integer;
- end;
- vdatar=record
- question:string[79];
- numa:integer;
- answ:array[0..9] of record
- ans:string[25];
- numres:integer;
- end;
- end;
- vdatar2=record
- question:string[79];
- numa:integer;
- answ:array[0..9] of record
- ans:string[25];
- numres:integer;
- end;
- end;
- ulrec=record
- name:string[25];
- filename:string[12];
- password:string[10];
- dsl:byte;
- maxfiles:integer;
- key:char;
- ulpath:string[39];
- dlpath:string[40];
- agereq:byte;
- ar:acrq;
- end;
- ulfrec=record
- filename:string[12];
- description:string[60];
- filepoints:integer;
- res:array[1..15] of byte;
- nacc:integer;
- ft:byte;
- blocks:integer;
- owner:integer;
- date:string[8];
- daten:integer;
- end;
- strptr=^strrec;
- strrec=record
- i:astr;
- next,last:strptr;
- end;
- zlogt=record
- date:string[8];
- active,calls,post,email,fback,up:integer;
- end;
- { expro=record
- descr:string[30];
- rcmd:string[50];
- scmd:string[50];
- xferok:integer;
- end;}
-
-
- CONST dcols:clrs=((7,7,15,15,15,112,7,143),(3,1,11,9,14,31,4,140));
- dcols2:clrs2=((15,7,7,15,15,15,112,7,143,7),(15,3,1,11,9,14,31,4,140,10));
-
- var
- ulf:file of ulrec;
- uboards:array[0..19] of ulrec;
- vdata:file of vdatar;
- vdata2:file of vdatar;
- vd:vdatar;
- Vd2:Vdatar;
- uu:ulrec;
- maxulb:integer;
- u:userrec;
- u1:userrec2;
- uf:file of userrec;
- uf1:file of userrec2;
- nn:integer;
- s:systatrec;
- s1:systatrec2;
- systat:systatrec;
- systatf:file of systatrec;
- systatf1:file of systatrec2;
- sys:systatrec;
-
- var i:integer; c:string[255]; path:astr; dum:astr;
- begin
- nn:=0;
- clrscr;
- writeln('Version 1.6a--');
- writeln(' This is Telegard conversion program. If you have already ran it');
- writeln('don''t run it again, or it will crash your BBS forever.');
- writeln;
- writeln('If you need to, press cntrl-c before its too late <to abort>...');
- delay(2000);
- clrscr;
- textcolor(10);
- Writeln(' -> Telegard BBS System Version 1.6a <-');
- Writeln('Conversion Kit from Versions 1.5b, c, d, or e.');
- writeln;
- writeln; textcolor(12);
- assign(systatf,'status.dat');
- reset(systatf); read(systatf,systat);close(systatf);
- path:=systat.gfilepath;
- write('- Converting VOTING.DAT');
- assign(vdata,path+'voting.dat');
- reset(vdata); seek(vdata,filesize(vdata));
- vd.question:='<< NO QUESTION >>'; vd.numa:=0;
- for i:=10 to 20 do write(vdata,vd);
- close(vdata);
- assign(uf,path+'user.lst');
- assign(uf1,path+'user.cnv');
- reset(uf);
- rewrite(uf1);
- writeln('- Converting user record # '); textcolor(11);
- while not eof(uf) do begin
- nn:=nn+1; gotoxy(28,6); write(nn);
- read(uf,u);
- u1.name:=u.name;
- u1.realname:=u.realname;
- if u.deleted=true then u1.deleted:=true else u1.deleted:=false;
- {u.deleted;}
- u1.pw:=u.pw;
- u1.ph:=u.ph;
- u1.waiting:=u.waiting;
- u1.laston:=u.laston;
- u1.loggedon:=u.loggedon;
- u1.msgpost:=u.msgpost;
- u1.emailsent:=u.emailsent;
- u1.feedback:=u.feedback;
- u1.linelen:=u.linelen;
- u1.pagelen:=u.pagelen;
- u1.defaults:=u.defaults;
- u1.ontoday:=u.ontoday;
- u1.illegal:=u.illegal;
- u1.ttimeon:=u.ttimeon;
- u1.dlnscn:=u.dlnscn;
- u1.sl:=u.sl;
- u1.ac:=u.ac;
- u1.ar:=u.ar;
- for i:=1 to 19 do u1.qscan[i]:=u.qscan[i];
- for i:=20 to 39 do begin
- u1.qscan[i].ltr:='A'; u1.qscan[i].number:=-32767;
- end;
- for i:=1 to 19 do if u.qscn[i]=true then u1.qscn[i]:=true else u1.qscn[i]:=false;
- for i:=20 to 39 do u1.qscn[i]:=true;
- u1.macro[1]:=u.macro[1];
- u1.macro[2]:=u.macro[2];
- u1.comptype:=u.comptype;
- u1.option:=u.option;
- for i:=1 to 9 do u1.vote[i]:=u.vote[i];
- for i:=10 to 20 do u1.vote[i]:=0;
- u1.sbn:=u.sbn;
- u1.dsl:=u.dsl;
- u1.uploads:=u.uploads;
- u1.downloads:=u.downloads;
- u1.uk:=u.uk; u1.dk:=u.dk;
- u1.age:=u.age;
- u1.sex:=u.sex;
- u1.note:=u.note;
- u1.forusr:=u.forusr;
- for i:=1 to 70 do u1.res[i]:=u.res[i];
- u1.filepoints:=u.filepoints;
- u1.citystate:=u.citystate;
- u1.street:=u.street;
- u1.zipcode:=u.zipcode;
- u1.occupation:=u.occupation;
- u1.wherebbs:=u.wherebbs;
- if u.lockedout=true then u1.lockedout:=true else u1.lockedout:=false;
- u1.lockedfile:=u.lockedfile;
- u1.computer:=u.computer;
- u1.cols:=u.cols2;
- write(uf1,u1);
- end;
- close(uf1);
- close(uf);
- erase(uf);
- rename(uf1,path+'user.lst');
- writeln;
- textcolor(12);
- writeln('- Converting STATUS.DAT');
- assign(systatf,'status.dat');
- assign(systatf1,'status1.dat');
- reset(systatf);
- read(systatf,s);
- close(systatf);
- s1.boardpw:=s.boardpw;
- s1.sysoppw:=s.sysoppw;
- s1.hmsg:=s.hmsg;
- s1.users:=s.users;
- s1.lastdate:=s.lastdate;
- s1.callernum:=s.callernum;
- s1.activetoday:=s.activetoday;
- s1.callstoday:=s.callstoday;
- s1.msgposttoday:=s.msgposttoday;
- s1.fbacktoday:=s.fbacktoday;
- s1.uptoday:=s.uptoday;
- s1.closedsystem:=s.closedsystem;
- s1.comport:=s.comport;
- s1.maxbaud:=s.maxbaud;
- s1.msgpath:=s.msgpath;
- s1.gfiledate:=s.gfiledate;
- s1.hitime:=s.hitime;
- s1.lowtime:=s.lowtime;
- for i:=1 to 185 do s1.res[i]:=s.res[i];
- s1.sysopcolor:=s.sysopcolor;
- s1.usercolor:=s.usercolor;
- s1.maxlines:=s.maxlines;
- if s.special then s1.special:=true else s1.special:=false;
- if s.clearmsg then s1.clearmsg:=true else s1.clearmsg:=false;
- s1.bbspw:=s.bbspw;
- s1.matrix:=s.matrix;
- s1.b300dllowtime:=s.b300dllowtime;
- s1.b300dlhitime:=s.b300dlhitime;
- s1.engage:=s.engage;
- s1.endchat:=s.endchat;
- s1.alias:=s.alias;
- s1.echoc:=s.echoc[1];
- s1.sysopin:=s.sysopin;
- s1.sysopout:=s.sysopout;
- s1.note[1]:=s.note[1];
- s1.note[2]:=s.note[2];
- s1.lprompt:=s.lprompt;
- s1.lansi:=s.lansi;
- s1.init:=s.init;
- s1.wait:=s.wait;
- s1.app:=s.app;
- s1.fone:=s.fone;
- for i:=1 to 9 do s1.sysopmacro[i]:=s.sysopmacro[i];
- s1.forcevoting:=s.forcevoting;
- s1.multitask:=s.multitask;
- s1.gfilepath:=s.gfilepath;
- s1.pause:=s.pause;
- s1.hangup:=s.hangup;
- s1.answer:=s.answer;
- s1.result300:=s.result300;
- s1.result1200:=s.result1200;
- s1.result2400:=s.result2400;
- s1.nocarrier:=s.nocarrier;
- s1.tries:=s.tries;
- s1.newsl:=s.newsl;
- s1.newdsl:=s.newdsl;
- s1.newar:=s.newar;
- s1.newac:=s.newac;
- s1.newfp:=s.newfp;
- s1.newuk:=s.newuk;
- s1.bwindow:=s.bwindow;
- s1.bsdelay:=s.bsdelay;
- s1.mcimsg:=s.mcimsg;
- s1.b300lowtime:=s.b300lowtime;
- s1.b300hitime:=s.b300hitime;
- s1.dllowtime:=s.dllowtime;
- s1.dlhitime:=s.dlhitime;
- s1.emailtoday:=s.emailtoday;
- s1.lock300:=s.lock300;
- s1.result4800:=s.result4800;
- s1.result9600:=s.result9600;
- s1.sysopfirst:=s.sysopfirst;
- s1.sysoplast:=s.sysoplast;
- s1.bbsname:=s.bbsname;
- s1.bbsphone:=s.bbsphone;
- s1.ansiq:=s.ansiq;
- if s.wantquote then s1.wantquote:=true else s1.wantquote:=false;
- s1.menupath:=s.menupath;
- s1.autosl:=s.autosl;
- s1.autodsl:=s.autodsl;
- s1.autoar:=s.autoar;
- s1.autoac:=s.autoac;
- rewrite(systatf1);
- write(systatf1,s1);
- close(systatf1);
- erase(systatf);
- rename(systatf1,'status.dat');
- textcolor(9);
- writeln('■ Conversion Complete!');
- end.
-
-
-