Home » Archimedes archive » Acorn Computing » 1993 07 Mega Disk.adf » 93_07 » DataVision/!DataVis/!dv12

DataVision/!DataVis/!dv12

This website contains an archive of files for the Acorn Electron, BBC Micro, Acorn Archimedes, Commodore 16 and Commodore 64 computers, which Dominic Ford has rescued from his private collection of floppy disks and cassettes.

Some of these files were originally commercial releases in the 1980s and 1990s, but they are now widely available online. I assume that copyright over them is no longer being asserted. If you own the copyright and would like files to be removed, please contact me.

Tape/disk: Home » Archimedes archive » Acorn Computing » 1993 07 Mega Disk.adf » 93_07
Filename: DataVision/!DataVis/!dv12
Read OK:
File size: 3277 bytes
Load address: 0000
Exec address: 0000
File contents
   10REM > $.!DataVis.!dv12
   15SYS "Wimp_CommandWindow",-1
   20MODE 15:COLOUR 180:CLS
   30ONERRORGOTO2350
   40MOUSE ON:OFF:FG%=180
   50DIMME$(10,3):DIMMEN$(10)
   60OSCLI"CLOSE":ST$="3":X=OPENUP FNMyFile("NIM"):INPUT#X,FI$,ST$,DA$,DR$,ZZ$,MD$:OSCLI"CLOSE":FO$=FI$+"A":ST$="1":GOTO690
   70DEFPROCMAIN:go%=0
   80IFST$="1"THEN TA$=FI$+"N":X=OPENUPFNMyFile(TA$):INPUT#X,DI$:PROCDir(DI$):GOTO150
   90IFDR$=MD$THENGOTO100:ELSEGOTO120
  100PROCERWIN:COLOUR180:PRINTTAB(20,12);"Please insert the disc:";TAB(20,14);":";DR$;".";FI$:COLOURFG%:PROCMKLIK:GOTO120
  110PROCERWIN:COLOUR180:PRINTTAB(20,12);"Cannot read the file :";FI$;TAB(20,14);"(file empty)":COLOURFG%:VDU7:PROCMKLIK:GOTO2310
  120IFST$="2"THEN TA$=FI$+"N":X=OPENUPFNMyFile(TA$):INPUT#X,DI$:PROCDir(DI$):GOTO150
  130DEFPROCMKLIK:REPEAT:MOUSE U,U,BUT:UNTILBUT=0:REPEAT:MOUSE U,U,BUT:UNTILBUT=4:ENDPROC
  140DEFPROCERWIN:X=19:Y=11:W%=40:L%=3:COLOUR180:PROCLWN:COLOURFG%:ENDPROC
  150CLOSE#0:X=OPENUP FNMyFile(FO$):PTR#X=0:INPUT#X,ZZ$:NOF%=VAL(ZZ$):PTR#X=5:INPUT#X,ZZ$:NOR%=VAL(ZZ$):PTR#X=15:INPUT#X,ZZ$:REC%=VAL(ZZ$):PTR#X=45:INPUT#X,SO$:PTR#X=56:INPUT#X,MCA$:MCA%=VAL(MCA$)
  160PTR#X=28:INPUT#X,MAR$:VA%=0:IFMAR$="1"THENTA$=FI$+"E":N=OPENUPFNMyFile(TA$):INPUT#N,SPM$:VA%=VAL(MID$(SPM$,1,2)):CLOSE#N
  170PTR#X=48:INPUT#X,RE$:RE%=0:IFRE$="1"THENTA$=FI$+"C":N=OPENUPFNMyFile(TA$):INPUT#N,M$:RE%=VAL(M$):CLOSE#N
  180PTR#X=35:INPUT#X,CDA$
  190go%=1:ENDPROC
  200DEFPROCFOPOUT
  210POI=(L-1)*61+63
  220PTR#B=POI:INPUT#B,FL$:PTR#B=POI+22:INPUT#B,ZZ$:X1=VAL(ZZ$):PTR#B=POI+26:INPUT#B,ZZ$:Y1=VAL(ZZ$):PTR#B=POI+30:INPUT#B,ZZ$:X2=VAL(ZZ$):PTR#B=POI+34:INPUT#B,ZZ$:Y2=VAL(ZZ$):PTR#B=POI+41:INPUT#B,IN$:IN%=VAL(IN$):PTR#B=POI+38:INPUT#B,TY$
  230ENDPROC
  240PTR#X=POI+22:INPUT#X,ZZ$:X1=VAL(ZZ$)
  250PTR#X=POI+26:INPUT#X,ZZ$:Y1=VAL(ZZ$)
  260PTR#X=POI+30:INPUT#X,ZZ$:X2=VAL(ZZ$)
  270PTR#X=POI+34:INPUT#X,ZZ$:Y2=VAL(ZZ$)
  280PTR#X=POI+38:INPUT#X,TY$
  290PTR#X=POI+41:INPUT#X,ZZ$:IN%=VAL(ZZ$)
  300PTR#X=POI+46:INPUT#X,ZZ$:TI%=VAL(ZZ$)
  310PTR#X=POI+54:INPUT#X,TR$
  320PTR#X=POI+58:INPUT#X,NP$
  330ENDPROC
  340DEFPROCLWN
  350PRINTTAB(X,Y);CHR$(154);STRING$(W%,CHR$(159));CHR$(158):FORI=Y+1TOY+L%:PRINTTAB(X,I);CHR$(155);STRING$(W%," ");CHR$(157):NEXTI:PRINTTAB(X,Y+(L%+1));CHR$(156);STRING$(W%,CHR$(160));CHR$(161)
  360ENDPROC
  370DEFPROCTIME
  380S%=(TIME DIV100)MOD60:M%=(TIME DIV6000)MOD60:H%=(TIME DIV360000)MOD24:PRINTTAB(73,0);":";TAB(76,0);":":IFS%<10THENPRINTTAB(77,0);"0"
  390IFM%<10THENPRINTTAB(74,0);"0"
  400IFH%<10THENPRINTTAB(71,0);"0"
  410PRINTTAB(73-LEN(STR$(H%)),0);H%;TAB(76-LEN(STR$(M%)),0);M%;TAB(79-LEN(STR$(S%)),0);S%
  420ENDPROC
  430DEFPROCTEXT:*FX12,0
  440T$="":L=0
  450IFL<L%THENPRINTTAB(X,Y);CHR$(255)
  460IN=GET
  470IFIN=13THENNP%=0:GOTO560
  480IFIN=127THENGOTO530
  490IFIN=9THENNP%=1:GOTO560
  500IFL=L%THENGOTO460
  510PRINTTAB(X,Y);CHR$(IN):T$=T$+CHR$(IN):L=L+1:X=X+1
  520GOTO450
  530IFL=0THENGOTO440
  540PRINTTAB(X,Y);" ":X=X-1:L=L-1:T$=LEFT$(T$,L)
  550GOTO450
  560PRINTTAB(X,Y);" "
  570ENDPROC
  580DEFPROCTABLE:FF%=SF%+9:IFFF%>NOF%THENFF%=NOF%
  590PRINTTAB(0,5);CHR$(154);"Field";CHR$(233);"Title";STRING$(15,CHR$(159));CHR$(233);"Type"CHR$(233);"Length";CHR$(158)
  600L=SF%:FORI=6TO15:PRINTTAB(0,I);CHR$(155);"     ";CHR$(231);"                    ";CHR$(231);"    "CHR$(231);"      ";CHR$(157);TAB(2,I);STRING$(3-LEN(STR$(L)),"0");L
  610IFL>FF%THENME$(I-5,1)="....................":ME$(I-5,2)=".":ME$(I-5,3)="...":GOTO640
  620PTR#B=(L-1)*61+63:INPUT#B,FL$:ME$(I-5,1)=FL$:PTR#B=(L-1)*61+101:INPUT#B,TY$:IFTY$="0"THENTY$="I":ELSETY$=CHR$(VAL(TY$)+64)
  630ME$(I-5,2)=TY$:PTR#B=(L-1)*61+104:INPUT#B,ME$(I-5,3)
  640PRINTTAB(7,I);ME$(I-5,1);TAB(28,I);ME$(I-5,2);TAB(33,I);ME$(I-5,3):L=L+1:NEXTI:ENDPROC
  650DEFPROCPAD:FORI=1TO10:ME$(I,1)=STRING$(20,"."):ME$(I,2)=".":ME$(I,3)="...":NEXTI:ENDPROC
  660FF%=SF%+19:IFFF%>NOF%THENFF%=NOF%
  670YY=6
  680DEFPROCTABLE2:FORI=6TO15:PRINTTAB(7,I);ME$(I-5,1);STRING$(20-LEN(ME$(I-5,1))," ");TAB(28,I);ME$(I-5,2);TAB(33,I);ME$(I-5,3):NEXTI:ENDPROC
  690PROCMAIN:SF%=1:CF%=1:YX=6:DLF%=1:OSCLI"CLOSE":B=OPENUPFNMyFile(FO$)
  700CLS:PRINTTAB(0,0);"Restructure Form";TAB(0,2);"Full Filename: $"+DI$+"."+FI$:PROCTABLE
  710*FX12,0
  720PRINTTAB(50,5);:VDU138;32;139;32;137;32;132:CF%=SF%:YP=6:GOTO820
  730MOUSE XP,YP,BUT:XP=INT(XP/16):YP=31-INT(YP/32):IFBUT=0THENGOTO730
  740IFXP=50 AND YP=5THENGOTO850
  750IFXP=56 AND YP=5 THENGOTO2310
  760IFXP=52 AND YP=5THENGOTO870
  770IFXP=54 AND YP=5THENGOTO890
  780IFXP<40 AND YP>=6 AND YP<=15 THENGOTO800
  790GOTO730
  800CCF%=SF%+(YP-6):IFCCF%>NOF%THENGOTO730
  810CF%=CCF%:YX=YP:REPEAT:MOUSE U,U,BUT:UNTILBUT=0
  820VDU7:PROCTABLE2:COLOUR131:PRINTTAB(7,YP);ME$(YP-5,1);STRING$(20-LEN(ME$(YP-5,1))," ");TAB(28,YP);ME$(YP-5,2);TAB(33,YP);ME$(YP-5,3):COLOURFG%
  830DLF%=YP
  840GOTO730
  850IF(SF%+10)>NOF%THENGOTO730
  860SF%=SF%+10:CF%=SF%:YP=6:PROCTABLE:GOTO820
  870IFSF%=1THENGOTO730
  880SF%=SF%-10:CF%=SF%:YP=6:PROCTABLE:GOTO820
  890X=50:Y=7:W%=14:L%=7:PROCLWN:MEN$(1)="Print Fields":MEN$(2)="Add Field":MEN$(3)="Delete Field":MEN$(4)="Rename":MEN$(5)="Move":MEN$(6)="Interrogate":MEN$(7)="Quit Menu":X=51:Y=8:L%=7:PROCSELECT:FORI=7TO15:PRINTTAB(50,I);SPC(20):NEXTI
  900ON SEL% GOTO 920,1090,1320,960,980,1640,910
  910YP=YX:GOTO730
  920CLS:VDU2:PRINT"Full Filename: $"+DI$+"."+FI$''"Field Title                Type Length"'"----- -------------------- ---- ------"
  930FORF=1TONOF%:PRINTSTRING$(3-LEN(STR$(F)),"0");F;"   ";:PTR#B=(F-1)*61+63:INPUT#B,FL$:PRINTFL$+STRING$(21-LEN(FL$)," ");:PTR#B=(F-1)*61+101:INPUT#B,TY$:IFTY$="0"THENTY$="I":ELSETY$=CHR$(VAL(TY$)+64)
  940PRINTTY$;"    ";:PTR#B=(F-1)*61+104:INPUT#B,IN$:PRINTIN$:NEXTF:VDU3:CLS:GOTO700
  950DEFPROCBOTCLR:FORI=16TO29:PRINTTAB(0,I);STRING$(80," "):NEXTI:ENDPROC
  960YY=Y:X=4:Y=20:W%=38:L%=1:PROCLWN:PRINTTAB(5,21);"Enter new title:":X=22:Y=21:L%=20:PROCTEXT:IFT$=""THENPROCBOTCLR:Y=YY:GOTO730
  970PTR#B=(CF%-1)*61+63:PRINT#B,T$:PROCBOTCLR:YP=YX:CF%=1:SF%=1:YX=6:DLF%=1:PROCTABLE:GOTO700
  980CLS:PROCSC:PRINTTAB(0,23);"Restructure Form";TAB(0,25);"Repositon Field ";CF%;": ";ME$(DLF%-5,1):IFCF%=1THENGOTO1040
  990L=(CF%-1)
 1000PROCFOPOUT:PTR#B=POI+58:INPUT#B,NP$
 1010X5=X2:Y5=Y2:PRINTTAB(X1,Y1);FL$:N$=STRING$(IN%,CHR$(255)):PROCFPNT:L=L-1:IFL=0 THENGOTO1040
 1020IFNP$="1"THENGOTO1040
 1030GOTO1000
 1040IFCF%=NOF%THENGOTO1080
 1050L=(CF%+1)
 1060PROCFOPOUT:PTR#B=POI+58:INPUT#B,NP$:IFNP$="1"THENGOTO1080
 1070X5=X2:Y5=Y2:PRINTTAB(X1,Y1);FL$:N$=STRING$(IN%,CHR$(255)):PROCFPNT:L=L+1:IFL>NOF%THENGOTO1080:ELSEGOTO1060
 1080L=CF%:PROCFOPOUT:T$=FL$:PROCPOSIT:PTR#B=POI+22:PRINT#B,STR$(X1):PTR#B=POI+26:PRINT#B,STR$(Y1):T$=CHR$(255):X1=X1-1:PROCPOSIT:PTR#B=POI+30:PRINT#B,STR$(X1):PTR#B=POI+34:PRINT#B,STR$(Y1):OSCLI"FX12,0":GOTO700
 1090CLS:YY=Y:YX=CF%:PRINTTAB(2,2);"Adding a field to present structure:";TAB(2,4);"Enter new field name: ":X=24:Y=4:L%=20:PROCTEXT:NFL$=T$:IFNFL$=""THENY=YY:GOTO700
 1100PROCFSEL:IFTY$="9"ORTY$="1"ORTY$="2"THENGOTO1110:ELSEPROCTYIN:GOTO1130
 1110PRINTTAB(2,19);"Enter length for ";NFL$;": ";:X=POS:Y=VPOS:L%=3:PROCTEXT:IN%=VAL(T$):IFT$=""THENIN%=20
 1120IFIN%<1ORIN%>255THENY=YY:GOTO700
 1130OLREC%=REC%:NTI%=REC%-10:REC%=REC%+(IN%+2):OSCLI"CLOSE":B=OPENUPFNMyFile(FO$):C=OPENUPFNMyFile(FI$):FA$=FI$+"G":E=OPENOUTFNMyFile(FA$)
 1140PTR#B=NOF%*61+63:PRINT#B,NFL$:PTR#B=NOF%*61+104:PRINT#B,STR$(IN%):PTR#B=NOF%*61+109:PRINT#B,STR$(NTI%):PTR#B=NOF%*61+117:PRINT#B,"00":PTR#B=NOF%*61+101:PRINT#B,TY$
 1150IFNOR%=0THENGOTO1190
 1160FORCR%=1TONOR%
 1170FORCF%=1TONOF%:PTR#B=(CF%-1)*61+109:INPUT#B,TI$:PTR#C=(CR%-1)*OLREC%+VAL(TI$):INPUT#C,N$:PTR#E=(CR%-1)*REC%+VAL(TI$):PRINT#E,N$:NEXTCF%
 1180PTR#E=(CR%-1)*REC%+NTI%:PRINT#E,STRING$(IN%," "):PTR#E=(CR%*REC%)-10:PRINT#E,STR$(CR%):NEXTCR%
 1190CLS:PROCSC
 1200FORI=NOF%TO1STEP-1:POI=(I-1)*61+63:PTR#B=POI:INPUT#B,FL$:PTR#B=POI+22:INPUT#B,ZZ$:X1=VAL(ZZ$):PTR#B=POI+26:INPUT#B,ZZ$:Y1=VAL(ZZ$):PTR#B=POI+30:INPUT#B,ZZ$:X5=VAL(ZZ$):PTR#B=POI+34:INPUT#B,ZZ$:Y5=VAL(ZZ$):PTR#B=POI+58:INPUT#B,NP$
 1210PTR#B=POI+41:INPUT#B,IN$
 1220PRINTTAB(X1,Y1);FL$:N$=STRING$(VAL(IN$),CHR$(255)):PROCFPNT:IFNP$="1"THENI=1
 1230NEXTI:OSCLI"FX12,5":OSCLI"FX11,5":PRINTTAB(0,25);"Position new field ";NOF%+1;": ";NFL$
 1240X1=0:Y1=1:T$=NFL$:PROCPOSIT:PTR#B=NOF%*61+85:PRINT#B,STR$(X1):PTR#B=NOF%*61+89:PRINT#B,STR$(Y1):PTR#B=NOF%*61+121:PRINT#B,STR$(NP%):X1=X1-1:T$=CHR$(255):PROCPOSIT:PTR#B=NOF%*61+93:PRINT#B,STR$(X1):PTR#B=NOF%*61+97:PRINT#B,STR$(Y1)
 1250NOF%=NOF%+1
 1260PTR#B=0:PRINT#B,STR$(NOF%):PTR#B=45:PRINT#B,"0":SO$="0"
 1270PTR#B=15:PRINT#B,STR$(REC%):*FX12,0
 1280IFTY$="3"THENX2=X1:Y2=Y1:OSCLI"CLOSE":PROCMULTIC:B=OPENUPFNMyFile(FO$):PTR#B=56:PRINT#B,STR$(MCA%):OSCLI"CLOSE"
 1290Y=YY:CF%=YX:OSCLI"CLOSE":IFNOR%>0THENOSCLI"DELETE <DataVision$Dir>."+FI$:OSCLI"RENAME <DataVision$Dir>."+FA$+" <DataVision$Dir>."+FI$:B=OPENUPFNMyFile(FO$):GOTO700
 1300B=OPENUPFNMyFile(FO$)
 1310GOTO700
 1320IFNOF%=1THENCLS:COLOUR128:PRINTTAB(2,2);"CAN'T DELETE LAST FIELD - USE DELETE FILE INSTEAD":COLOURFG%:REPEAT:MOUSE U,U,BUT:UNTILBUT=4:CLS:GOTO700
 1330CLS:PRINTTAB(2,2);"Deleting field ";CF%;": ";ME$(DLF%-5,1):EM%=CF%:OLREC%=REC%:PTR#B=(EM%-1)*61+101:INPUT#B,DTY$:PTR#B=(EM%-1)*61+104:INPUT#B,IN$:REC%=REC%-VAL(IN$)-2
 1340FA$=FI$+"F":D=OPENOUTFNMyFile(FA$):L%=1:LL%=1:NREC%=0
 1350IFL%=EM%THENGOTO1380
 1360PTR#B=(L%-1)*61+104:INPUT#B,IN$:PTR#D=(LL%-1)*10:PRINT#D,STR$(NREC%):NREC%=NREC%+VAL(IN$)+2
 1370L%=L%+1:LL%=LL%+1:IFL%>NOF%THENGOTO1390:ELSEGOTO1350
 1380L%=L%+1:IFL%>NOF%THENGOTO1390:ELSEGOTO1360
 1390IFNOR%=0THENGOTO1480
 1400C=OPENUPFNMyFile(FI$):FB$=FI$+"G":E=OPENOUTFNMyFile(FB$)
 1410FORCR%=1TONOR%
 1420L%=1:LL%=1
 1430IFL%=EM%THENGOTO1460
 1440PTR#B=(L%-1)*61+109:INPUT#B,TI$:PTR#C=(CR%-1)*OLREC%+VAL(TI$):INPUT#C,N$:PTR#D=(LL%-1)*10:INPUT#D,NTI$:PTR#E=(CR%-1)*REC%+VAL(NTI$):PRINT#E,N$
 1450L%=L%+1:LL%=LL%+1:IFL%>NOF%THENGOTO1470:ELSEGOTO1430
 1460L%=L%+1:IFL%>NOF%THENGOTO1470:ELSEGOTO1440
 1470PTR#E=(CR%*REC%)-10:PRINT#E,STR$(CR%):NEXTCR%
 1480IFEM%=NOF%THENGOTO1520
 1490FORI=EM%TO(NOF%-1):POI=I*61+63:PTR#B=POI:INPUT#B,FL$:PTR#B=POI+22:INPUT#B,ZA$:PTR#B=POI+26:INPUT#B,ZB$:PTR#B=POI+30:INPUT#B,ZC$:PTR#B=POI+34:INPUT#B,ZD$:PTR#B=POI+41:INPUT#B,IN$:PTR#B=POI+38:INPUT#B,TY$:PTR#B=POI+46:INPUT#B,TI$
 1500PTR#B=POI+58:INPUT#B,NP$:POI=(I-1)*61+63:PTR#B=POI:PRINT#B,FL$:PTR#B=POI+22:PRINT#B,ZA$:PTR#B=POI+26:PRINT#B,ZB$:PTR#B=POI+30:PRINT#B,ZC$:PTR#B=POI+34:PRINT#B,ZD$:PTR#B=POI+41:PRINT#B,IN$:PTR#B=POI+38:PRINT#B,TY$:PTR#B=POI+46:PRINT#B,TI$:PTR#B=POI+58:PRINT#B,NP$
 1510NEXTI
 1520NOF%=NOF%-1:PTR#B=0:PRINT#B,STR$(NOF%):PTR#B=15:PRINT#B,STR$(REC%):FORI=1TONOF%:PTR#D=(I-1)*10:INPUT#D,NTI$:PTR#B=(I-1)*61+109:PRINT#B,NTI$:PTR#B=(I-1)*61+117:PRINT#B,"00":NEXTI:PTR#B=28:PRINT#B,"0":PTR#B=48:PRINT#B,"0"
 1530PTR#B=45:PRINT#B,"0":SO$="0":FC$=FI$+"C":OSCLI"REMOVE <DataVision$Dir>."+FC$:FC$=FI$+"E":OSCLI"CLOSE":OSCLI"REMOVE <DataVision$Dir>."+FC$:IFNOR%>0THENOSCLI"DELETE <DataVision$Dir>."+FI$:OSCLI"RENAME <DataVision$Dir>."+FI$+"G <DataVision$Dir>."+FI$
 1540IFMCA%>0THENGOTO1550:ELSEB=OPENUPFNMyFile(FO$):GOTO700
 1550FA$=FI$+"B":C=OPENUPFNMyFile(FA$):L%=1
 1560PTR#C=(L%-1)*245:INPUT#C,MCA$:IFVAL(MCA$)>EM%THENNMC%=VAL(MCA$)-1:PTR#C=(L%-1)*245:PRINT#B,STR$(NMC%)
 1570L%=L%+1:IFL%>MCA%THENGOTO1580:ELSEGOTO1560
 1580IFDTY$="3"THENGOTO1590:ELSEOSCLI"CLOSE":B=OPENUPFNMyFile(FO$):GOTO700
 1590IFMCA%=1THENCLOSE#C:OSCLI"REMOVE <DataVision$Dir>."+FA$:MCA%=0:B=OPENUPFNMyFile(FO$):PTR#B=56:PRINT#B,STR$(MCA%):GOTO700
 1600L%=1
 1610PTR#C=(L%-1)*245:INPUT#C,MCA$:IFMCA$=STR$(EM%)THENGOTO1620:ELSEL%=L%+1:GOTO1610
 1620IFL%=MCA%THENMCA%=MCA%-1:ELSEOSCLI"CLOSE":B=OPENUPFNMyFile(FO$):PTR#B=56:PRINT#B,STR$(MCA%):GOTO700
 1630PTR#C=(MCA%-1)*245:INPUT#C,MC1$:PTR#C=(MCA%-1)*245+5:INPUT#C,MC2$:PTR#C=(L%-1)*245:PRINT#C,MC1$:PTR#C=(L%-1)*245+5:PRINT#C,MC2$:MCA%=MCA%-1:OSCLI"CLOSE":B=OPENUPFNMyFile(FO$):PTR#B=56:PRINT#B,STR$(MCA%):GOTO700
 1640PRINTTAB(2,18);"Creation date: ";CDA$;TAB(2,19);"Fields: ";NOF%;TAB(2,20);"Records: ";NOR%;TAB(2,21);"Macros: ";VA%;TAB(2,22);"Relations: ";RE%;TAB(2,23);"Multiple Choices: ";MCA%
 1650PRINTTAB(2,24);"Sorted?: ";:IFSO$="0"THENPRINT"No":ELSEPRINT"Yes"
 1660PRINTTAB(40,18);"Record Length (bytes): ";REC%;TAB(40,19);"File Length (bytes): ";(REC%*NOR%);TAB(40,20);"Dictionary (bytes): ";63+(61*NOF%)
 1670REPEAT:MOUSE U,U,BUT:UNTILBUT=0:REPEAT:MOUSE U,U,BUT:UNTILBUT>0:PROCBOTCLR:YP=YX:GOTO730
 1680DEFPROCSC
 1690COLOUR128:PRINTTAB(0,0);STRING$(80,CHR$(241));TAB(0,22);STRING$(80,CHR$(241)):COLOURFG%:ENDPROC
 1700DEFPROCPOSIT:NP%=0:MOUSE TO 22,980:VDU5:GCOL3,120:MOUSE x1,y1,but:x1=INT(x1/16):y1=31-INT(y1/32):XP=x1:YP=y1:MOVE (x1*16),1023-(y1*32):PRINTT$
 1710MOUSE S,S,BUT:IFBUT=0THENGOTO1720:ELSEGOTO1710
 1720MOUSE X1,Y1,BUT:X1=INT(X1/16):Y1=31-INT(Y1/32):IFY1>21THENY1=21
 1730IFX1>(80-LEN(T$))THENX1=(80-LEN(T$))
 1740IFY1<1THENY1=1
 1750IFBUT>0THENGOTO1780
 1760IF XP=X1 AND YP=Y1 THENGOTO1720:ELSEMOVE(XP*16),1023-(YP*32):PRINTT$:XP=X1:YP=Y1
 1770MOVE(X1*16),1023-(Y1*32):PRINTT$:VDU4:PRINTTAB(2,28);X1;" ";TAB(7,28);Y1;" ":VDU5:GCOL3,120
 1780IFBUT=4THENGOTO1950
 1790GOTO1720
 1800GCOL4:MOVE(XP*16),1023-(YP*32):PRINTT$:VDU4:CLG:CLS:CLS:IFNP%=0THENNP%=1:P%=P%+1:PROCSC:GOTO1820
 1810IFNP%=1THENNP%=0:P%=P%-1:PROCSC:GOTO1820
 1820VDU5:GCOL3,120:MOUSE x1,y1,BUT:IFBUT=0THENGOTO1720:ELSEGOTO1820
 1830IFY1=21THENGOTO1720
 1840PRINTTAB(X1,Y1);STRING$(LEN(T$)," ")
 1850Y1=Y1+1:GOTO1720
 1860IFY1=1THENGOTO1720
 1870PRINTTAB(X1,Y1);STRING$(LEN(T$)," ")
 1880Y1=Y1-1:GOTO1720
 1890IFX1=1THENGOTO1720
 1900PRINTTAB(X1,Y1);STRING$(LEN(T$)," ")
 1910X1=X1-1:GOTO1720
 1920IFX1=80-LEN(T$)THENGOTO1720
 1930PRINTTAB(X1,Y1);STRING$(LEN(T$)," ")
 1940X1=X1+1:GOTO1720
 1950VDU4:PRINTTAB(X1,Y1);T$:OSCLI"FX15,0":REPEAT:MOUSE U,U,BUT:UNTIL BUT=0:ENDPROC
 1960OSCLI"FX15,0":ENDPROC
 1970DEFPROCMULTIC:SL%=0:MC$="":IFMCA%=0THENFB$=FI$+"B":F=OPENOUTFNMyFile(FB$):ELSEFB$=FI$+"B":F=OPENUPFNMyFile(FB$)
 1980PRINTTAB(0,25);"Enter Multiple Choice selections for field ";NOF%;": ";NFL$
 1990Y9=Y1+1:PRINTTAB(X2,Y1);CHR$(154);STRING$(19,CHR$(159));CHR$(158)
 2000*FX12,0
 2010PRINTTAB(X2,Y9);CHR$(155);STRING$(19," ");CHR$(157):Y=Y9:X=X2+4:L%=16:PROCTEXT:IFT$=""THENGOTO2030
 2020MC$=MC$+T$+CHR$(254):SL%=SL%+1:IFSL%=14THENY9=Y9+1:GOTO2030:ELSEY9=Y9+1:GOTO2010
 2030IFSL%=0THENGOTO1990
 2040PRINTTAB(X2,Y9);CHR$(156);STRING$(19,CHR$(160));CHR$(161):PTR#F=(MCA%*245):PRINT#F,STR$(NOF%):PTR#F=(MCA%*245)+5:PRINT#F,MC$:MCA%=MCA%+1
 2050PRINTTAB(0,25);STRING$(80," "):ENDPROC
 2060DEFPROCTYIN
 2070IFTY$="3"THENIN%=16
 2080IFTY$="4"THENIN%=3
 2090IFTY$="5"THENIN%=8
 2100IFTY$="6"THENIN%=5
 2110IFTY$="7"THENIN%=9
 2120IFTY$="8"THENIN%=18
 2130IFTY$="0"THENIN%=18
 2140ENDPROC
 2150DEFPROCFSEL:RESTORE2160:FORJ=1TO9:READMEN$(J):NEXTJ:GOTO2170
 2160DATA"A: Alphanumeric","B: Capital Alpha","C: Multiple Choice","D: Logical Yes or No","E: Date","F: Time","G: Integer","H: Real","I: Formula"
 2170PRINTTAB(2,6);"Select field type: ":X=21:Y=6:L%=9:W%=23:PROCLWN:X=22:Y=7:L%=9:PROCSELECT:TY$=STR$(ASC(LEFT$(MEN$(SEL%),1))-64):IFTY$="9"THENTY$="0"
 2180ENDPROC
 2190PRINTTAB(50,6);"Shift-f0: Quit";TAB(50,7);"Shift-f1: Previous Block";TAB(50,8);"Shift-f2: Next Block";TAB(50,9);"Shift-f3: Print Fields";TAB(50,10);"Shift-f4: Add Field";TAB(50,11);"Shift-f5: Delete Field"
 2200PRINTTAB(50,12);"Shift-f6: Rename";TAB(50,13);"Shift-f7: Move";TAB(50,14);"Shift-f8: Info"
 2210DEFPROCSELECT:ED%=Y+(L%-1):BG%=X+(W%-1):SSEL%=1
 2220FORI=1TOL%:PRINTTAB(X,Y+(I-1));"  ";MEN$(I);STRING$((W%-2)-LEN(MEN$(I))," "):NEXTI
 2230MOUSE XP,YP,BUT:XP=INT(XP/16):YP=31-INT(YP/32)
 2240IFYP<Y OR YP>ED%THENGOTO2220
 2250IFXP<X OR XP>BG%THENGOTO2220
 2260SEL%=(YP-Y)+1:PROCCLEA:COLOUR 131:COLOUR127:PRINTTAB(X,YP);"  ";MEN$(SEL%);STRING$((W%-2)-LEN(MEN$(SEL%))," "):COLOUR FG%:COLOUR127:IFBUT=4THENGOTO2270:ELSEGOTO2230
 2270VDU7:ENDPROC
 2280DEFPROCCLEA:IFSSEL%<>SEL%THENFORI=1TOL%:PRINTTAB(X,Y+(I-1));"  ";MEN$(I);STRING$((W%-2)-LEN(MEN$(I))," "):NEXTI
 2290SSEL%=SEL%:ENDPROC
 2300STOP
 2310 
 2320OSCLI"CLOSE"
 2330PROCQuit
 2340 
 2350VDU3,26:CLOSE #0:IFERR=17THEN PROCQuit
 2360IFgo%=0THENGOTO2400
 2370FG%=180
 2380PROCERWIN:COLOUR180:PRINTTAB(20,12);"System Reported Error #";ERR;":";TAB(20,14);REPORT$:VDU7:COLOURFG%:PROCMKLIK
 2390OSCLI"CLOSE":VDU3:VDU26:GOTO700
 2400PROCERWIN:COLOUR180:PRINTTAB(20,12);"Cannot read the file :";FI$;TAB(20,14);"(does not exist/not a DataVision file)":COLOURFG%:VDU7:PROCMKLIK:GOTO2310
 2410DEFPROCFPNT
 2420INN%=LEN(N$):LE%=80-X5:IFINN%<=LE%THENPRINTTAB(X5,Y5);N$:GOTO2440
 2430NLD%=INN% DIV LE%:LB%=INN% MOD LE%:FORJ%=1TONLD%:PRINTTAB(X5,Y5+(J%-1));MID$(N$,((J%-1)*LE%)+1,LE%):NEXTJ%:PRINTTAB(X5,Y5+(J%-1));RIGHT$(N$,LB%)
 2440ENDPROC
 2450DEFPROCFPRINT:LE%=80-X5:IFIN%<=LE%THENPRINTTAB(X5,Y5);SPC(IN%):GOTO2470
 2460NLD%=IN% DIV LE%:LB%=IN% MOD LE%:FORJ%=1TONLD%:PRINTTAB(X5,Y5+(J%-1));SPC(LE%):NEXTJ%:PRINTTAB(X5,Y5+(J%-1));SPC(LB%)
 2470ENDPROC
 2480DEFPROCFCHEK:YN%=0:IFTY$="3" AND X1>59THENYN%=1
 2490IFTY$="4" AND X1>77 THENYN%=1
 2500IFTY$="5" AND X1>72 THENYN%=1
 2510IFTY$="6" AND X1>75 THENYN%=1
 2520IFTY$="7" AND X1>71 THENYN%=1
 2530IFTY$="8" AND X1>62 THENYN%=1
 2540IFTY$="0" AND X1>62 THENYN%=1
 2550IFYN%=1THENVDU7
 2560ENDPROC
 2570DEF FNMyFile(file$)
 2580=file$
 2590DEF PROCQuit
 2600SYS "Wimp_CommandWindow",-1
 2610QUIT
 2620ENDPROC
40000DEFPROCDir(d$)
40010IF d$ <> "" THEN OSCLI "Dir "+FNMyFile(MID$(d$,2))
40020ENDPROC

� > $.!DataVis.!dv12
ș "Wimp_CommandWindow",-1
� 15:� 180:�
��TnI
(ȗ �:�:FG%=180
2�ME$(10,3):�MEN$(10)
<f�"CLOSE":ST$="3":X=� �MyFile("NIM"):�#X,FI$,ST$,DA$,DR$,ZZ$,MD$:�"CLOSE":FO$=FI$+"A":ST$="1":�trB
F��MAIN:go%=0
PA�ST$="1"� TA$=FI$+"N":X=��MyFile(TA$):�#X,DI$:�Dir(DI$):�tV@
Z�DR$=MD$��Dd@:��Dx@
d\�ERWIN:�180:�20,12);"Please insert the disc:";�20,14);":";DR$;".";FI$:�FG%:�MKLIK:�Dx@
na�ERWIN:�180:�20,12);"Cannot read the file :";FI$;�20,14);"(file empty)":�FG%:�7:�MKLIK:�TFI
xA�ST$="2"� TA$=FI$+"N":X=��MyFile(TA$):�#X,DI$:�Dir(DI$):�tV@
�5��MKLIK:�:ȗ U,U,BUT:�BUT=0:�:ȗ U,U,BUT:�BUT=4:�
�1��ERWIN:X=19:Y=11:W%=40:L%=3:�180:�LWN:�FG%:�
���#0:X=� �MyFile(FO$):�#X=0:�#X,ZZ$:NOF%=�(ZZ$):�#X=5:�#X,ZZ$:NOR%=�(ZZ$):�#X=15:�#X,ZZ$:REC%=�(ZZ$):�#X=45:�#X,SO$:�#X=56:�#X,MCA$:MCA%=�(MCA$)
�^�#X=28:�#X,MAR$:VA%=0:�MAR$="1"�TA$=FI$+"E":N=��MyFile(TA$):�#N,SPM$:VA%=�(�SPM$,1,2)):�#N
�R�#X=48:�#X,RE$:RE%=0:�RE$="1"�TA$=FI$+"C":N=��MyFile(TA$):�#N,M$:RE%=�(M$):�#N
��#X=35:�#X,CDA$
�go%=1:�
���FOPOUT
�POI=(L-1)*61+63
ܸ�#B=POI:�#B,FL$:�#B=POI+22:�#B,ZZ$:X1=�(ZZ$):�#B=POI+26:�#B,ZZ$:Y1=�(ZZ$):�#B=POI+30:�#B,ZZ$:X2=�(ZZ$):�#B=POI+34:�#B,ZZ$:Y2=�(ZZ$):�#B=POI+41:�#B,IN$:IN%=�(IN$):�#B=POI+38:�#B,TY$
��
� �#X=POI+22:�#X,ZZ$:X1=�(ZZ$)
� �#X=POI+26:�#X,ZZ$:Y1=�(ZZ$)
 �#X=POI+30:�#X,ZZ$:X2=�(ZZ$)
 �#X=POI+34:�#X,ZZ$:Y2=�(ZZ$)
�#X=POI+38:�#X,TY$
"!�#X=POI+41:�#X,ZZ$:IN%=�(ZZ$)
,!�#X=POI+46:�#X,ZZ$:TI%=�(ZZ$)
6�#X=POI+54:�#X,TR$
@�#X=POI+58:�#X,NP$
J�
T	��LWN
^y�X,Y);�(154);�W%,�(159));�(158):�I=Y+1�Y+L%:�X,I);�(155);�W%," ");�(157):�I:�X,Y+(L%+1));�(156);�W%,�(160));�(161)
h�
r
��TIME
|^S%=(� �100)�60:M%=(� �6000)�60:H%=(� �360000)�24:�73,0);":";�76,0);":":�S%<10��77,0);"0"
��M%<10��74,0);"0"
��H%<10��71,0);"0"
�=�73-�(�(H%)),0);H%;�76-�(�(M%)),0);M%;�79-�(�(S%)),0);S%
��
���TEXT:*FX12,0
�
T$="":L=0
��L<L%��X,Y);�(255)
�IN=�
��IN=13�NP%=0:�TpB
��IN=127��TRB
��IN=9�NP%=1:�TpB
��L=L%��dLA
�(�X,Y);�(IN):T$=T$+�(IN):L=L+1:X=X+1
	�dBA
�L=0��txA
$�X,Y);" ":X=X-1:L=L-1:T$=�T$,L)
&	�dBA
0�X,Y);" "
:�
D(��TABLE:FF%=SF%+9:�FF%>NOF%�FF%=NOF%
NX�0,5);�(154);"Field";�(233);"Title";�15,�(159));�(233);"Type"�(233);"Length";�(158)
X�L=SF%:�I=6�15:�0,I);�(155);"     ";�(231);"                    ";�(231);"    "�(231);"      ";�(157);�2,I);�3-�(�(L)),"0");L
bR�L>FF%�ME$(I-5,1)="....................":ME$(I-5,2)=".":ME$(I-5,3)="...":�t@B
lf�#B=(L-1)*61+63:�#B,FL$:ME$(I-5,1)=FL$:�#B=(L-1)*61+101:�#B,TY$:�TY$="0"�TY$="I":�TY$=�(�(TY$)+64)
v2ME$(I-5,2)=TY$:�#B=(L-1)*61+104:�#B,ME$(I-5,3)
�D�7,I);ME$(I-5,1);�28,I);ME$(I-5,2);�33,I);ME$(I-5,3):L=L+1:�I:�
�D��PAD:�I=1�10:ME$(I,1)=�20,"."):ME$(I,2)=".":ME$(I,3)="...":�I:�
�!FF%=SF%+19:�FF%>NOF%�FF%=NOF%
�YY=6
�f��TABLE2:�I=6�15:�7,I);ME$(I-5,1);�20-�(ME$(I-5,1))," ");�28,I);ME$(I-5,2);�33,I);ME$(I-5,3):�I:�
�:�MAIN:SF%=1:CF%=1:YX=6:DLF%=1:�"CLOSE":B=��MyFile(FO$)
�K�:�0,0);"Restructure Form";�0,2);"Full Filename: $"+DI$+"."+FI$:�TABLE
�*FX12,0
�9�50,5);:�138;32;139;32;137;32;132:CF%=SF%:YP=6:�TtC
�8ȗ XP,YP,BUT:XP=�(XP/16):YP=31-�(YP/32):�BUT=0��dZB
��XP=50 � YP=5��DRC
��XP=56 � YP=5 ��TFI
��XP=52 � YP=5��DfC
�XP=54 � YP=5��DzC
"�XP<40 � YP>=6 � YP<=15 ��T`C
	�dZB
 $CCF%=SF%+(YP-6):�CCF%>NOF%��dZB
*&CF%=CCF%:YX=YP:�:ȗ U,U,BUT:�BUT=0
4l�7:�TABLE2:�131:�7,YP);ME$(YP-5,1);�20-�(ME$(YP-5,1))," ");�28,YP);ME$(YP-5,2);�33,YP);ME$(YP-5,3):�FG%
>DLF%=YP
H	�dZB
R�(SF%+10)>NOF%��dZB
\(SF%=SF%+10:CF%=SF%:YP=6:�TABLE:�TtC
f�SF%=1��dZB
p(SF%=SF%-10:CF%=SF%:YP=6:�TABLE:�TtC
z�X=50:Y=7:W%=14:L%=7:�LWN:MEN$(1)="Print Fields":MEN$(2)="Add Field":MEN$(3)="Delete Field":MEN$(4)="Rename":MEN$(5)="Move":MEN$(6)="Interrogate":MEN$(7)="Quit Menu":X=51:Y=8:L%=7:�SELECT:�I=7�15:�50,I);�(20):�I
�/� SEL% � �tXC,�DBD,�ThE,�d@C,�dTC,�DhF,�tNC
�YP=YX:�dZB
�{�:�2:�"Full Filename: $"+DI$+"."+FI$''"Field Title                Type Length"'"----- -------------------- ---- ------"
���F=1�NOF%:��3-�(�(F)),"0");F;"   ";:�#B=(F-1)*61+63:�#B,FL$:�FL$+�21-�(FL$)," ");:�#B=(F-1)*61+101:�#B,TY$:�TY$="0"�TY$="I":�TY$=�(�(TY$)+64)
�<�TY$;"    ";:�#B=(F-1)*61+104:�#B,IN$:�IN$:�F:�3:�:�t|B
�*��BOTCLR:�I=16�29:�0,I);�80," "):�I:�
�lYY=Y:X=4:Y=20:W%=38:L%=1:�LWN:�5,21);"Enter new title:":X=22:Y=21:L%=20:�TEXT:�T$=""��BOTCLR:Y=YY:�dZB
�O�#B=(CF%-1)*61+63:�#B,T$:�BOTCLR:YP=YX:CF%=1:SF%=1:YX=6:DLF%=1:�TABLE:�t|B
�b�:�SC:�0,23);"Restructure Form";�0,25);"Repositon Field ";CF%;": ";ME$(DLF%-5,1):�CF%=1��TPD
�
L=(CF%-1)
��FOPOUT:�#B=POI+58:�#B,NP$
�DX5=X2:Y5=Y2:�X1,Y1);FL$:N$=�IN%,�(255)):�FPNT:L=L-1:�L=0 ��TPD
��NP$="1"��TPD
	�dhC
�CF%=NOF%��TxD

L=(CF%+1)
$-�FOPOUT:�#B=POI+58:�#B,NP$:�NP$="1"��TxD
.MX5=X2:Y5=Y2:�X1,Y1);FL$:N$=�IN%,�(255)):�FPNT:L=L+1:�L>NOF%��TxD:��TdD
8�L=CF%:�FOPOUT:T$=FL$:�POSIT:�#B=POI+22:�#B,�(X1):�#B=POI+26:�#B,�(Y1):T$=�(255):X1=X1-1:�POSIT:�#B=POI+30:�#B,�(X1):�#B=POI+34:�#B,�(Y1):�"FX12,0":�t|B
B��:YY=Y:YX=CF%:�2,2);"Adding a field to present structure:";�2,4);"Enter new field name: ":X=24:Y=4:L%=20:�TEXT:NFL$=T$:�NFL$=""�Y=YY:�t|B
L5�FSEL:�TY$="9"�TY$="1"�TY$="2"��DVD:��TYIN:�DjD
VU�2,19);"Enter length for ";NFL$;": ";:X=�:Y=�:L%=3:�TEXT:IN%=�(T$):�T$=""�IN%=20
`�IN%<1�IN%>255�Y=YY:�t|B
jsOLREC%=REC%:NTI%=REC%-10:REC%=REC%+(IN%+2):�"CLOSE":B=��MyFile(FO$):C=��MyFile(FI$):FA$=FI$+"G":E=��MyFile(FA$)
t��#B=NOF%*61+63:�#B,NFL$:�#B=NOF%*61+104:�#B,�(IN%):�#B=NOF%*61+109:�#B,�(NTI%):�#B=NOF%*61+117:�#B,"00":�#B=NOF%*61+101:�#B,TY$
~�NOR%=0��tfD
��CR%=1�NOR%
�o�CF%=1�NOF%:�#B=(CF%-1)*61+109:�#B,TI$:�#C=(CR%-1)*OLREC%+�(TI$):�#C,N$:�#E=(CR%-1)*REC%+�(TI$):�#E,N$:�CF%
�I�#E=(CR%-1)*REC%+NTI%:�#E,�IN%," "):�#E=(CR%*REC%)-10:�#E,�(CR%):�CR%
�	�:�SC
���I=NOF%�1�-1:POI=(I-1)*61+63:�#B=POI:�#B,FL$:�#B=POI+22:�#B,ZZ$:X1=�(ZZ$):�#B=POI+26:�#B,ZZ$:Y1=�(ZZ$):�#B=POI+30:�#B,ZZ$:X5=�(ZZ$):�#B=POI+34:�#B,ZZ$:Y5=�(ZZ$):�#B=POI+58:�#B,NP$
��#B=POI+41:�#B,IN$
�6�X1,Y1);FL$:N$=Ļ(IN$),�(255)):�FPNT:�NP$="1"�I=1
�I�I:�"FX12,5":�"FX11,5":�0,25);"Position new field ";NOF%+1;": ";NFL$
شX1=0:Y1=1:T$=NFL$:�POSIT:�#B=NOF%*61+85:�#B,�(X1):�#B=NOF%*61+89:�#B,�(Y1):�#B=NOF%*61+121:�#B,�(NP%):X1=X1-1:T$=�(255):�POSIT:�#B=NOF%*61+93:�#B,�(X1):�#B=NOF%*61+97:�#B,�(Y1)
�NOF%=NOF%+1
�,�#B=0:�#B,�(NOF%):�#B=45:�#B,"0":SO$="0"
��#B=15:�#B,�(REC%):*FX12,0
U�TY$="3"�X2=X1:Y2=Y1:�"CLOSE":�MULTIC:B=��MyFile(FO$):�#B=56:�#B,�(MCA%):�"CLOSE"

�Y=YY:CF%=YX:�"CLOSE":�NOR%>0��"DELETE <DataVision$Dir>."+FI$:�"RENAME <DataVision$Dir>."+FA$+" <DataVision$Dir>."+FI$:B=��MyFile(FO$):�t|B
B=��MyFile(FO$)
	�t|B
(n�NOF%=1��:�128:�2,2);"CAN'T DELETE LAST FIELD - USE DELETE FILE INSTEAD":�FG%:�:ȗ U,U,BUT:�BUT=4:�:�t|B
2��:�2,2);"Deleting field ";CF%;": ";ME$(DLF%-5,1):EM%=CF%:OLREC%=REC%:�#B=(EM%-1)*61+101:�#B,DTY$:�#B=(EM%-1)*61+104:�#B,IN$:REC%=REC%-�(IN$)-2
<2FA$=FI$+"F":D=��MyFile(FA$):L%=1:LL%=1:NREC%=0
F�L%=EM%��DdE
PN�#B=(L%-1)*61+104:�#B,IN$:�#D=(LL%-1)*10:�#D,�(NREC%):NREC%=NREC%+�(IN$)+2
Z+L%=L%+1:LL%=LL%+1:�L%>NOF%��DnE:��DFE
d!L%=L%+1:�L%>NOF%��DnE:��DPE
n�NOR%=0��dHE
x/C=��MyFile(FI$):FB$=FI$+"G":E=��MyFile(FB$)
��CR%=1�NOR%
�L%=1:LL%=1
��L%=EM%��ttE
�v�#B=(L%-1)*61+109:�#B,TI$:�#C=(CR%-1)*OLREC%+�(TI$):�#C,N$:�#D=(LL%-1)*10:�#D,NTI$:�#E=(CR%-1)*REC%+�(NTI$):�#E,N$
�+L%=L%+1:LL%=LL%+1:�L%>NOF%��t~E:��tVE
�!L%=L%+1:�L%>NOF%��t~E:��t`E
�%�#E=(CR%*REC%)-10:�#E,�(CR%):�CR%
��EM%=NOF%��dpE
Ҵ�I=EM%�(NOF%-1):POI=I*61+63:�#B=POI:�#B,FL$:�#B=POI+22:�#B,ZA$:�#B=POI+26:�#B,ZB$:�#B=POI+30:�#B,ZC$:�#B=POI+34:�#B,ZD$:�#B=POI+41:�#B,IN$:�#B=POI+38:�#B,TY$:�#B=POI+46:�#B,TI$
���#B=POI+58:�#B,NP$:POI=(I-1)*61+63:�#B=POI:�#B,FL$:�#B=POI+22:�#B,ZA$:�#B=POI+26:�#B,ZB$:�#B=POI+30:�#B,ZC$:�#B=POI+34:�#B,ZD$:�#B=POI+41:�#B,IN$:�#B=POI+38:�#B,TY$:�#B=POI+46:�#B,TI$:�#B=POI+58:�#B,NP$
��I
�NOF%=NOF%-1:�#B=0:�#B,�(NOF%):�#B=15:�#B,�(REC%):�I=1�NOF%:�#D=(I-1)*10:�#D,NTI$:�#B=(I-1)*61+109:�#B,NTI$:�#B=(I-1)*61+117:�#B,"00":�I:�#B=28:�#B,"0":�#B=48:�#B,"0"
���#B=45:�#B,"0":SO$="0":FC$=FI$+"C":�"REMOVE <DataVision$Dir>."+FC$:FC$=FI$+"E":�"CLOSE":�"REMOVE <DataVision$Dir>."+FC$:�NOR%>0��"DELETE <DataVision$Dir>."+FI$:�"RENAME <DataVision$Dir>."+FI$+"G <DataVision$Dir>."+FI$
(�MCA%>0��TNF:�B=��MyFile(FO$):�t|B
$FA$=FI$+"B":C=��MyFile(FA$):L%=1
R�#C=(L%-1)*245:�#C,MCA$:�(MCA$)>EM%�NMC%=�(MCA$)-1:�#C=(L%-1)*245:�#B,�(NMC%)
"!L%=L%+1:�L%>MCA%��TlF:��TXF
,3�DTY$="3"��TvF:��"CLOSE":B=��MyFile(FO$):�t|B
6_�MCA%=1��#C:�"REMOVE <DataVision$Dir>."+FA$:MCA%=0:B=��MyFile(FO$):�#B=56:�#B,�(MCA%):�t|B
@L%=1
J=�#C=(L%-1)*245:�#C,MCA$:�MCA$=�(EM%)��DTF:�L%=L%+1:�DJF
TK�L%=MCA%�MCA%=MCA%-1:��"CLOSE":B=��MyFile(FO$):�#B=56:�#B,�(MCA%):�t|B
^��#C=(MCA%-1)*245:�#C,MC1$:�#C=(MCA%-1)*245+5:�#C,MC2$:�#C=(L%-1)*245:�#C,MC1$:�#C=(L%-1)*245+5:�#C,MC2$:MCA%=MCA%-1:�"CLOSE":B=��MyFile(FO$):�#B=56:�#B,�(MCA%):�t|B
h��2,18);"Creation date: ";CDA$;�2,19);"Fields: ";NOF%;�2,20);"Records: ";NOR%;�2,21);"Macros: ";VA%;�2,22);"Relations: ";RE%;�2,23);"Multiple Choices: ";MCA%
r/�2,24);"Sorted?: ";:�SO$="0"��"No":��"Yes"
|��40,18);"Record Length (bytes): ";REC%;�40,19);"File Length (bytes): ";(REC%*NOR%);�40,20);"Dictionary (bytes): ";63+(61*NOF%)
�?�:ȗ U,U,BUT:�BUT=0:�:ȗ U,U,BUT:�BUT>0:�BOTCLR:YP=YX:�dZB
���SC
�5�128:�0,0);�80,�(241));�0,22);�80,�(241)):�FG%:�
�v��POSIT:NP%=0:ȗ � 22,980:�5:�3,120:ȗ x1,y1,but:x1=�(x1/16):y1=31-�(y1/32):XP=x1:YP=y1:� (x1*16),1023-(y1*32):�T$
�"ȗ S,S,BUT:�BUT=0��txF:��tnF
�8ȗ X1,Y1,BUT:X1=�(X1/16):Y1=31-�(Y1/32):�Y1>21�Y1=21
� �X1>(80-�(T$))�X1=(80-�(T$))
��Y1<1�Y1=1
��BUT>0��dtF
�A� XP=X1 � YP=Y1 ��txF:��(XP*16),1023-(YP*32):�T$:XP=X1:YP=Y1
�G�(X1*16),1023-(Y1*32):�T$:�4:�2,28);X1;" ";�7,28);Y1;" ":�5:�3,120
��BUT=4��t^G
�	�txF
H�4:�(XP*16),1023-(YP*32):�T$:�4:�:�:�:�NP%=0�NP%=1:P%=P%+1:�SC:�T\G
"�NP%=1�NP%=0:P%=P%-1:�SC:�T\G
.�5:�3,120:ȗ x1,y1,BUT:�BUT=0��txF:��T\G
&�Y1=21��txF
0�X1,Y1);ĩ(T$)," ")
:Y1=Y1+1:�txF
D�Y1=1��txF
N�X1,Y1);ĩ(T$)," ")
XY1=Y1-1:�txF
b�X1=1��txF
l�X1,Y1);ĩ(T$)," ")
vX1=X1-1:�txF
��X1=80-�(T$)��txF
��X1,Y1);ĩ(T$)," ")
�X1=X1+1:�txF
�3�4:�X1,Y1);T$:�"FX15,0":�:ȗ U,U,BUT:� BUT=0:�
��"FX15,0":�
�Z��MULTIC:SL%=0:MC$="":�MCA%=0�FB$=FI$+"B":F=��MyFile(FB$):�FB$=FI$+"B":F=��MyFile(FB$)
�H�0,25);"Enter Multiple Choice selections for field ";NOF%;": ";NFL$
�.Y9=Y1+1:�X2,Y1);�(154);�19,�(159));�(158)
�*FX12,0
�H�X2,Y9);�(155);�19," ");�(157):Y=Y9:X=X2+4:L%=16:�TEXT:�T$=""��dnG
�DMC$=MC$+T$+�(254):SL%=SL%+1:�SL%=14�Y9=Y9+1:�dnG:�Y9=Y9+1:�dZG
��SL%=0��dFG
�f�X2,Y9);�(156);�19,�(160));�(161):�#F=(MCA%*245):�#F,�(NOF%):�#F=(MCA%*245)+5:�#F,MC$:MCA%=MCA%+1
�0,25);�80," "):�

��TYIN
�TY$="3"�IN%=16
 �TY$="4"�IN%=3
*�TY$="5"�IN%=8
4�TY$="6"�IN%=5
>�TY$="7"�IN%=9
H�TY$="8"�IN%=18
R�TY$="0"�IN%=18
\�
f)��FSEL:��DpH:�J=1�9:�MEN$(J):�J:�DzH
p��"A: Alphanumeric","B: Capital Alpha","C: Multiple Choice","D: Logical Yes or No","E: Date","F: Time","G: Integer","H: Real","I: Formula"
z|�2,6);"Select field type: ":X=21:Y=6:L%=9:W%=23:�LWN:X=22:Y=7:L%=9:�SELECT:TY$=�(�(�MEN$(SEL%),1))-64):�TY$="9"�TY$="0"
��
���50,6);"Shift-f0: Quit";�50,7);"Shift-f1: Previous Block";�50,8);"Shift-f2: Next Block";�50,9);"Shift-f3: Print Fields";�50,10);"Shift-f4: Add Field";�50,11);"Shift-f5: Delete Field"
�Q�50,12);"Shift-f6: Rename";�50,13);"Shift-f7: Move";�50,14);"Shift-f8: Info"
�.��SELECT:ED%=Y+(L%-1):BG%=X+(W%-1):SSEL%=1
�@�I=1�L%:�X,Y+(I-1));"  ";MEN$(I);�(W%-2)-�(MEN$(I))," "):�I
�+ȗ XP,YP,BUT:XP=�(XP/16):YP=31-�(YP/32)
��YP<Y � YP>ED%��tlH
��XP<X � XP>BG%��tlH
�tSEL%=(YP-Y)+1:�CLEA:� 131:�127:�X,YP);"  ";MEN$(SEL%);�(W%-2)-�(MEN$(SEL%))," "):� FG%:�127:�BUT=4��d^H:��tvH
��7:�
�T��CLEA:�SSEL%<>SEL%��I=1�L%:�X,Y+(I-1));"  ";MEN$(I);�(W%-2)-�(MEN$(I))," "):�I
�SSEL%=SEL%:�
��
	 
	�"CLOSE"
		�Quit
	$ 
	.�3,26:� #0:�=17� �Quit
	8�go%=0��D`I
	BFG%=180
	LR�ERWIN:�180:�20,12);"System Reported Error #";�;":";�20,14);�$:�7:�FG%:�MKLIK
	V�"CLOSE":�3:�26:�t|B
	`{�ERWIN:�180:�20,12);"Cannot read the file :";FI$;�20,14);"(does not exist/not a DataVision file)":�FG%:�7:�MKLIK:�TFI
	j
��FPNT
	t5INN%=�(N$):LE%=80-X5:�INN%<=LE%��X5,Y5);N$:�tHI
	~rNLD%=INN% � LE%:LB%=INN% � LE%:�J%=1�NLD%:�X5,Y5+(J%-1));�N$,((J%-1)*LE%)+1,LE%):�J%:�X5,Y5+(J%-1));�N$,LB%)
	��
	�6��FPRINT:LE%=80-X5:�IN%<=LE%��X5,Y5);�(IN%):�tfI
	�]NLD%=IN% � LE%:LB%=IN% � LE%:�J%=1�NLD%:�X5,Y5+(J%-1));�(LE%):�J%:�X5,Y5+(J%-1));�(LB%)
	��
	�(��FCHEK:YN%=0:�TY$="3" � X1>59�YN%=1
	��TY$="4" � X1>77 �YN%=1
	��TY$="5" � X1>72 �YN%=1
	��TY$="6" � X1>75 �YN%=1
	��TY$="7" � X1>71 �YN%=1
	��TY$="8" � X1>62 �YN%=1
	��TY$="0" � X1>62 �YN%=1
	�
�YN%=1��7
�

� �MyFile(file$)

=file$
� �Quit
(ș "Wimp_CommandWindow",-1
2Ș
<�
�@
��Dir(d$)
�J)� d$ <> "" � � "Dir "+�MyFile(�d$,2))
�T�
�
00000000  0d 00 0a 18 f4 20 3e 20  24 2e 21 44 61 74 61 56  |..... > $.!DataV|
00000010  69 73 2e 21 64 76 31 32  0d 00 0f 1e c8 99 20 22  |is.!dv12...... "|
00000020  57 69 6d 70 5f 43 6f 6d  6d 61 6e 64 57 69 6e 64  |Wimp_CommandWind|
00000030  6f 77 22 2c 2d 31 0d 00  14 10 eb 20 31 35 3a fb  |ow",-1..... 15:.|
00000040  20 31 38 30 3a db 0d 00  1e 0b ee 85 e5 8d 54 6e  | 180:.........Tn|
00000050  49 0d 00 28 12 c8 97 20  ee 3a 87 3a 46 47 25 3d  |I..(... .:.:FG%=|
00000060  31 38 30 0d 00 32 18 de  4d 45 24 28 31 30 2c 33  |180..2..ME$(10,3|
00000070  29 3a de 4d 45 4e 24 28  31 30 29 0d 00 3c 66 ff  |):.MEN$(10)..<f.|
00000080  22 43 4c 4f 53 45 22 3a  53 54 24 3d 22 33 22 3a  |"CLOSE":ST$="3":|
00000090  58 3d ad 20 a4 4d 79 46  69 6c 65 28 22 4e 49 4d  |X=. .MyFile("NIM|
000000a0  22 29 3a e8 23 58 2c 46  49 24 2c 53 54 24 2c 44  |"):.#X,FI$,ST$,D|
000000b0  41 24 2c 44 52 24 2c 5a  5a 24 2c 4d 44 24 3a ff  |A$,DR$,ZZ$,MD$:.|
000000c0  22 43 4c 4f 53 45 22 3a  46 4f 24 3d 46 49 24 2b  |"CLOSE":FO$=FI$+|
000000d0  22 41 22 3a 53 54 24 3d  22 31 22 3a e5 8d 74 72  |"A":ST$="1":..tr|
000000e0  42 0d 00 46 10 dd f2 4d  41 49 4e 3a 67 6f 25 3d  |B..F...MAIN:go%=|
000000f0  30 0d 00 50 41 e7 53 54  24 3d 22 31 22 8c 20 54  |0..PA.ST$="1". T|
00000100  41 24 3d 46 49 24 2b 22  4e 22 3a 58 3d ad a4 4d  |A$=FI$+"N":X=..M|
00000110  79 46 69 6c 65 28 54 41  24 29 3a e8 23 58 2c 44  |yFile(TA$):.#X,D|
00000120  49 24 3a f2 44 69 72 28  44 49 24 29 3a e5 8d 74  |I$:.Dir(DI$):..t|
00000130  56 40 0d 00 5a 19 e7 44  52 24 3d 4d 44 24 8c e5  |V@..Z..DR$=MD$..|
00000140  8d 44 64 40 3a 8b e5 8d  44 78 40 0d 00 64 5c f2  |.Dd@:...Dx@..d\.|
00000150  45 52 57 49 4e 3a fb 31  38 30 3a f1 8a 32 30 2c  |ERWIN:.180:..20,|
00000160  31 32 29 3b 22 50 6c 65  61 73 65 20 69 6e 73 65  |12);"Please inse|
00000170  72 74 20 74 68 65 20 64  69 73 63 3a 22 3b 8a 32  |rt the disc:";.2|
00000180  30 2c 31 34 29 3b 22 3a  22 3b 44 52 24 3b 22 2e  |0,14);":";DR$;".|
00000190  22 3b 46 49 24 3a fb 46  47 25 3a f2 4d 4b 4c 49  |";FI$:.FG%:.MKLI|
000001a0  4b 3a e5 8d 44 78 40 0d  00 6e 61 f2 45 52 57 49  |K:..Dx@..na.ERWI|
000001b0  4e 3a fb 31 38 30 3a f1  8a 32 30 2c 31 32 29 3b  |N:.180:..20,12);|
000001c0  22 43 61 6e 6e 6f 74 20  72 65 61 64 20 74 68 65  |"Cannot read the|
000001d0  20 66 69 6c 65 20 3a 22  3b 46 49 24 3b 8a 32 30  | file :";FI$;.20|
000001e0  2c 31 34 29 3b 22 28 66  69 6c 65 20 65 6d 70 74  |,14);"(file empt|
000001f0  79 29 22 3a fb 46 47 25  3a ef 37 3a f2 4d 4b 4c  |y)":.FG%:.7:.MKL|
00000200  49 4b 3a e5 8d 54 46 49  0d 00 78 41 e7 53 54 24  |IK:..TFI..xA.ST$|
00000210  3d 22 32 22 8c 20 54 41  24 3d 46 49 24 2b 22 4e  |="2". TA$=FI$+"N|
00000220  22 3a 58 3d ad a4 4d 79  46 69 6c 65 28 54 41 24  |":X=..MyFile(TA$|
00000230  29 3a e8 23 58 2c 44 49  24 3a f2 44 69 72 28 44  |):.#X,DI$:.Dir(D|
00000240  49 24 29 3a e5 8d 74 56  40 0d 00 82 35 dd f2 4d  |I$):..tV@...5..M|
00000250  4b 4c 49 4b 3a f5 3a c8  97 20 55 2c 55 2c 42 55  |KLIK:.:.. U,U,BU|
00000260  54 3a fd 42 55 54 3d 30  3a f5 3a c8 97 20 55 2c  |T:.BUT=0:.:.. U,|
00000270  55 2c 42 55 54 3a fd 42  55 54 3d 34 3a e1 0d 00  |U,BUT:.BUT=4:...|
00000280  8c 31 dd f2 45 52 57 49  4e 3a 58 3d 31 39 3a 59  |.1..ERWIN:X=19:Y|
00000290  3d 31 31 3a 57 25 3d 34  30 3a 4c 25 3d 33 3a fb  |=11:W%=40:L%=3:.|
000002a0  31 38 30 3a f2 4c 57 4e  3a fb 46 47 25 3a e1 0d  |180:.LWN:.FG%:..|
000002b0  00 96 93 d9 23 30 3a 58  3d ad 20 a4 4d 79 46 69  |....#0:X=. .MyFi|
000002c0  6c 65 28 46 4f 24 29 3a  cf 23 58 3d 30 3a e8 23  |le(FO$):.#X=0:.#|
000002d0  58 2c 5a 5a 24 3a 4e 4f  46 25 3d bb 28 5a 5a 24  |X,ZZ$:NOF%=.(ZZ$|
000002e0  29 3a cf 23 58 3d 35 3a  e8 23 58 2c 5a 5a 24 3a  |):.#X=5:.#X,ZZ$:|
000002f0  4e 4f 52 25 3d bb 28 5a  5a 24 29 3a cf 23 58 3d  |NOR%=.(ZZ$):.#X=|
00000300  31 35 3a e8 23 58 2c 5a  5a 24 3a 52 45 43 25 3d  |15:.#X,ZZ$:REC%=|
00000310  bb 28 5a 5a 24 29 3a cf  23 58 3d 34 35 3a e8 23  |.(ZZ$):.#X=45:.#|
00000320  58 2c 53 4f 24 3a cf 23  58 3d 35 36 3a e8 23 58  |X,SO$:.#X=56:.#X|
00000330  2c 4d 43 41 24 3a 4d 43  41 25 3d bb 28 4d 43 41  |,MCA$:MCA%=.(MCA|
00000340  24 29 0d 00 a0 5e cf 23  58 3d 32 38 3a e8 23 58  |$)...^.#X=28:.#X|
00000350  2c 4d 41 52 24 3a 56 41  25 3d 30 3a e7 4d 41 52  |,MAR$:VA%=0:.MAR|
00000360  24 3d 22 31 22 8c 54 41  24 3d 46 49 24 2b 22 45  |$="1".TA$=FI$+"E|
00000370  22 3a 4e 3d ad a4 4d 79  46 69 6c 65 28 54 41 24  |":N=..MyFile(TA$|
00000380  29 3a e8 23 4e 2c 53 50  4d 24 3a 56 41 25 3d bb  |):.#N,SPM$:VA%=.|
00000390  28 c1 53 50 4d 24 2c 31  2c 32 29 29 3a d9 23 4e  |(.SPM$,1,2)):.#N|
000003a0  0d 00 aa 52 cf 23 58 3d  34 38 3a e8 23 58 2c 52  |...R.#X=48:.#X,R|
000003b0  45 24 3a 52 45 25 3d 30  3a e7 52 45 24 3d 22 31  |E$:RE%=0:.RE$="1|
000003c0  22 8c 54 41 24 3d 46 49  24 2b 22 43 22 3a 4e 3d  |".TA$=FI$+"C":N=|
000003d0  ad a4 4d 79 46 69 6c 65  28 54 41 24 29 3a e8 23  |..MyFile(TA$):.#|
000003e0  4e 2c 4d 24 3a 52 45 25  3d bb 28 4d 24 29 3a d9  |N,M$:RE%=.(M$):.|
000003f0  23 4e 0d 00 b4 13 cf 23  58 3d 33 35 3a e8 23 58  |#N.....#X=35:.#X|
00000400  2c 43 44 41 24 0d 00 be  0b 67 6f 25 3d 31 3a e1  |,CDA$....go%=1:.|
00000410  0d 00 c8 0c dd f2 46 4f  50 4f 55 54 0d 00 d2 13  |......FOPOUT....|
00000420  50 4f 49 3d 28 4c 2d 31  29 2a 36 31 2b 36 33 0d  |POI=(L-1)*61+63.|
00000430  00 dc b8 cf 23 42 3d 50  4f 49 3a e8 23 42 2c 46  |....#B=POI:.#B,F|
00000440  4c 24 3a cf 23 42 3d 50  4f 49 2b 32 32 3a e8 23  |L$:.#B=POI+22:.#|
00000450  42 2c 5a 5a 24 3a 58 31  3d bb 28 5a 5a 24 29 3a  |B,ZZ$:X1=.(ZZ$):|
00000460  cf 23 42 3d 50 4f 49 2b  32 36 3a e8 23 42 2c 5a  |.#B=POI+26:.#B,Z|
00000470  5a 24 3a 59 31 3d bb 28  5a 5a 24 29 3a cf 23 42  |Z$:Y1=.(ZZ$):.#B|
00000480  3d 50 4f 49 2b 33 30 3a  e8 23 42 2c 5a 5a 24 3a  |=POI+30:.#B,ZZ$:|
00000490  58 32 3d bb 28 5a 5a 24  29 3a cf 23 42 3d 50 4f  |X2=.(ZZ$):.#B=PO|
000004a0  49 2b 33 34 3a e8 23 42  2c 5a 5a 24 3a 59 32 3d  |I+34:.#B,ZZ$:Y2=|
000004b0  bb 28 5a 5a 24 29 3a cf  23 42 3d 50 4f 49 2b 34  |.(ZZ$):.#B=POI+4|
000004c0  31 3a e8 23 42 2c 49 4e  24 3a 49 4e 25 3d bb 28  |1:.#B,IN$:IN%=.(|
000004d0  49 4e 24 29 3a cf 23 42  3d 50 4f 49 2b 33 38 3a  |IN$):.#B=POI+38:|
000004e0  e8 23 42 2c 54 59 24 0d  00 e6 05 e1 0d 00 f0 20  |.#B,TY$........ |
000004f0  cf 23 58 3d 50 4f 49 2b  32 32 3a e8 23 58 2c 5a  |.#X=POI+22:.#X,Z|
00000500  5a 24 3a 58 31 3d bb 28  5a 5a 24 29 0d 00 fa 20  |Z$:X1=.(ZZ$)... |
00000510  cf 23 58 3d 50 4f 49 2b  32 36 3a e8 23 58 2c 5a  |.#X=POI+26:.#X,Z|
00000520  5a 24 3a 59 31 3d bb 28  5a 5a 24 29 0d 01 04 20  |Z$:Y1=.(ZZ$)... |
00000530  cf 23 58 3d 50 4f 49 2b  33 30 3a e8 23 58 2c 5a  |.#X=POI+30:.#X,Z|
00000540  5a 24 3a 58 32 3d bb 28  5a 5a 24 29 0d 01 0e 20  |Z$:X2=.(ZZ$)... |
00000550  cf 23 58 3d 50 4f 49 2b  33 34 3a e8 23 58 2c 5a  |.#X=POI+34:.#X,Z|
00000560  5a 24 3a 59 32 3d bb 28  5a 5a 24 29 0d 01 18 16  |Z$:Y2=.(ZZ$)....|
00000570  cf 23 58 3d 50 4f 49 2b  33 38 3a e8 23 58 2c 54  |.#X=POI+38:.#X,T|
00000580  59 24 0d 01 22 21 cf 23  58 3d 50 4f 49 2b 34 31  |Y$.."!.#X=POI+41|
00000590  3a e8 23 58 2c 5a 5a 24  3a 49 4e 25 3d bb 28 5a  |:.#X,ZZ$:IN%=.(Z|
000005a0  5a 24 29 0d 01 2c 21 cf  23 58 3d 50 4f 49 2b 34  |Z$)..,!.#X=POI+4|
000005b0  36 3a e8 23 58 2c 5a 5a  24 3a 54 49 25 3d bb 28  |6:.#X,ZZ$:TI%=.(|
000005c0  5a 5a 24 29 0d 01 36 16  cf 23 58 3d 50 4f 49 2b  |ZZ$)..6..#X=POI+|
000005d0  35 34 3a e8 23 58 2c 54  52 24 0d 01 40 16 cf 23  |54:.#X,TR$..@..#|
000005e0  58 3d 50 4f 49 2b 35 38  3a e8 23 58 2c 4e 50 24  |X=POI+58:.#X,NP$|
000005f0  0d 01 4a 05 e1 0d 01 54  09 dd f2 4c 57 4e 0d 01  |..J....T...LWN..|
00000600  5e 79 f1 8a 58 2c 59 29  3b bd 28 31 35 34 29 3b  |^y..X,Y);.(154);|
00000610  c4 57 25 2c bd 28 31 35  39 29 29 3b bd 28 31 35  |.W%,.(159));.(15|
00000620  38 29 3a e3 49 3d 59 2b  31 b8 59 2b 4c 25 3a f1  |8):.I=Y+1.Y+L%:.|
00000630  8a 58 2c 49 29 3b bd 28  31 35 35 29 3b c4 57 25  |.X,I);.(155);.W%|
00000640  2c 22 20 22 29 3b bd 28  31 35 37 29 3a ed 49 3a  |," ");.(157):.I:|
00000650  f1 8a 58 2c 59 2b 28 4c  25 2b 31 29 29 3b bd 28  |..X,Y+(L%+1));.(|
00000660  31 35 36 29 3b c4 57 25  2c bd 28 31 36 30 29 29  |156);.W%,.(160))|
00000670  3b bd 28 31 36 31 29 0d  01 68 05 e1 0d 01 72 0a  |;.(161)..h....r.|
00000680  dd f2 54 49 4d 45 0d 01  7c 5e 53 25 3d 28 91 20  |..TIME..|^S%=(. |
00000690  81 31 30 30 29 83 36 30  3a 4d 25 3d 28 91 20 81  |.100).60:M%=(. .|
000006a0  36 30 30 30 29 83 36 30  3a 48 25 3d 28 91 20 81  |6000).60:H%=(. .|
000006b0  33 36 30 30 30 30 29 83  32 34 3a f1 8a 37 33 2c  |360000).24:..73,|
000006c0  30 29 3b 22 3a 22 3b 8a  37 36 2c 30 29 3b 22 3a  |0);":";.76,0);":|
000006d0  22 3a e7 53 25 3c 31 30  8c f1 8a 37 37 2c 30 29  |":.S%<10...77,0)|
000006e0  3b 22 30 22 0d 01 86 16  e7 4d 25 3c 31 30 8c f1  |;"0".....M%<10..|
000006f0  8a 37 34 2c 30 29 3b 22  30 22 0d 01 90 16 e7 48  |.74,0);"0".....H|
00000700  25 3c 31 30 8c f1 8a 37  31 2c 30 29 3b 22 30 22  |%<10...71,0);"0"|
00000710  0d 01 9a 3d f1 8a 37 33  2d a9 28 c3 28 48 25 29  |...=..73-.(.(H%)|
00000720  29 2c 30 29 3b 48 25 3b  8a 37 36 2d a9 28 c3 28  |),0);H%;.76-.(.(|
00000730  4d 25 29 29 2c 30 29 3b  4d 25 3b 8a 37 39 2d a9  |M%)),0);M%;.79-.|
00000740  28 c3 28 53 25 29 29 2c  30 29 3b 53 25 0d 01 a4  |(.(S%)),0);S%...|
00000750  05 e1 0d 01 ae 12 dd f2  54 45 58 54 3a 2a 46 58  |........TEXT:*FX|
00000760  31 32 2c 30 0d 01 b8 0d  54 24 3d 22 22 3a 4c 3d  |12,0....T$="":L=|
00000770  30 0d 01 c2 17 e7 4c 3c  4c 25 8c f1 8a 58 2c 59  |0.....L<L%...X,Y|
00000780  29 3b bd 28 32 35 35 29  0d 01 cc 08 49 4e 3d a5  |);.(255)....IN=.|
00000790  0d 01 d6 16 e7 49 4e 3d  31 33 8c 4e 50 25 3d 30  |.....IN=13.NP%=0|
000007a0  3a e5 8d 54 70 42 0d 01  e0 11 e7 49 4e 3d 31 32  |:..TpB.....IN=12|
000007b0  37 8c e5 8d 54 52 42 0d  01 ea 15 e7 49 4e 3d 39  |7...TRB.....IN=9|
000007c0  8c 4e 50 25 3d 31 3a e5  8d 54 70 42 0d 01 f4 0f  |.NP%=1:..TpB....|
000007d0  e7 4c 3d 4c 25 8c e5 8d  64 4c 41 0d 01 fe 28 f1  |.L=L%...dLA...(.|
000007e0  8a 58 2c 59 29 3b bd 28  49 4e 29 3a 54 24 3d 54  |.X,Y);.(IN):T$=T|
000007f0  24 2b bd 28 49 4e 29 3a  4c 3d 4c 2b 31 3a 58 3d  |$+.(IN):L=L+1:X=|
00000800  58 2b 31 0d 02 08 09 e5  8d 64 42 41 0d 02 12 0e  |X+1......dBA....|
00000810  e7 4c 3d 30 8c e5 8d 74  78 41 0d 02 1c 24 f1 8a  |.L=0...txA...$..|
00000820  58 2c 59 29 3b 22 20 22  3a 58 3d 58 2d 31 3a 4c  |X,Y);" ":X=X-1:L|
00000830  3d 4c 2d 31 3a 54 24 3d  c0 54 24 2c 4c 29 0d 02  |=L-1:T$=.T$,L)..|
00000840  26 09 e5 8d 64 42 41 0d  02 30 0e f1 8a 58 2c 59  |&...dBA..0...X,Y|
00000850  29 3b 22 20 22 0d 02 3a  05 e1 0d 02 44 28 dd f2  |);" "..:....D(..|
00000860  54 41 42 4c 45 3a 46 46  25 3d 53 46 25 2b 39 3a  |TABLE:FF%=SF%+9:|
00000870  e7 46 46 25 3e 4e 4f 46  25 8c 46 46 25 3d 4e 4f  |.FF%>NOF%.FF%=NO|
00000880  46 25 0d 02 4e 58 f1 8a  30 2c 35 29 3b bd 28 31  |F%..NX..0,5);.(1|
00000890  35 34 29 3b 22 46 69 65  6c 64 22 3b bd 28 32 33  |54);"Field";.(23|
000008a0  33 29 3b 22 54 69 74 6c  65 22 3b c4 31 35 2c bd  |3);"Title";.15,.|
000008b0  28 31 35 39 29 29 3b bd  28 32 33 33 29 3b 22 54  |(159));.(233);"T|
000008c0  79 70 65 22 bd 28 32 33  33 29 3b 22 4c 65 6e 67  |ype".(233);"Leng|
000008d0  74 68 22 3b bd 28 31 35  38 29 0d 02 58 81 4c 3d  |th";.(158)..X.L=|
000008e0  53 46 25 3a e3 49 3d 36  b8 31 35 3a f1 8a 30 2c  |SF%:.I=6.15:..0,|
000008f0  49 29 3b bd 28 31 35 35  29 3b 22 20 20 20 20 20  |I);.(155);"     |
00000900  22 3b bd 28 32 33 31 29  3b 22 20 20 20 20 20 20  |";.(231);"      |
00000910  20 20 20 20 20 20 20 20  20 20 20 20 20 20 22 3b  |              ";|
00000920  bd 28 32 33 31 29 3b 22  20 20 20 20 22 bd 28 32  |.(231);"    ".(2|
00000930  33 31 29 3b 22 20 20 20  20 20 20 22 3b bd 28 31  |31);"      ";.(1|
00000940  35 37 29 3b 8a 32 2c 49  29 3b c4 33 2d a9 28 c3  |57);.2,I);.3-.(.|
00000950  28 4c 29 29 2c 22 30 22  29 3b 4c 0d 02 62 52 e7  |(L)),"0");L..bR.|
00000960  4c 3e 46 46 25 8c 4d 45  24 28 49 2d 35 2c 31 29  |L>FF%.ME$(I-5,1)|
00000970  3d 22 2e 2e 2e 2e 2e 2e  2e 2e 2e 2e 2e 2e 2e 2e  |="..............|
00000980  2e 2e 2e 2e 2e 2e 22 3a  4d 45 24 28 49 2d 35 2c  |......":ME$(I-5,|
00000990  32 29 3d 22 2e 22 3a 4d  45 24 28 49 2d 35 2c 33  |2)=".":ME$(I-5,3|
000009a0  29 3d 22 2e 2e 2e 22 3a  e5 8d 74 40 42 0d 02 6c  |)="...":..t@B..l|
000009b0  66 cf 23 42 3d 28 4c 2d  31 29 2a 36 31 2b 36 33  |f.#B=(L-1)*61+63|
000009c0  3a e8 23 42 2c 46 4c 24  3a 4d 45 24 28 49 2d 35  |:.#B,FL$:ME$(I-5|
000009d0  2c 31 29 3d 46 4c 24 3a  cf 23 42 3d 28 4c 2d 31  |,1)=FL$:.#B=(L-1|
000009e0  29 2a 36 31 2b 31 30 31  3a e8 23 42 2c 54 59 24  |)*61+101:.#B,TY$|
000009f0  3a e7 54 59 24 3d 22 30  22 8c 54 59 24 3d 22 49  |:.TY$="0".TY$="I|
00000a00  22 3a 8b 54 59 24 3d bd  28 bb 28 54 59 24 29 2b  |":.TY$=.(.(TY$)+|
00000a10  36 34 29 0d 02 76 32 4d  45 24 28 49 2d 35 2c 32  |64)..v2ME$(I-5,2|
00000a20  29 3d 54 59 24 3a cf 23  42 3d 28 4c 2d 31 29 2a  |)=TY$:.#B=(L-1)*|
00000a30  36 31 2b 31 30 34 3a e8  23 42 2c 4d 45 24 28 49  |61+104:.#B,ME$(I|
00000a40  2d 35 2c 33 29 0d 02 80  44 f1 8a 37 2c 49 29 3b  |-5,3)...D..7,I);|
00000a50  4d 45 24 28 49 2d 35 2c  31 29 3b 8a 32 38 2c 49  |ME$(I-5,1);.28,I|
00000a60  29 3b 4d 45 24 28 49 2d  35 2c 32 29 3b 8a 33 33  |);ME$(I-5,2);.33|
00000a70  2c 49 29 3b 4d 45 24 28  49 2d 35 2c 33 29 3a 4c  |,I);ME$(I-5,3):L|
00000a80  3d 4c 2b 31 3a ed 49 3a  e1 0d 02 8a 44 dd f2 50  |=L+1:.I:....D..P|
00000a90  41 44 3a e3 49 3d 31 b8  31 30 3a 4d 45 24 28 49  |AD:.I=1.10:ME$(I|
00000aa0  2c 31 29 3d c4 32 30 2c  22 2e 22 29 3a 4d 45 24  |,1)=.20,"."):ME$|
00000ab0  28 49 2c 32 29 3d 22 2e  22 3a 4d 45 24 28 49 2c  |(I,2)=".":ME$(I,|
00000ac0  33 29 3d 22 2e 2e 2e 22  3a ed 49 3a e1 0d 02 94  |3)="...":.I:....|
00000ad0  21 46 46 25 3d 53 46 25  2b 31 39 3a e7 46 46 25  |!FF%=SF%+19:.FF%|
00000ae0  3e 4e 4f 46 25 8c 46 46  25 3d 4e 4f 46 25 0d 02  |>NOF%.FF%=NOF%..|
00000af0  9e 08 59 59 3d 36 0d 02  a8 66 dd f2 54 41 42 4c  |..YY=6...f..TABL|
00000b00  45 32 3a e3 49 3d 36 b8  31 35 3a f1 8a 37 2c 49  |E2:.I=6.15:..7,I|
00000b10  29 3b 4d 45 24 28 49 2d  35 2c 31 29 3b c4 32 30  |);ME$(I-5,1);.20|
00000b20  2d a9 28 4d 45 24 28 49  2d 35 2c 31 29 29 2c 22  |-.(ME$(I-5,1)),"|
00000b30  20 22 29 3b 8a 32 38 2c  49 29 3b 4d 45 24 28 49  | ");.28,I);ME$(I|
00000b40  2d 35 2c 32 29 3b 8a 33  33 2c 49 29 3b 4d 45 24  |-5,2);.33,I);ME$|
00000b50  28 49 2d 35 2c 33 29 3a  ed 49 3a e1 0d 02 b2 3a  |(I-5,3):.I:....:|
00000b60  f2 4d 41 49 4e 3a 53 46  25 3d 31 3a 43 46 25 3d  |.MAIN:SF%=1:CF%=|
00000b70  31 3a 59 58 3d 36 3a 44  4c 46 25 3d 31 3a ff 22  |1:YX=6:DLF%=1:."|
00000b80  43 4c 4f 53 45 22 3a 42  3d ad a4 4d 79 46 69 6c  |CLOSE":B=..MyFil|
00000b90  65 28 46 4f 24 29 0d 02  bc 4b db 3a f1 8a 30 2c  |e(FO$)...K.:..0,|
00000ba0  30 29 3b 22 52 65 73 74  72 75 63 74 75 72 65 20  |0);"Restructure |
00000bb0  46 6f 72 6d 22 3b 8a 30  2c 32 29 3b 22 46 75 6c  |Form";.0,2);"Ful|
00000bc0  6c 20 46 69 6c 65 6e 61  6d 65 3a 20 24 22 2b 44  |l Filename: $"+D|
00000bd0  49 24 2b 22 2e 22 2b 46  49 24 3a f2 54 41 42 4c  |I$+"."+FI$:.TABL|
00000be0  45 0d 02 c6 0b 2a 46 58  31 32 2c 30 0d 02 d0 39  |E....*FX12,0...9|
00000bf0  f1 8a 35 30 2c 35 29 3b  3a ef 31 33 38 3b 33 32  |..50,5);:.138;32|
00000c00  3b 31 33 39 3b 33 32 3b  31 33 37 3b 33 32 3b 31  |;139;32;137;32;1|
00000c10  33 32 3a 43 46 25 3d 53  46 25 3a 59 50 3d 36 3a  |32:CF%=SF%:YP=6:|
00000c20  e5 8d 54 74 43 0d 02 da  38 c8 97 20 58 50 2c 59  |..TtC...8.. XP,Y|
00000c30  50 2c 42 55 54 3a 58 50  3d a8 28 58 50 2f 31 36  |P,BUT:XP=.(XP/16|
00000c40  29 3a 59 50 3d 33 31 2d  a8 28 59 50 2f 33 32 29  |):YP=31-.(YP/32)|
00000c50  3a e7 42 55 54 3d 30 8c  e5 8d 64 5a 42 0d 02 e4  |:.BUT=0...dZB...|
00000c60  17 e7 58 50 3d 35 30 20  80 20 59 50 3d 35 8c e5  |..XP=50 . YP=5..|
00000c70  8d 44 52 43 0d 02 ee 18  e7 58 50 3d 35 36 20 80  |.DRC.....XP=56 .|
00000c80  20 59 50 3d 35 20 8c e5  8d 54 46 49 0d 02 f8 17  | YP=5 ...TFI....|
00000c90  e7 58 50 3d 35 32 20 80  20 59 50 3d 35 8c e5 8d  |.XP=52 . YP=5...|
00000ca0  44 66 43 0d 03 02 17 e7  58 50 3d 35 34 20 80 20  |DfC.....XP=54 . |
00000cb0  59 50 3d 35 8c e5 8d 44  7a 43 0d 03 0c 22 e7 58  |YP=5...DzC...".X|
00000cc0  50 3c 34 30 20 80 20 59  50 3e 3d 36 20 80 20 59  |P<40 . YP>=6 . Y|
00000cd0  50 3c 3d 31 35 20 8c e5  8d 54 60 43 0d 03 16 09  |P<=15 ...T`C....|
00000ce0  e5 8d 64 5a 42 0d 03 20  24 43 43 46 25 3d 53 46  |..dZB.. $CCF%=SF|
00000cf0  25 2b 28 59 50 2d 36 29  3a e7 43 43 46 25 3e 4e  |%+(YP-6):.CCF%>N|
00000d00  4f 46 25 8c e5 8d 64 5a  42 0d 03 2a 26 43 46 25  |OF%...dZB..*&CF%|
00000d10  3d 43 43 46 25 3a 59 58  3d 59 50 3a f5 3a c8 97  |=CCF%:YX=YP:.:..|
00000d20  20 55 2c 55 2c 42 55 54  3a fd 42 55 54 3d 30 0d  | U,U,BUT:.BUT=0.|
00000d30  03 34 6c ef 37 3a f2 54  41 42 4c 45 32 3a fb 31  |.4l.7:.TABLE2:.1|
00000d40  33 31 3a f1 8a 37 2c 59  50 29 3b 4d 45 24 28 59  |31:..7,YP);ME$(Y|
00000d50  50 2d 35 2c 31 29 3b c4  32 30 2d a9 28 4d 45 24  |P-5,1);.20-.(ME$|
00000d60  28 59 50 2d 35 2c 31 29  29 2c 22 20 22 29 3b 8a  |(YP-5,1))," ");.|
00000d70  32 38 2c 59 50 29 3b 4d  45 24 28 59 50 2d 35 2c  |28,YP);ME$(YP-5,|
00000d80  32 29 3b 8a 33 33 2c 59  50 29 3b 4d 45 24 28 59  |2);.33,YP);ME$(Y|
00000d90  50 2d 35 2c 33 29 3a fb  46 47 25 0d 03 3e 0b 44  |P-5,3):.FG%..>.D|
00000da0  4c 46 25 3d 59 50 0d 03  48 09 e5 8d 64 5a 42 0d  |LF%=YP..H...dZB.|
00000db0  03 52 18 e7 28 53 46 25  2b 31 30 29 3e 4e 4f 46  |.R..(SF%+10)>NOF|
00000dc0  25 8c e5 8d 64 5a 42 0d  03 5c 28 53 46 25 3d 53  |%...dZB..\(SF%=S|
00000dd0  46 25 2b 31 30 3a 43 46  25 3d 53 46 25 3a 59 50  |F%+10:CF%=SF%:YP|
00000de0  3d 36 3a f2 54 41 42 4c  45 3a e5 8d 54 74 43 0d  |=6:.TABLE:..TtC.|
00000df0  03 66 10 e7 53 46 25 3d  31 8c e5 8d 64 5a 42 0d  |.f..SF%=1...dZB.|
00000e00  03 70 28 53 46 25 3d 53  46 25 2d 31 30 3a 43 46  |.p(SF%=SF%-10:CF|
00000e10  25 3d 53 46 25 3a 59 50  3d 36 3a f2 54 41 42 4c  |%=SF%:YP=6:.TABL|
00000e20  45 3a e5 8d 54 74 43 0d  03 7a d7 58 3d 35 30 3a  |E:..TtC..z.X=50:|
00000e30  59 3d 37 3a 57 25 3d 31  34 3a 4c 25 3d 37 3a f2  |Y=7:W%=14:L%=7:.|
00000e40  4c 57 4e 3a 4d 45 4e 24  28 31 29 3d 22 50 72 69  |LWN:MEN$(1)="Pri|
00000e50  6e 74 20 46 69 65 6c 64  73 22 3a 4d 45 4e 24 28  |nt Fields":MEN$(|
00000e60  32 29 3d 22 41 64 64 20  46 69 65 6c 64 22 3a 4d  |2)="Add Field":M|
00000e70  45 4e 24 28 33 29 3d 22  44 65 6c 65 74 65 20 46  |EN$(3)="Delete F|
00000e80  69 65 6c 64 22 3a 4d 45  4e 24 28 34 29 3d 22 52  |ield":MEN$(4)="R|
00000e90  65 6e 61 6d 65 22 3a 4d  45 4e 24 28 35 29 3d 22  |ename":MEN$(5)="|
00000ea0  4d 6f 76 65 22 3a 4d 45  4e 24 28 36 29 3d 22 49  |Move":MEN$(6)="I|
00000eb0  6e 74 65 72 72 6f 67 61  74 65 22 3a 4d 45 4e 24  |nterrogate":MEN$|
00000ec0  28 37 29 3d 22 51 75 69  74 20 4d 65 6e 75 22 3a  |(7)="Quit Menu":|
00000ed0  58 3d 35 31 3a 59 3d 38  3a 4c 25 3d 37 3a f2 53  |X=51:Y=8:L%=7:.S|
00000ee0  45 4c 45 43 54 3a e3 49  3d 37 b8 31 35 3a f1 8a  |ELECT:.I=7.15:..|
00000ef0  35 30 2c 49 29 3b 89 28  32 30 29 3a ed 49 0d 03  |50,I);.(20):.I..|
00000f00  84 2f ee 20 53 45 4c 25  20 e5 20 8d 74 58 43 2c  |./. SEL% . .tXC,|
00000f10  8d 44 42 44 2c 8d 54 68  45 2c 8d 64 40 43 2c 8d  |.DBD,.ThE,.d@C,.|
00000f20  64 54 43 2c 8d 44 68 46  2c 8d 74 4e 43 0d 03 8e  |dTC,.DhF,.tNC...|
00000f30  0f 59 50 3d 59 58 3a e5  8d 64 5a 42 0d 03 98 7b  |.YP=YX:..dZB...{|
00000f40  db 3a ef 32 3a f1 22 46  75 6c 6c 20 46 69 6c 65  |.:.2:."Full File|
00000f50  6e 61 6d 65 3a 20 24 22  2b 44 49 24 2b 22 2e 22  |name: $"+DI$+"."|
00000f60  2b 46 49 24 27 27 22 46  69 65 6c 64 20 54 69 74  |+FI$''"Field Tit|
00000f70  6c 65 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |le              |
00000f80  20 20 54 79 70 65 20 4c  65 6e 67 74 68 22 27 22  |  Type Length"'"|
00000f90  2d 2d 2d 2d 2d 20 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----- ----------|
00000fa0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 20 2d 2d 2d 2d 20  |---------- ---- |
00000fb0  2d 2d 2d 2d 2d 2d 22 0d  03 a2 91 e3 46 3d 31 b8  |------".....F=1.|
00000fc0  4e 4f 46 25 3a f1 c4 33  2d a9 28 c3 28 46 29 29  |NOF%:..3-.(.(F))|
00000fd0  2c 22 30 22 29 3b 46 3b  22 20 20 20 22 3b 3a cf  |,"0");F;"   ";:.|
00000fe0  23 42 3d 28 46 2d 31 29  2a 36 31 2b 36 33 3a e8  |#B=(F-1)*61+63:.|
00000ff0  23 42 2c 46 4c 24 3a f1  46 4c 24 2b c4 32 31 2d  |#B,FL$:.FL$+.21-|
00001000  a9 28 46 4c 24 29 2c 22  20 22 29 3b 3a cf 23 42  |.(FL$)," ");:.#B|
00001010  3d 28 46 2d 31 29 2a 36  31 2b 31 30 31 3a e8 23  |=(F-1)*61+101:.#|
00001020  42 2c 54 59 24 3a e7 54  59 24 3d 22 30 22 8c 54  |B,TY$:.TY$="0".T|
00001030  59 24 3d 22 49 22 3a 8b  54 59 24 3d bd 28 bb 28  |Y$="I":.TY$=.(.(|
00001040  54 59 24 29 2b 36 34 29  0d 03 ac 3c f1 54 59 24  |TY$)+64)...<.TY$|
00001050  3b 22 20 20 20 20 22 3b  3a cf 23 42 3d 28 46 2d  |;"    ";:.#B=(F-|
00001060  31 29 2a 36 31 2b 31 30  34 3a e8 23 42 2c 49 4e  |1)*61+104:.#B,IN|
00001070  24 3a f1 49 4e 24 3a ed  46 3a ef 33 3a db 3a e5  |$:.IN$:.F:.3:.:.|
00001080  8d 74 7c 42 0d 03 b6 2a  dd f2 42 4f 54 43 4c 52  |.t|B...*..BOTCLR|
00001090  3a e3 49 3d 31 36 b8 32  39 3a f1 8a 30 2c 49 29  |:.I=16.29:..0,I)|
000010a0  3b c4 38 30 2c 22 20 22  29 3a ed 49 3a e1 0d 03  |;.80," "):.I:...|
000010b0  c0 6c 59 59 3d 59 3a 58  3d 34 3a 59 3d 32 30 3a  |.lYY=Y:X=4:Y=20:|
000010c0  57 25 3d 33 38 3a 4c 25  3d 31 3a f2 4c 57 4e 3a  |W%=38:L%=1:.LWN:|
000010d0  f1 8a 35 2c 32 31 29 3b  22 45 6e 74 65 72 20 6e  |..5,21);"Enter n|
000010e0  65 77 20 74 69 74 6c 65  3a 22 3a 58 3d 32 32 3a  |ew title:":X=22:|
000010f0  59 3d 32 31 3a 4c 25 3d  32 30 3a f2 54 45 58 54  |Y=21:L%=20:.TEXT|
00001100  3a e7 54 24 3d 22 22 8c  f2 42 4f 54 43 4c 52 3a  |:.T$=""..BOTCLR:|
00001110  59 3d 59 59 3a e5 8d 64  5a 42 0d 03 ca 4f cf 23  |Y=YY:..dZB...O.#|
00001120  42 3d 28 43 46 25 2d 31  29 2a 36 31 2b 36 33 3a  |B=(CF%-1)*61+63:|
00001130  f1 23 42 2c 54 24 3a f2  42 4f 54 43 4c 52 3a 59  |.#B,T$:.BOTCLR:Y|
00001140  50 3d 59 58 3a 43 46 25  3d 31 3a 53 46 25 3d 31  |P=YX:CF%=1:SF%=1|
00001150  3a 59 58 3d 36 3a 44 4c  46 25 3d 31 3a f2 54 41  |:YX=6:DLF%=1:.TA|
00001160  42 4c 45 3a e5 8d 74 7c  42 0d 03 d4 62 db 3a f2  |BLE:..t|B...b.:.|
00001170  53 43 3a f1 8a 30 2c 32  33 29 3b 22 52 65 73 74  |SC:..0,23);"Rest|
00001180  72 75 63 74 75 72 65 20  46 6f 72 6d 22 3b 8a 30  |ructure Form";.0|
00001190  2c 32 35 29 3b 22 52 65  70 6f 73 69 74 6f 6e 20  |,25);"Repositon |
000011a0  46 69 65 6c 64 20 22 3b  43 46 25 3b 22 3a 20 22  |Field ";CF%;": "|
000011b0  3b 4d 45 24 28 44 4c 46  25 2d 35 2c 31 29 3a e7  |;ME$(DLF%-5,1):.|
000011c0  43 46 25 3d 31 8c e5 8d  54 50 44 0d 03 de 0d 4c  |CF%=1...TPD....L|
000011d0  3d 28 43 46 25 2d 31 29  0d 03 e8 1e f2 46 4f 50  |=(CF%-1).....FOP|
000011e0  4f 55 54 3a cf 23 42 3d  50 4f 49 2b 35 38 3a e8  |OUT:.#B=POI+58:.|
000011f0  23 42 2c 4e 50 24 0d 03  f2 44 58 35 3d 58 32 3a  |#B,NP$...DX5=X2:|
00001200  59 35 3d 59 32 3a f1 8a  58 31 2c 59 31 29 3b 46  |Y5=Y2:..X1,Y1);F|
00001210  4c 24 3a 4e 24 3d c4 49  4e 25 2c bd 28 32 35 35  |L$:N$=.IN%,.(255|
00001220  29 29 3a f2 46 50 4e 54  3a 4c 3d 4c 2d 31 3a e7  |)):.FPNT:L=L-1:.|
00001230  4c 3d 30 20 8c e5 8d 54  50 44 0d 03 fc 12 e7 4e  |L=0 ...TPD.....N|
00001240  50 24 3d 22 31 22 8c e5  8d 54 50 44 0d 04 06 09  |P$="1"...TPD....|
00001250  e5 8d 64 68 43 0d 04 10  13 e7 43 46 25 3d 4e 4f  |..dhC.....CF%=NO|
00001260  46 25 8c e5 8d 54 78 44  0d 04 1a 0d 4c 3d 28 43  |F%...TxD....L=(C|
00001270  46 25 2b 31 29 0d 04 24  2d f2 46 4f 50 4f 55 54  |F%+1)..$-.FOPOUT|
00001280  3a cf 23 42 3d 50 4f 49  2b 35 38 3a e8 23 42 2c  |:.#B=POI+58:.#B,|
00001290  4e 50 24 3a e7 4e 50 24  3d 22 31 22 8c e5 8d 54  |NP$:.NP$="1"...T|
000012a0  78 44 0d 04 2e 4d 58 35  3d 58 32 3a 59 35 3d 59  |xD...MX5=X2:Y5=Y|
000012b0  32 3a f1 8a 58 31 2c 59  31 29 3b 46 4c 24 3a 4e  |2:..X1,Y1);FL$:N|
000012c0  24 3d c4 49 4e 25 2c bd  28 32 35 35 29 29 3a f2  |$=.IN%,.(255)):.|
000012d0  46 50 4e 54 3a 4c 3d 4c  2b 31 3a e7 4c 3e 4e 4f  |FPNT:L=L+1:.L>NO|
000012e0  46 25 8c e5 8d 54 78 44  3a 8b e5 8d 54 64 44 0d  |F%...TxD:...TdD.|
000012f0  04 38 9c 4c 3d 43 46 25  3a f2 46 4f 50 4f 55 54  |.8.L=CF%:.FOPOUT|
00001300  3a 54 24 3d 46 4c 24 3a  f2 50 4f 53 49 54 3a cf  |:T$=FL$:.POSIT:.|
00001310  23 42 3d 50 4f 49 2b 32  32 3a f1 23 42 2c c3 28  |#B=POI+22:.#B,.(|
00001320  58 31 29 3a cf 23 42 3d  50 4f 49 2b 32 36 3a f1  |X1):.#B=POI+26:.|
00001330  23 42 2c c3 28 59 31 29  3a 54 24 3d bd 28 32 35  |#B,.(Y1):T$=.(25|
00001340  35 29 3a 58 31 3d 58 31  2d 31 3a f2 50 4f 53 49  |5):X1=X1-1:.POSI|
00001350  54 3a cf 23 42 3d 50 4f  49 2b 33 30 3a f1 23 42  |T:.#B=POI+30:.#B|
00001360  2c c3 28 58 31 29 3a cf  23 42 3d 50 4f 49 2b 33  |,.(X1):.#B=POI+3|
00001370  34 3a f1 23 42 2c c3 28  59 31 29 3a ff 22 46 58  |4:.#B,.(Y1):."FX|
00001380  31 32 2c 30 22 3a e5 8d  74 7c 42 0d 04 42 8f db  |12,0":..t|B..B..|
00001390  3a 59 59 3d 59 3a 59 58  3d 43 46 25 3a f1 8a 32  |:YY=Y:YX=CF%:..2|
000013a0  2c 32 29 3b 22 41 64 64  69 6e 67 20 61 20 66 69  |,2);"Adding a fi|
000013b0  65 6c 64 20 74 6f 20 70  72 65 73 65 6e 74 20 73  |eld to present s|
000013c0  74 72 75 63 74 75 72 65  3a 22 3b 8a 32 2c 34 29  |tructure:";.2,4)|
000013d0  3b 22 45 6e 74 65 72 20  6e 65 77 20 66 69 65 6c  |;"Enter new fiel|
000013e0  64 20 6e 61 6d 65 3a 20  22 3a 58 3d 32 34 3a 59  |d name: ":X=24:Y|
000013f0  3d 34 3a 4c 25 3d 32 30  3a f2 54 45 58 54 3a 4e  |=4:L%=20:.TEXT:N|
00001400  46 4c 24 3d 54 24 3a e7  4e 46 4c 24 3d 22 22 8c  |FL$=T$:.NFL$="".|
00001410  59 3d 59 59 3a e5 8d 74  7c 42 0d 04 4c 35 f2 46  |Y=YY:..t|B..L5.F|
00001420  53 45 4c 3a e7 54 59 24  3d 22 39 22 84 54 59 24  |SEL:.TY$="9".TY$|
00001430  3d 22 31 22 84 54 59 24  3d 22 32 22 8c e5 8d 44  |="1".TY$="2"...D|
00001440  56 44 3a 8b f2 54 59 49  4e 3a e5 8d 44 6a 44 0d  |VD:..TYIN:..DjD.|
00001450  04 56 55 f1 8a 32 2c 31  39 29 3b 22 45 6e 74 65  |.VU..2,19);"Ente|
00001460  72 20 6c 65 6e 67 74 68  20 66 6f 72 20 22 3b 4e  |r length for ";N|
00001470  46 4c 24 3b 22 3a 20 22  3b 3a 58 3d b1 3a 59 3d  |FL$;": ";:X=.:Y=|
00001480  bc 3a 4c 25 3d 33 3a f2  54 45 58 54 3a 49 4e 25  |.:L%=3:.TEXT:IN%|
00001490  3d bb 28 54 24 29 3a e7  54 24 3d 22 22 8c 49 4e  |=.(T$):.T$="".IN|
000014a0  25 3d 32 30 0d 04 60 1d  e7 49 4e 25 3c 31 84 49  |%=20..`..IN%<1.I|
000014b0  4e 25 3e 32 35 35 8c 59  3d 59 59 3a e5 8d 74 7c  |N%>255.Y=YY:..t||
000014c0  42 0d 04 6a 73 4f 4c 52  45 43 25 3d 52 45 43 25  |B..jsOLREC%=REC%|
000014d0  3a 4e 54 49 25 3d 52 45  43 25 2d 31 30 3a 52 45  |:NTI%=REC%-10:RE|
000014e0  43 25 3d 52 45 43 25 2b  28 49 4e 25 2b 32 29 3a  |C%=REC%+(IN%+2):|
000014f0  ff 22 43 4c 4f 53 45 22  3a 42 3d ad a4 4d 79 46  |."CLOSE":B=..MyF|
00001500  69 6c 65 28 46 4f 24 29  3a 43 3d ad a4 4d 79 46  |ile(FO$):C=..MyF|
00001510  69 6c 65 28 46 49 24 29  3a 46 41 24 3d 46 49 24  |ile(FI$):FA$=FI$|
00001520  2b 22 47 22 3a 45 3d ae  a4 4d 79 46 69 6c 65 28  |+"G":E=..MyFile(|
00001530  46 41 24 29 0d 04 74 83  cf 23 42 3d 4e 4f 46 25  |FA$)..t..#B=NOF%|
00001540  2a 36 31 2b 36 33 3a f1  23 42 2c 4e 46 4c 24 3a  |*61+63:.#B,NFL$:|
00001550  cf 23 42 3d 4e 4f 46 25  2a 36 31 2b 31 30 34 3a  |.#B=NOF%*61+104:|
00001560  f1 23 42 2c c3 28 49 4e  25 29 3a cf 23 42 3d 4e  |.#B,.(IN%):.#B=N|
00001570  4f 46 25 2a 36 31 2b 31  30 39 3a f1 23 42 2c c3  |OF%*61+109:.#B,.|
00001580  28 4e 54 49 25 29 3a cf  23 42 3d 4e 4f 46 25 2a  |(NTI%):.#B=NOF%*|
00001590  36 31 2b 31 31 37 3a f1  23 42 2c 22 30 30 22 3a  |61+117:.#B,"00":|
000015a0  cf 23 42 3d 4e 4f 46 25  2a 36 31 2b 31 30 31 3a  |.#B=NOF%*61+101:|
000015b0  f1 23 42 2c 54 59 24 0d  04 7e 11 e7 4e 4f 52 25  |.#B,TY$..~..NOR%|
000015c0  3d 30 8c e5 8d 74 66 44  0d 04 88 0f e3 43 52 25  |=0...tfD.....CR%|
000015d0  3d 31 b8 4e 4f 52 25 0d  04 92 6f e3 43 46 25 3d  |=1.NOR%...o.CF%=|
000015e0  31 b8 4e 4f 46 25 3a cf  23 42 3d 28 43 46 25 2d  |1.NOF%:.#B=(CF%-|
000015f0  31 29 2a 36 31 2b 31 30  39 3a e8 23 42 2c 54 49  |1)*61+109:.#B,TI|
00001600  24 3a cf 23 43 3d 28 43  52 25 2d 31 29 2a 4f 4c  |$:.#C=(CR%-1)*OL|
00001610  52 45 43 25 2b bb 28 54  49 24 29 3a e8 23 43 2c  |REC%+.(TI$):.#C,|
00001620  4e 24 3a cf 23 45 3d 28  43 52 25 2d 31 29 2a 52  |N$:.#E=(CR%-1)*R|
00001630  45 43 25 2b bb 28 54 49  24 29 3a f1 23 45 2c 4e  |EC%+.(TI$):.#E,N|
00001640  24 3a ed 43 46 25 0d 04  9c 49 cf 23 45 3d 28 43  |$:.CF%...I.#E=(C|
00001650  52 25 2d 31 29 2a 52 45  43 25 2b 4e 54 49 25 3a  |R%-1)*REC%+NTI%:|
00001660  f1 23 45 2c c4 49 4e 25  2c 22 20 22 29 3a cf 23  |.#E,.IN%," "):.#|
00001670  45 3d 28 43 52 25 2a 52  45 43 25 29 2d 31 30 3a  |E=(CR%*REC%)-10:|
00001680  f1 23 45 2c c3 28 43 52  25 29 3a ed 43 52 25 0d  |.#E,.(CR%):.CR%.|
00001690  04 a6 09 db 3a f2 53 43  0d 04 b0 b7 e3 49 3d 4e  |....:.SC.....I=N|
000016a0  4f 46 25 b8 31 88 2d 31  3a 50 4f 49 3d 28 49 2d  |OF%.1.-1:POI=(I-|
000016b0  31 29 2a 36 31 2b 36 33  3a cf 23 42 3d 50 4f 49  |1)*61+63:.#B=POI|
000016c0  3a e8 23 42 2c 46 4c 24  3a cf 23 42 3d 50 4f 49  |:.#B,FL$:.#B=POI|
000016d0  2b 32 32 3a e8 23 42 2c  5a 5a 24 3a 58 31 3d bb  |+22:.#B,ZZ$:X1=.|
000016e0  28 5a 5a 24 29 3a cf 23  42 3d 50 4f 49 2b 32 36  |(ZZ$):.#B=POI+26|
000016f0  3a e8 23 42 2c 5a 5a 24  3a 59 31 3d bb 28 5a 5a  |:.#B,ZZ$:Y1=.(ZZ|
00001700  24 29 3a cf 23 42 3d 50  4f 49 2b 33 30 3a e8 23  |$):.#B=POI+30:.#|
00001710  42 2c 5a 5a 24 3a 58 35  3d bb 28 5a 5a 24 29 3a  |B,ZZ$:X5=.(ZZ$):|
00001720  cf 23 42 3d 50 4f 49 2b  33 34 3a e8 23 42 2c 5a  |.#B=POI+34:.#B,Z|
00001730  5a 24 3a 59 35 3d bb 28  5a 5a 24 29 3a cf 23 42  |Z$:Y5=.(ZZ$):.#B|
00001740  3d 50 4f 49 2b 35 38 3a  e8 23 42 2c 4e 50 24 0d  |=POI+58:.#B,NP$.|
00001750  04 ba 16 cf 23 42 3d 50  4f 49 2b 34 31 3a e8 23  |....#B=POI+41:.#|
00001760  42 2c 49 4e 24 0d 04 c4  36 f1 8a 58 31 2c 59 31  |B,IN$...6..X1,Y1|
00001770  29 3b 46 4c 24 3a 4e 24  3d c4 bb 28 49 4e 24 29  |);FL$:N$=..(IN$)|
00001780  2c bd 28 32 35 35 29 29  3a f2 46 50 4e 54 3a e7  |,.(255)):.FPNT:.|
00001790  4e 50 24 3d 22 31 22 8c  49 3d 31 0d 04 ce 49 ed  |NP$="1".I=1...I.|
000017a0  49 3a ff 22 46 58 31 32  2c 35 22 3a ff 22 46 58  |I:."FX12,5":."FX|
000017b0  31 31 2c 35 22 3a f1 8a  30 2c 32 35 29 3b 22 50  |11,5":..0,25);"P|
000017c0  6f 73 69 74 69 6f 6e 20  6e 65 77 20 66 69 65 6c  |osition new fiel|
000017d0  64 20 22 3b 4e 4f 46 25  2b 31 3b 22 3a 20 22 3b  |d ";NOF%+1;": ";|
000017e0  4e 46 4c 24 0d 04 d8 b4  58 31 3d 30 3a 59 31 3d  |NFL$....X1=0:Y1=|
000017f0  31 3a 54 24 3d 4e 46 4c  24 3a f2 50 4f 53 49 54  |1:T$=NFL$:.POSIT|
00001800  3a cf 23 42 3d 4e 4f 46  25 2a 36 31 2b 38 35 3a  |:.#B=NOF%*61+85:|
00001810  f1 23 42 2c c3 28 58 31  29 3a cf 23 42 3d 4e 4f  |.#B,.(X1):.#B=NO|
00001820  46 25 2a 36 31 2b 38 39  3a f1 23 42 2c c3 28 59  |F%*61+89:.#B,.(Y|
00001830  31 29 3a cf 23 42 3d 4e  4f 46 25 2a 36 31 2b 31  |1):.#B=NOF%*61+1|
00001840  32 31 3a f1 23 42 2c c3  28 4e 50 25 29 3a 58 31  |21:.#B,.(NP%):X1|
00001850  3d 58 31 2d 31 3a 54 24  3d bd 28 32 35 35 29 3a  |=X1-1:T$=.(255):|
00001860  f2 50 4f 53 49 54 3a cf  23 42 3d 4e 4f 46 25 2a  |.POSIT:.#B=NOF%*|
00001870  36 31 2b 39 33 3a f1 23  42 2c c3 28 58 31 29 3a  |61+93:.#B,.(X1):|
00001880  cf 23 42 3d 4e 4f 46 25  2a 36 31 2b 39 37 3a f1  |.#B=NOF%*61+97:.|
00001890  23 42 2c c3 28 59 31 29  0d 04 e2 0f 4e 4f 46 25  |#B,.(Y1)....NOF%|
000018a0  3d 4e 4f 46 25 2b 31 0d  04 ec 2c cf 23 42 3d 30  |=NOF%+1...,.#B=0|
000018b0  3a f1 23 42 2c c3 28 4e  4f 46 25 29 3a cf 23 42  |:.#B,.(NOF%):.#B|
000018c0  3d 34 35 3a f1 23 42 2c  22 30 22 3a 53 4f 24 3d  |=45:.#B,"0":SO$=|
000018d0  22 30 22 0d 04 f6 1e cf  23 42 3d 31 35 3a f1 23  |"0".....#B=15:.#|
000018e0  42 2c c3 28 52 45 43 25  29 3a 2a 46 58 31 32 2c  |B,.(REC%):*FX12,|
000018f0  30 0d 05 00 55 e7 54 59  24 3d 22 33 22 8c 58 32  |0...U.TY$="3".X2|
00001900  3d 58 31 3a 59 32 3d 59  31 3a ff 22 43 4c 4f 53  |=X1:Y2=Y1:."CLOS|
00001910  45 22 3a f2 4d 55 4c 54  49 43 3a 42 3d ad a4 4d  |E":.MULTIC:B=..M|
00001920  79 46 69 6c 65 28 46 4f  24 29 3a cf 23 42 3d 35  |yFile(FO$):.#B=5|
00001930  36 3a f1 23 42 2c c3 28  4d 43 41 25 29 3a ff 22  |6:.#B,.(MCA%):."|
00001940  43 4c 4f 53 45 22 0d 05  0a 8f 59 3d 59 59 3a 43  |CLOSE"....Y=YY:C|
00001950  46 25 3d 59 58 3a ff 22  43 4c 4f 53 45 22 3a e7  |F%=YX:."CLOSE":.|
00001960  4e 4f 52 25 3e 30 8c ff  22 44 45 4c 45 54 45 20  |NOR%>0.."DELETE |
00001970  3c 44 61 74 61 56 69 73  69 6f 6e 24 44 69 72 3e  |<DataVision$Dir>|
00001980  2e 22 2b 46 49 24 3a ff  22 52 45 4e 41 4d 45 20  |."+FI$:."RENAME |
00001990  3c 44 61 74 61 56 69 73  69 6f 6e 24 44 69 72 3e  |<DataVision$Dir>|
000019a0  2e 22 2b 46 41 24 2b 22  20 3c 44 61 74 61 56 69  |."+FA$+" <DataVi|
000019b0  73 69 6f 6e 24 44 69 72  3e 2e 22 2b 46 49 24 3a  |sion$Dir>."+FI$:|
000019c0  42 3d ad a4 4d 79 46 69  6c 65 28 46 4f 24 29 3a  |B=..MyFile(FO$):|
000019d0  e5 8d 74 7c 42 0d 05 14  13 42 3d ad a4 4d 79 46  |..t|B....B=..MyF|
000019e0  69 6c 65 28 46 4f 24 29  0d 05 1e 09 e5 8d 74 7c  |ile(FO$)......t||
000019f0  42 0d 05 28 6e e7 4e 4f  46 25 3d 31 8c db 3a fb  |B..(n.NOF%=1..:.|
00001a00  31 32 38 3a f1 8a 32 2c  32 29 3b 22 43 41 4e 27  |128:..2,2);"CAN'|
00001a10  54 20 44 45 4c 45 54 45  20 4c 41 53 54 20 46 49  |T DELETE LAST FI|
00001a20  45 4c 44 20 2d 20 55 53  45 20 44 45 4c 45 54 45  |ELD - USE DELETE|
00001a30  20 46 49 4c 45 20 49 4e  53 54 45 41 44 22 3a fb  | FILE INSTEAD":.|
00001a40  46 47 25 3a f5 3a c8 97  20 55 2c 55 2c 42 55 54  |FG%:.:.. U,U,BUT|
00001a50  3a fd 42 55 54 3d 34 3a  db 3a e5 8d 74 7c 42 0d  |:.BUT=4:.:..t|B.|
00001a60  05 32 93 db 3a f1 8a 32  2c 32 29 3b 22 44 65 6c  |.2..:..2,2);"Del|
00001a70  65 74 69 6e 67 20 66 69  65 6c 64 20 22 3b 43 46  |eting field ";CF|
00001a80  25 3b 22 3a 20 22 3b 4d  45 24 28 44 4c 46 25 2d  |%;": ";ME$(DLF%-|
00001a90  35 2c 31 29 3a 45 4d 25  3d 43 46 25 3a 4f 4c 52  |5,1):EM%=CF%:OLR|
00001aa0  45 43 25 3d 52 45 43 25  3a cf 23 42 3d 28 45 4d  |EC%=REC%:.#B=(EM|
00001ab0  25 2d 31 29 2a 36 31 2b  31 30 31 3a e8 23 42 2c  |%-1)*61+101:.#B,|
00001ac0  44 54 59 24 3a cf 23 42  3d 28 45 4d 25 2d 31 29  |DTY$:.#B=(EM%-1)|
00001ad0  2a 36 31 2b 31 30 34 3a  e8 23 42 2c 49 4e 24 3a  |*61+104:.#B,IN$:|
00001ae0  52 45 43 25 3d 52 45 43  25 2d bb 28 49 4e 24 29  |REC%=REC%-.(IN$)|
00001af0  2d 32 0d 05 3c 32 46 41  24 3d 46 49 24 2b 22 46  |-2..<2FA$=FI$+"F|
00001b00  22 3a 44 3d ae a4 4d 79  46 69 6c 65 28 46 41 24  |":D=..MyFile(FA$|
00001b10  29 3a 4c 25 3d 31 3a 4c  4c 25 3d 31 3a 4e 52 45  |):L%=1:LL%=1:NRE|
00001b20  43 25 3d 30 0d 05 46 11  e7 4c 25 3d 45 4d 25 8c  |C%=0..F..L%=EM%.|
00001b30  e5 8d 44 64 45 0d 05 50  4e cf 23 42 3d 28 4c 25  |..DdE..PN.#B=(L%|
00001b40  2d 31 29 2a 36 31 2b 31  30 34 3a e8 23 42 2c 49  |-1)*61+104:.#B,I|
00001b50  4e 24 3a cf 23 44 3d 28  4c 4c 25 2d 31 29 2a 31  |N$:.#D=(LL%-1)*1|
00001b60  30 3a f1 23 44 2c c3 28  4e 52 45 43 25 29 3a 4e  |0:.#D,.(NREC%):N|
00001b70  52 45 43 25 3d 4e 52 45  43 25 2b bb 28 49 4e 24  |REC%=NREC%+.(IN$|
00001b80  29 2b 32 0d 05 5a 2b 4c  25 3d 4c 25 2b 31 3a 4c  |)+2..Z+L%=L%+1:L|
00001b90  4c 25 3d 4c 4c 25 2b 31  3a e7 4c 25 3e 4e 4f 46  |L%=LL%+1:.L%>NOF|
00001ba0  25 8c e5 8d 44 6e 45 3a  8b e5 8d 44 46 45 0d 05  |%...DnE:...DFE..|
00001bb0  64 21 4c 25 3d 4c 25 2b  31 3a e7 4c 25 3e 4e 4f  |d!L%=L%+1:.L%>NO|
00001bc0  46 25 8c e5 8d 44 6e 45  3a 8b e5 8d 44 50 45 0d  |F%...DnE:...DPE.|
00001bd0  05 6e 11 e7 4e 4f 52 25  3d 30 8c e5 8d 64 48 45  |.n..NOR%=0...dHE|
00001be0  0d 05 78 2f 43 3d ad a4  4d 79 46 69 6c 65 28 46  |..x/C=..MyFile(F|
00001bf0  49 24 29 3a 46 42 24 3d  46 49 24 2b 22 47 22 3a  |I$):FB$=FI$+"G":|
00001c00  45 3d ae a4 4d 79 46 69  6c 65 28 46 42 24 29 0d  |E=..MyFile(FB$).|
00001c10  05 82 0f e3 43 52 25 3d  31 b8 4e 4f 52 25 0d 05  |....CR%=1.NOR%..|
00001c20  8c 0e 4c 25 3d 31 3a 4c  4c 25 3d 31 0d 05 96 11  |..L%=1:LL%=1....|
00001c30  e7 4c 25 3d 45 4d 25 8c  e5 8d 74 74 45 0d 05 a0  |.L%=EM%...ttE...|
00001c40  76 cf 23 42 3d 28 4c 25  2d 31 29 2a 36 31 2b 31  |v.#B=(L%-1)*61+1|
00001c50  30 39 3a e8 23 42 2c 54  49 24 3a cf 23 43 3d 28  |09:.#B,TI$:.#C=(|
00001c60  43 52 25 2d 31 29 2a 4f  4c 52 45 43 25 2b bb 28  |CR%-1)*OLREC%+.(|
00001c70  54 49 24 29 3a e8 23 43  2c 4e 24 3a cf 23 44 3d  |TI$):.#C,N$:.#D=|
00001c80  28 4c 4c 25 2d 31 29 2a  31 30 3a e8 23 44 2c 4e  |(LL%-1)*10:.#D,N|
00001c90  54 49 24 3a cf 23 45 3d  28 43 52 25 2d 31 29 2a  |TI$:.#E=(CR%-1)*|
00001ca0  52 45 43 25 2b bb 28 4e  54 49 24 29 3a f1 23 45  |REC%+.(NTI$):.#E|
00001cb0  2c 4e 24 0d 05 aa 2b 4c  25 3d 4c 25 2b 31 3a 4c  |,N$...+L%=L%+1:L|
00001cc0  4c 25 3d 4c 4c 25 2b 31  3a e7 4c 25 3e 4e 4f 46  |L%=LL%+1:.L%>NOF|
00001cd0  25 8c e5 8d 74 7e 45 3a  8b e5 8d 74 56 45 0d 05  |%...t~E:...tVE..|
00001ce0  b4 21 4c 25 3d 4c 25 2b  31 3a e7 4c 25 3e 4e 4f  |.!L%=L%+1:.L%>NO|
00001cf0  46 25 8c e5 8d 74 7e 45  3a 8b e5 8d 74 60 45 0d  |F%...t~E:...t`E.|
00001d00  05 be 25 cf 23 45 3d 28  43 52 25 2a 52 45 43 25  |..%.#E=(CR%*REC%|
00001d10  29 2d 31 30 3a f1 23 45  2c c3 28 43 52 25 29 3a  |)-10:.#E,.(CR%):|
00001d20  ed 43 52 25 0d 05 c8 13  e7 45 4d 25 3d 4e 4f 46  |.CR%.....EM%=NOF|
00001d30  25 8c e5 8d 64 70 45 0d  05 d2 b4 e3 49 3d 45 4d  |%...dpE.....I=EM|
00001d40  25 b8 28 4e 4f 46 25 2d  31 29 3a 50 4f 49 3d 49  |%.(NOF%-1):POI=I|
00001d50  2a 36 31 2b 36 33 3a cf  23 42 3d 50 4f 49 3a e8  |*61+63:.#B=POI:.|
00001d60  23 42 2c 46 4c 24 3a cf  23 42 3d 50 4f 49 2b 32  |#B,FL$:.#B=POI+2|
00001d70  32 3a e8 23 42 2c 5a 41  24 3a cf 23 42 3d 50 4f  |2:.#B,ZA$:.#B=PO|
00001d80  49 2b 32 36 3a e8 23 42  2c 5a 42 24 3a cf 23 42  |I+26:.#B,ZB$:.#B|
00001d90  3d 50 4f 49 2b 33 30 3a  e8 23 42 2c 5a 43 24 3a  |=POI+30:.#B,ZC$:|
00001da0  cf 23 42 3d 50 4f 49 2b  33 34 3a e8 23 42 2c 5a  |.#B=POI+34:.#B,Z|
00001db0  44 24 3a cf 23 42 3d 50  4f 49 2b 34 31 3a e8 23  |D$:.#B=POI+41:.#|
00001dc0  42 2c 49 4e 24 3a cf 23  42 3d 50 4f 49 2b 33 38  |B,IN$:.#B=POI+38|
00001dd0  3a e8 23 42 2c 54 59 24  3a cf 23 42 3d 50 4f 49  |:.#B,TY$:.#B=POI|
00001de0  2b 34 36 3a e8 23 42 2c  54 49 24 0d 05 dc ce cf  |+46:.#B,TI$.....|
00001df0  23 42 3d 50 4f 49 2b 35  38 3a e8 23 42 2c 4e 50  |#B=POI+58:.#B,NP|
00001e00  24 3a 50 4f 49 3d 28 49  2d 31 29 2a 36 31 2b 36  |$:POI=(I-1)*61+6|
00001e10  33 3a cf 23 42 3d 50 4f  49 3a f1 23 42 2c 46 4c  |3:.#B=POI:.#B,FL|
00001e20  24 3a cf 23 42 3d 50 4f  49 2b 32 32 3a f1 23 42  |$:.#B=POI+22:.#B|
00001e30  2c 5a 41 24 3a cf 23 42  3d 50 4f 49 2b 32 36 3a  |,ZA$:.#B=POI+26:|
00001e40  f1 23 42 2c 5a 42 24 3a  cf 23 42 3d 50 4f 49 2b  |.#B,ZB$:.#B=POI+|
00001e50  33 30 3a f1 23 42 2c 5a  43 24 3a cf 23 42 3d 50  |30:.#B,ZC$:.#B=P|
00001e60  4f 49 2b 33 34 3a f1 23  42 2c 5a 44 24 3a cf 23  |OI+34:.#B,ZD$:.#|
00001e70  42 3d 50 4f 49 2b 34 31  3a f1 23 42 2c 49 4e 24  |B=POI+41:.#B,IN$|
00001e80  3a cf 23 42 3d 50 4f 49  2b 33 38 3a f1 23 42 2c  |:.#B=POI+38:.#B,|
00001e90  54 59 24 3a cf 23 42 3d  50 4f 49 2b 34 36 3a f1  |TY$:.#B=POI+46:.|
00001ea0  23 42 2c 54 49 24 3a cf  23 42 3d 50 4f 49 2b 35  |#B,TI$:.#B=POI+5|
00001eb0  38 3a f1 23 42 2c 4e 50  24 0d 05 e6 06 ed 49 0d  |8:.#B,NP$.....I.|
00001ec0  05 f0 a9 4e 4f 46 25 3d  4e 4f 46 25 2d 31 3a cf  |...NOF%=NOF%-1:.|
00001ed0  23 42 3d 30 3a f1 23 42  2c c3 28 4e 4f 46 25 29  |#B=0:.#B,.(NOF%)|
00001ee0  3a cf 23 42 3d 31 35 3a  f1 23 42 2c c3 28 52 45  |:.#B=15:.#B,.(RE|
00001ef0  43 25 29 3a e3 49 3d 31  b8 4e 4f 46 25 3a cf 23  |C%):.I=1.NOF%:.#|
00001f00  44 3d 28 49 2d 31 29 2a  31 30 3a e8 23 44 2c 4e  |D=(I-1)*10:.#D,N|
00001f10  54 49 24 3a cf 23 42 3d  28 49 2d 31 29 2a 36 31  |TI$:.#B=(I-1)*61|
00001f20  2b 31 30 39 3a f1 23 42  2c 4e 54 49 24 3a cf 23  |+109:.#B,NTI$:.#|
00001f30  42 3d 28 49 2d 31 29 2a  36 31 2b 31 31 37 3a f1  |B=(I-1)*61+117:.|
00001f40  23 42 2c 22 30 30 22 3a  ed 49 3a cf 23 42 3d 32  |#B,"00":.I:.#B=2|
00001f50  38 3a f1 23 42 2c 22 30  22 3a cf 23 42 3d 34 38  |8:.#B,"0":.#B=48|
00001f60  3a f1 23 42 2c 22 30 22  0d 05 fa dd cf 23 42 3d  |:.#B,"0".....#B=|
00001f70  34 35 3a f1 23 42 2c 22  30 22 3a 53 4f 24 3d 22  |45:.#B,"0":SO$="|
00001f80  30 22 3a 46 43 24 3d 46  49 24 2b 22 43 22 3a ff  |0":FC$=FI$+"C":.|
00001f90  22 52 45 4d 4f 56 45 20  3c 44 61 74 61 56 69 73  |"REMOVE <DataVis|
00001fa0  69 6f 6e 24 44 69 72 3e  2e 22 2b 46 43 24 3a 46  |ion$Dir>."+FC$:F|
00001fb0  43 24 3d 46 49 24 2b 22  45 22 3a ff 22 43 4c 4f  |C$=FI$+"E":."CLO|
00001fc0  53 45 22 3a ff 22 52 45  4d 4f 56 45 20 3c 44 61  |SE":."REMOVE <Da|
00001fd0  74 61 56 69 73 69 6f 6e  24 44 69 72 3e 2e 22 2b  |taVision$Dir>."+|
00001fe0  46 43 24 3a e7 4e 4f 52  25 3e 30 8c ff 22 44 45  |FC$:.NOR%>0.."DE|
00001ff0  4c 45 54 45 20 3c 44 61  74 61 56 69 73 69 6f 6e  |LETE <DataVision|
00002000  24 44 69 72 3e 2e 22 2b  46 49 24 3a ff 22 52 45  |$Dir>."+FI$:."RE|
00002010  4e 41 4d 45 20 3c 44 61  74 61 56 69 73 69 6f 6e  |NAME <DataVision|
00002020  24 44 69 72 3e 2e 22 2b  46 49 24 2b 22 47 20 3c  |$Dir>."+FI$+"G <|
00002030  44 61 74 61 56 69 73 69  6f 6e 24 44 69 72 3e 2e  |DataVision$Dir>.|
00002040  22 2b 46 49 24 0d 06 04  28 e7 4d 43 41 25 3e 30  |"+FI$...(.MCA%>0|
00002050  8c e5 8d 54 4e 46 3a 8b  42 3d ad a4 4d 79 46 69  |...TNF:.B=..MyFi|
00002060  6c 65 28 46 4f 24 29 3a  e5 8d 74 7c 42 0d 06 0e  |le(FO$):..t|B...|
00002070  24 46 41 24 3d 46 49 24  2b 22 42 22 3a 43 3d ad  |$FA$=FI$+"B":C=.|
00002080  a4 4d 79 46 69 6c 65 28  46 41 24 29 3a 4c 25 3d  |.MyFile(FA$):L%=|
00002090  31 0d 06 18 52 cf 23 43  3d 28 4c 25 2d 31 29 2a  |1...R.#C=(L%-1)*|
000020a0  32 34 35 3a e8 23 43 2c  4d 43 41 24 3a e7 bb 28  |245:.#C,MCA$:..(|
000020b0  4d 43 41 24 29 3e 45 4d  25 8c 4e 4d 43 25 3d bb  |MCA$)>EM%.NMC%=.|
000020c0  28 4d 43 41 24 29 2d 31  3a cf 23 43 3d 28 4c 25  |(MCA$)-1:.#C=(L%|
000020d0  2d 31 29 2a 32 34 35 3a  f1 23 42 2c c3 28 4e 4d  |-1)*245:.#B,.(NM|
000020e0  43 25 29 0d 06 22 21 4c  25 3d 4c 25 2b 31 3a e7  |C%).."!L%=L%+1:.|
000020f0  4c 25 3e 4d 43 41 25 8c  e5 8d 54 6c 46 3a 8b e5  |L%>MCA%...TlF:..|
00002100  8d 54 58 46 0d 06 2c 33  e7 44 54 59 24 3d 22 33  |.TXF..,3.DTY$="3|
00002110  22 8c e5 8d 54 76 46 3a  8b ff 22 43 4c 4f 53 45  |"...TvF:.."CLOSE|
00002120  22 3a 42 3d ad a4 4d 79  46 69 6c 65 28 46 4f 24  |":B=..MyFile(FO$|
00002130  29 3a e5 8d 74 7c 42 0d  06 36 5f e7 4d 43 41 25  |):..t|B..6_.MCA%|
00002140  3d 31 8c d9 23 43 3a ff  22 52 45 4d 4f 56 45 20  |=1..#C:."REMOVE |
00002150  3c 44 61 74 61 56 69 73  69 6f 6e 24 44 69 72 3e  |<DataVision$Dir>|
00002160  2e 22 2b 46 41 24 3a 4d  43 41 25 3d 30 3a 42 3d  |."+FA$:MCA%=0:B=|
00002170  ad a4 4d 79 46 69 6c 65  28 46 4f 24 29 3a cf 23  |..MyFile(FO$):.#|
00002180  42 3d 35 36 3a f1 23 42  2c c3 28 4d 43 41 25 29  |B=56:.#B,.(MCA%)|
00002190  3a e5 8d 74 7c 42 0d 06  40 08 4c 25 3d 31 0d 06  |:..t|B..@.L%=1..|
000021a0  4a 3d cf 23 43 3d 28 4c  25 2d 31 29 2a 32 34 35  |J=.#C=(L%-1)*245|
000021b0  3a e8 23 43 2c 4d 43 41  24 3a e7 4d 43 41 24 3d  |:.#C,MCA$:.MCA$=|
000021c0  c3 28 45 4d 25 29 8c e5  8d 44 54 46 3a 8b 4c 25  |.(EM%)...DTF:.L%|
000021d0  3d 4c 25 2b 31 3a e5 8d  44 4a 46 0d 06 54 4b e7  |=L%+1:..DJF..TK.|
000021e0  4c 25 3d 4d 43 41 25 8c  4d 43 41 25 3d 4d 43 41  |L%=MCA%.MCA%=MCA|
000021f0  25 2d 31 3a 8b ff 22 43  4c 4f 53 45 22 3a 42 3d  |%-1:.."CLOSE":B=|
00002200  ad a4 4d 79 46 69 6c 65  28 46 4f 24 29 3a cf 23  |..MyFile(FO$):.#|
00002210  42 3d 35 36 3a f1 23 42  2c c3 28 4d 43 41 25 29  |B=56:.#B,.(MCA%)|
00002220  3a e5 8d 74 7c 42 0d 06  5e a9 cf 23 43 3d 28 4d  |:..t|B..^..#C=(M|
00002230  43 41 25 2d 31 29 2a 32  34 35 3a e8 23 43 2c 4d  |CA%-1)*245:.#C,M|
00002240  43 31 24 3a cf 23 43 3d  28 4d 43 41 25 2d 31 29  |C1$:.#C=(MCA%-1)|
00002250  2a 32 34 35 2b 35 3a e8  23 43 2c 4d 43 32 24 3a  |*245+5:.#C,MC2$:|
00002260  cf 23 43 3d 28 4c 25 2d  31 29 2a 32 34 35 3a f1  |.#C=(L%-1)*245:.|
00002270  23 43 2c 4d 43 31 24 3a  cf 23 43 3d 28 4c 25 2d  |#C,MC1$:.#C=(L%-|
00002280  31 29 2a 32 34 35 2b 35  3a f1 23 43 2c 4d 43 32  |1)*245+5:.#C,MC2|
00002290  24 3a 4d 43 41 25 3d 4d  43 41 25 2d 31 3a ff 22  |$:MCA%=MCA%-1:."|
000022a0  43 4c 4f 53 45 22 3a 42  3d ad a4 4d 79 46 69 6c  |CLOSE":B=..MyFil|
000022b0  65 28 46 4f 24 29 3a cf  23 42 3d 35 36 3a f1 23  |e(FO$):.#B=56:.#|
000022c0  42 2c c3 28 4d 43 41 25  29 3a e5 8d 74 7c 42 0d  |B,.(MCA%):..t|B.|
000022d0  06 68 a1 f1 8a 32 2c 31  38 29 3b 22 43 72 65 61  |.h...2,18);"Crea|
000022e0  74 69 6f 6e 20 64 61 74  65 3a 20 22 3b 43 44 41  |tion date: ";CDA|
000022f0  24 3b 8a 32 2c 31 39 29  3b 22 46 69 65 6c 64 73  |$;.2,19);"Fields|
00002300  3a 20 22 3b 4e 4f 46 25  3b 8a 32 2c 32 30 29 3b  |: ";NOF%;.2,20);|
00002310  22 52 65 63 6f 72 64 73  3a 20 22 3b 4e 4f 52 25  |"Records: ";NOR%|
00002320  3b 8a 32 2c 32 31 29 3b  22 4d 61 63 72 6f 73 3a  |;.2,21);"Macros:|
00002330  20 22 3b 56 41 25 3b 8a  32 2c 32 32 29 3b 22 52  | ";VA%;.2,22);"R|
00002340  65 6c 61 74 69 6f 6e 73  3a 20 22 3b 52 45 25 3b  |elations: ";RE%;|
00002350  8a 32 2c 32 33 29 3b 22  4d 75 6c 74 69 70 6c 65  |.2,23);"Multiple|
00002360  20 43 68 6f 69 63 65 73  3a 20 22 3b 4d 43 41 25  | Choices: ";MCA%|
00002370  0d 06 72 2f f1 8a 32 2c  32 34 29 3b 22 53 6f 72  |..r/..2,24);"Sor|
00002380  74 65 64 3f 3a 20 22 3b  3a e7 53 4f 24 3d 22 30  |ted?: ";:.SO$="0|
00002390  22 8c f1 22 4e 6f 22 3a  8b f1 22 59 65 73 22 0d  |".."No":.."Yes".|
000023a0  06 7c 83 f1 8a 34 30 2c  31 38 29 3b 22 52 65 63  |.|...40,18);"Rec|
000023b0  6f 72 64 20 4c 65 6e 67  74 68 20 28 62 79 74 65  |ord Length (byte|
000023c0  73 29 3a 20 22 3b 52 45  43 25 3b 8a 34 30 2c 31  |s): ";REC%;.40,1|
000023d0  39 29 3b 22 46 69 6c 65  20 4c 65 6e 67 74 68 20  |9);"File Length |
000023e0  28 62 79 74 65 73 29 3a  20 22 3b 28 52 45 43 25  |(bytes): ";(REC%|
000023f0  2a 4e 4f 52 25 29 3b 8a  34 30 2c 32 30 29 3b 22  |*NOR%);.40,20);"|
00002400  44 69 63 74 69 6f 6e 61  72 79 20 28 62 79 74 65  |Dictionary (byte|
00002410  73 29 3a 20 22 3b 36 33  2b 28 36 31 2a 4e 4f 46  |s): ";63+(61*NOF|
00002420  25 29 0d 06 86 3f f5 3a  c8 97 20 55 2c 55 2c 42  |%)...?.:.. U,U,B|
00002430  55 54 3a fd 42 55 54 3d  30 3a f5 3a c8 97 20 55  |UT:.BUT=0:.:.. U|
00002440  2c 55 2c 42 55 54 3a fd  42 55 54 3e 30 3a f2 42  |,U,BUT:.BUT>0:.B|
00002450  4f 54 43 4c 52 3a 59 50  3d 59 58 3a e5 8d 64 5a  |OTCLR:YP=YX:..dZ|
00002460  42 0d 06 90 08 dd f2 53  43 0d 06 9a 35 fb 31 32  |B......SC...5.12|
00002470  38 3a f1 8a 30 2c 30 29  3b c4 38 30 2c bd 28 32  |8:..0,0);.80,.(2|
00002480  34 31 29 29 3b 8a 30 2c  32 32 29 3b c4 38 30 2c  |41));.0,22);.80,|
00002490  bd 28 32 34 31 29 29 3a  fb 46 47 25 3a e1 0d 06  |.(241)):.FG%:...|
000024a0  a4 76 dd f2 50 4f 53 49  54 3a 4e 50 25 3d 30 3a  |.v..POSIT:NP%=0:|
000024b0  c8 97 20 b8 20 32 32 2c  39 38 30 3a ef 35 3a e6  |.. . 22,980:.5:.|
000024c0  33 2c 31 32 30 3a c8 97  20 78 31 2c 79 31 2c 62  |3,120:.. x1,y1,b|
000024d0  75 74 3a 78 31 3d a8 28  78 31 2f 31 36 29 3a 79  |ut:x1=.(x1/16):y|
000024e0  31 3d 33 31 2d a8 28 79  31 2f 33 32 29 3a 58 50  |1=31-.(y1/32):XP|
000024f0  3d 78 31 3a 59 50 3d 79  31 3a ec 20 28 78 31 2a  |=x1:YP=y1:. (x1*|
00002500  31 36 29 2c 31 30 32 33  2d 28 79 31 2a 33 32 29  |16),1023-(y1*32)|
00002510  3a f1 54 24 0d 06 ae 22  c8 97 20 53 2c 53 2c 42  |:.T$...".. S,S,B|
00002520  55 54 3a e7 42 55 54 3d  30 8c e5 8d 74 78 46 3a  |UT:.BUT=0...txF:|
00002530  8b e5 8d 74 6e 46 0d 06  b8 38 c8 97 20 58 31 2c  |...tnF...8.. X1,|
00002540  59 31 2c 42 55 54 3a 58  31 3d a8 28 58 31 2f 31  |Y1,BUT:X1=.(X1/1|
00002550  36 29 3a 59 31 3d 33 31  2d a8 28 59 31 2f 33 32  |6):Y1=31-.(Y1/32|
00002560  29 3a e7 59 31 3e 32 31  8c 59 31 3d 32 31 0d 06  |):.Y1>21.Y1=21..|
00002570  c2 20 e7 58 31 3e 28 38  30 2d a9 28 54 24 29 29  |. .X1>(80-.(T$))|
00002580  8c 58 31 3d 28 38 30 2d  a9 28 54 24 29 29 0d 06  |.X1=(80-.(T$))..|
00002590  cc 0e e7 59 31 3c 31 8c  59 31 3d 31 0d 06 d6 10  |...Y1<1.Y1=1....|
000025a0  e7 42 55 54 3e 30 8c e5  8d 64 74 46 0d 06 e0 41  |.BUT>0...dtF...A|
000025b0  e7 20 58 50 3d 58 31 20  80 20 59 50 3d 59 31 20  |. XP=X1 . YP=Y1 |
000025c0  8c e5 8d 74 78 46 3a 8b  ec 28 58 50 2a 31 36 29  |...txF:..(XP*16)|
000025d0  2c 31 30 32 33 2d 28 59  50 2a 33 32 29 3a f1 54  |,1023-(YP*32):.T|
000025e0  24 3a 58 50 3d 58 31 3a  59 50 3d 59 31 0d 06 ea  |$:XP=X1:YP=Y1...|
000025f0  47 ec 28 58 31 2a 31 36  29 2c 31 30 32 33 2d 28  |G.(X1*16),1023-(|
00002600  59 31 2a 33 32 29 3a f1  54 24 3a ef 34 3a f1 8a  |Y1*32):.T$:.4:..|
00002610  32 2c 32 38 29 3b 58 31  3b 22 20 22 3b 8a 37 2c  |2,28);X1;" ";.7,|
00002620  32 38 29 3b 59 31 3b 22  20 22 3a ef 35 3a e6 33  |28);Y1;" ":.5:.3|
00002630  2c 31 32 30 0d 06 f4 10  e7 42 55 54 3d 34 8c e5  |,120.....BUT=4..|
00002640  8d 74 5e 47 0d 06 fe 09  e5 8d 74 78 46 0d 07 08  |.t^G......txF...|
00002650  48 e6 34 3a ec 28 58 50  2a 31 36 29 2c 31 30 32  |H.4:.(XP*16),102|
00002660  33 2d 28 59 50 2a 33 32  29 3a f1 54 24 3a ef 34  |3-(YP*32):.T$:.4|
00002670  3a da 3a db 3a db 3a e7  4e 50 25 3d 30 8c 4e 50  |:.:.:.:.NP%=0.NP|
00002680  25 3d 31 3a 50 25 3d 50  25 2b 31 3a f2 53 43 3a  |%=1:P%=P%+1:.SC:|
00002690  e5 8d 54 5c 47 0d 07 12  22 e7 4e 50 25 3d 31 8c  |..T\G...".NP%=1.|
000026a0  4e 50 25 3d 30 3a 50 25  3d 50 25 2d 31 3a f2 53  |NP%=0:P%=P%-1:.S|
000026b0  43 3a e5 8d 54 5c 47 0d  07 1c 2e ef 35 3a e6 33  |C:..T\G.....5:.3|
000026c0  2c 31 32 30 3a c8 97 20  78 31 2c 79 31 2c 42 55  |,120:.. x1,y1,BU|
000026d0  54 3a e7 42 55 54 3d 30  8c e5 8d 74 78 46 3a 8b  |T:.BUT=0...txF:.|
000026e0  e5 8d 54 5c 47 0d 07 26  10 e7 59 31 3d 32 31 8c  |..T\G..&..Y1=21.|
000026f0  e5 8d 74 78 46 0d 07 30  18 f1 8a 58 31 2c 59 31  |..txF..0...X1,Y1|
00002700  29 3b c4 a9 28 54 24 29  2c 22 20 22 29 0d 07 3a  |);..(T$)," ")..:|
00002710  11 59 31 3d 59 31 2b 31  3a e5 8d 74 78 46 0d 07  |.Y1=Y1+1:..txF..|
00002720  44 0f e7 59 31 3d 31 8c  e5 8d 74 78 46 0d 07 4e  |D..Y1=1...txF..N|
00002730  18 f1 8a 58 31 2c 59 31  29 3b c4 a9 28 54 24 29  |...X1,Y1);..(T$)|
00002740  2c 22 20 22 29 0d 07 58  11 59 31 3d 59 31 2d 31  |," ")..X.Y1=Y1-1|
00002750  3a e5 8d 74 78 46 0d 07  62 0f e7 58 31 3d 31 8c  |:..txF..b..X1=1.|
00002760  e5 8d 74 78 46 0d 07 6c  18 f1 8a 58 31 2c 59 31  |..txF..l...X1,Y1|
00002770  29 3b c4 a9 28 54 24 29  2c 22 20 22 29 0d 07 76  |);..(T$)," ")..v|
00002780  11 58 31 3d 58 31 2d 31  3a e5 8d 74 78 46 0d 07  |.X1=X1-1:..txF..|
00002790  80 16 e7 58 31 3d 38 30  2d a9 28 54 24 29 8c e5  |...X1=80-.(T$)..|
000027a0  8d 74 78 46 0d 07 8a 18  f1 8a 58 31 2c 59 31 29  |.txF......X1,Y1)|
000027b0  3b c4 a9 28 54 24 29 2c  22 20 22 29 0d 07 94 11  |;..(T$)," ")....|
000027c0  58 31 3d 58 31 2b 31 3a  e5 8d 74 78 46 0d 07 9e  |X1=X1+1:..txF...|
000027d0  33 ef 34 3a f1 8a 58 31  2c 59 31 29 3b 54 24 3a  |3.4:..X1,Y1);T$:|
000027e0  ff 22 46 58 31 35 2c 30  22 3a f5 3a c8 97 20 55  |."FX15,0":.:.. U|
000027f0  2c 55 2c 42 55 54 3a fd  20 42 55 54 3d 30 3a e1  |,U,BUT:. BUT=0:.|
00002800  0d 07 a8 0f ff 22 46 58  31 35 2c 30 22 3a e1 0d  |....."FX15,0":..|
00002810  07 b2 5a dd f2 4d 55 4c  54 49 43 3a 53 4c 25 3d  |..Z..MULTIC:SL%=|
00002820  30 3a 4d 43 24 3d 22 22  3a e7 4d 43 41 25 3d 30  |0:MC$="":.MCA%=0|
00002830  8c 46 42 24 3d 46 49 24  2b 22 42 22 3a 46 3d ae  |.FB$=FI$+"B":F=.|
00002840  a4 4d 79 46 69 6c 65 28  46 42 24 29 3a 8b 46 42  |.MyFile(FB$):.FB|
00002850  24 3d 46 49 24 2b 22 42  22 3a 46 3d ad a4 4d 79  |$=FI$+"B":F=..My|
00002860  46 69 6c 65 28 46 42 24  29 0d 07 bc 48 f1 8a 30  |File(FB$)...H..0|
00002870  2c 32 35 29 3b 22 45 6e  74 65 72 20 4d 75 6c 74  |,25);"Enter Mult|
00002880  69 70 6c 65 20 43 68 6f  69 63 65 20 73 65 6c 65  |iple Choice sele|
00002890  63 74 69 6f 6e 73 20 66  6f 72 20 66 69 65 6c 64  |ctions for field|
000028a0  20 22 3b 4e 4f 46 25 3b  22 3a 20 22 3b 4e 46 4c  | ";NOF%;": ";NFL|
000028b0  24 0d 07 c6 2e 59 39 3d  59 31 2b 31 3a f1 8a 58  |$....Y9=Y1+1:..X|
000028c0  32 2c 59 31 29 3b bd 28  31 35 34 29 3b c4 31 39  |2,Y1);.(154);.19|
000028d0  2c bd 28 31 35 39 29 29  3b bd 28 31 35 38 29 0d  |,.(159));.(158).|
000028e0  07 d0 0b 2a 46 58 31 32  2c 30 0d 07 da 48 f1 8a  |...*FX12,0...H..|
000028f0  58 32 2c 59 39 29 3b bd  28 31 35 35 29 3b c4 31  |X2,Y9);.(155);.1|
00002900  39 2c 22 20 22 29 3b bd  28 31 35 37 29 3a 59 3d  |9," ");.(157):Y=|
00002910  59 39 3a 58 3d 58 32 2b  34 3a 4c 25 3d 31 36 3a  |Y9:X=X2+4:L%=16:|
00002920  f2 54 45 58 54 3a e7 54  24 3d 22 22 8c e5 8d 64  |.TEXT:.T$=""...d|
00002930  6e 47 0d 07 e4 44 4d 43  24 3d 4d 43 24 2b 54 24  |nG...DMC$=MC$+T$|
00002940  2b bd 28 32 35 34 29 3a  53 4c 25 3d 53 4c 25 2b  |+.(254):SL%=SL%+|
00002950  31 3a e7 53 4c 25 3d 31  34 8c 59 39 3d 59 39 2b  |1:.SL%=14.Y9=Y9+|
00002960  31 3a e5 8d 64 6e 47 3a  8b 59 39 3d 59 39 2b 31  |1:..dnG:.Y9=Y9+1|
00002970  3a e5 8d 64 5a 47 0d 07  ee 10 e7 53 4c 25 3d 30  |:..dZG.....SL%=0|
00002980  8c e5 8d 64 46 47 0d 07  f8 66 f1 8a 58 32 2c 59  |...dFG...f..X2,Y|
00002990  39 29 3b bd 28 31 35 36  29 3b c4 31 39 2c bd 28  |9);.(156);.19,.(|
000029a0  31 36 30 29 29 3b bd 28  31 36 31 29 3a cf 23 46  |160));.(161):.#F|
000029b0  3d 28 4d 43 41 25 2a 32  34 35 29 3a f1 23 46 2c  |=(MCA%*245):.#F,|
000029c0  c3 28 4e 4f 46 25 29 3a  cf 23 46 3d 28 4d 43 41  |.(NOF%):.#F=(MCA|
000029d0  25 2a 32 34 35 29 2b 35  3a f1 23 46 2c 4d 43 24  |%*245)+5:.#F,MC$|
000029e0  3a 4d 43 41 25 3d 4d 43  41 25 2b 31 0d 08 02 16  |:MCA%=MCA%+1....|
000029f0  f1 8a 30 2c 32 35 29 3b  c4 38 30 2c 22 20 22 29  |..0,25);.80," ")|
00002a00  3a e1 0d 08 0c 0a dd f2  54 59 49 4e 0d 08 16 13  |:.......TYIN....|
00002a10  e7 54 59 24 3d 22 33 22  8c 49 4e 25 3d 31 36 0d  |.TY$="3".IN%=16.|
00002a20  08 20 12 e7 54 59 24 3d  22 34 22 8c 49 4e 25 3d  |. ..TY$="4".IN%=|
00002a30  33 0d 08 2a 12 e7 54 59  24 3d 22 35 22 8c 49 4e  |3..*..TY$="5".IN|
00002a40  25 3d 38 0d 08 34 12 e7  54 59 24 3d 22 36 22 8c  |%=8..4..TY$="6".|
00002a50  49 4e 25 3d 35 0d 08 3e  12 e7 54 59 24 3d 22 37  |IN%=5..>..TY$="7|
00002a60  22 8c 49 4e 25 3d 39 0d  08 48 13 e7 54 59 24 3d  |".IN%=9..H..TY$=|
00002a70  22 38 22 8c 49 4e 25 3d  31 38 0d 08 52 13 e7 54  |"8".IN%=18..R..T|
00002a80  59 24 3d 22 30 22 8c 49  4e 25 3d 31 38 0d 08 5c  |Y$="0".IN%=18..\|
00002a90  05 e1 0d 08 66 29 dd f2  46 53 45 4c 3a f7 8d 44  |....f)..FSEL:..D|
00002aa0  70 48 3a e3 4a 3d 31 b8  39 3a f3 4d 45 4e 24 28  |pH:.J=1.9:.MEN$(|
00002ab0  4a 29 3a ed 4a 3a e5 8d  44 7a 48 0d 08 70 8d dc  |J):.J:..DzH..p..|
00002ac0  22 41 3a 20 41 6c 70 68  61 6e 75 6d 65 72 69 63  |"A: Alphanumeric|
00002ad0  22 2c 22 42 3a 20 43 61  70 69 74 61 6c 20 41 6c  |","B: Capital Al|
00002ae0  70 68 61 22 2c 22 43 3a  20 4d 75 6c 74 69 70 6c  |pha","C: Multipl|
00002af0  65 20 43 68 6f 69 63 65  22 2c 22 44 3a 20 4c 6f  |e Choice","D: Lo|
00002b00  67 69 63 61 6c 20 59 65  73 20 6f 72 20 4e 6f 22  |gical Yes or No"|
00002b10  2c 22 45 3a 20 44 61 74  65 22 2c 22 46 3a 20 54  |,"E: Date","F: T|
00002b20  69 6d 65 22 2c 22 47 3a  20 49 6e 74 65 67 65 72  |ime","G: Integer|
00002b30  22 2c 22 48 3a 20 52 65  61 6c 22 2c 22 49 3a 20  |","H: Real","I: |
00002b40  46 6f 72 6d 75 6c 61 22  0d 08 7a 7c f1 8a 32 2c  |Formula"..z|..2,|
00002b50  36 29 3b 22 53 65 6c 65  63 74 20 66 69 65 6c 64  |6);"Select field|
00002b60  20 74 79 70 65 3a 20 22  3a 58 3d 32 31 3a 59 3d  | type: ":X=21:Y=|
00002b70  36 3a 4c 25 3d 39 3a 57  25 3d 32 33 3a f2 4c 57  |6:L%=9:W%=23:.LW|
00002b80  4e 3a 58 3d 32 32 3a 59  3d 37 3a 4c 25 3d 39 3a  |N:X=22:Y=7:L%=9:|
00002b90  f2 53 45 4c 45 43 54 3a  54 59 24 3d c3 28 97 28  |.SELECT:TY$=.(.(|
00002ba0  c0 4d 45 4e 24 28 53 45  4c 25 29 2c 31 29 29 2d  |.MEN$(SEL%),1))-|
00002bb0  36 34 29 3a e7 54 59 24  3d 22 39 22 8c 54 59 24  |64):.TY$="9".TY$|
00002bc0  3d 22 30 22 0d 08 84 05  e1 0d 08 8e bb f1 8a 35  |="0"...........5|
00002bd0  30 2c 36 29 3b 22 53 68  69 66 74 2d 66 30 3a 20  |0,6);"Shift-f0: |
00002be0  51 75 69 74 22 3b 8a 35  30 2c 37 29 3b 22 53 68  |Quit";.50,7);"Sh|
00002bf0  69 66 74 2d 66 31 3a 20  50 72 65 76 69 6f 75 73  |ift-f1: Previous|
00002c00  20 42 6c 6f 63 6b 22 3b  8a 35 30 2c 38 29 3b 22  | Block";.50,8);"|
00002c10  53 68 69 66 74 2d 66 32  3a 20 4e 65 78 74 20 42  |Shift-f2: Next B|
00002c20  6c 6f 63 6b 22 3b 8a 35  30 2c 39 29 3b 22 53 68  |lock";.50,9);"Sh|
00002c30  69 66 74 2d 66 33 3a 20  50 72 69 6e 74 20 46 69  |ift-f3: Print Fi|
00002c40  65 6c 64 73 22 3b 8a 35  30 2c 31 30 29 3b 22 53  |elds";.50,10);"S|
00002c50  68 69 66 74 2d 66 34 3a  20 41 64 64 20 46 69 65  |hift-f4: Add Fie|
00002c60  6c 64 22 3b 8a 35 30 2c  31 31 29 3b 22 53 68 69  |ld";.50,11);"Shi|
00002c70  66 74 2d 66 35 3a 20 44  65 6c 65 74 65 20 46 69  |ft-f5: Delete Fi|
00002c80  65 6c 64 22 0d 08 98 51  f1 8a 35 30 2c 31 32 29  |eld"...Q..50,12)|
00002c90  3b 22 53 68 69 66 74 2d  66 36 3a 20 52 65 6e 61  |;"Shift-f6: Rena|
00002ca0  6d 65 22 3b 8a 35 30 2c  31 33 29 3b 22 53 68 69  |me";.50,13);"Shi|
00002cb0  66 74 2d 66 37 3a 20 4d  6f 76 65 22 3b 8a 35 30  |ft-f7: Move";.50|
00002cc0  2c 31 34 29 3b 22 53 68  69 66 74 2d 66 38 3a 20  |,14);"Shift-f8: |
00002cd0  49 6e 66 6f 22 0d 08 a2  2e dd f2 53 45 4c 45 43  |Info"......SELEC|
00002ce0  54 3a 45 44 25 3d 59 2b  28 4c 25 2d 31 29 3a 42  |T:ED%=Y+(L%-1):B|
00002cf0  47 25 3d 58 2b 28 57 25  2d 31 29 3a 53 53 45 4c  |G%=X+(W%-1):SSEL|
00002d00  25 3d 31 0d 08 ac 40 e3  49 3d 31 b8 4c 25 3a f1  |%=1...@.I=1.L%:.|
00002d10  8a 58 2c 59 2b 28 49 2d  31 29 29 3b 22 20 20 22  |.X,Y+(I-1));"  "|
00002d20  3b 4d 45 4e 24 28 49 29  3b c4 28 57 25 2d 32 29  |;MEN$(I);.(W%-2)|
00002d30  2d a9 28 4d 45 4e 24 28  49 29 29 2c 22 20 22 29  |-.(MEN$(I))," ")|
00002d40  3a ed 49 0d 08 b6 2b c8  97 20 58 50 2c 59 50 2c  |:.I...+.. XP,YP,|
00002d50  42 55 54 3a 58 50 3d a8  28 58 50 2f 31 36 29 3a  |BUT:XP=.(XP/16):|
00002d60  59 50 3d 33 31 2d a8 28  59 50 2f 33 32 29 0d 08  |YP=31-.(YP/32)..|
00002d70  c0 18 e7 59 50 3c 59 20  84 20 59 50 3e 45 44 25  |...YP<Y . YP>ED%|
00002d80  8c e5 8d 74 6c 48 0d 08  ca 18 e7 58 50 3c 58 20  |...tlH.....XP<X |
00002d90  84 20 58 50 3e 42 47 25  8c e5 8d 74 6c 48 0d 08  |. XP>BG%...tlH..|
00002da0  d4 74 53 45 4c 25 3d 28  59 50 2d 59 29 2b 31 3a  |.tSEL%=(YP-Y)+1:|
00002db0  f2 43 4c 45 41 3a fb 20  31 33 31 3a fb 31 32 37  |.CLEA:. 131:.127|
00002dc0  3a f1 8a 58 2c 59 50 29  3b 22 20 20 22 3b 4d 45  |:..X,YP);"  ";ME|
00002dd0  4e 24 28 53 45 4c 25 29  3b c4 28 57 25 2d 32 29  |N$(SEL%);.(W%-2)|
00002de0  2d a9 28 4d 45 4e 24 28  53 45 4c 25 29 29 2c 22  |-.(MEN$(SEL%)),"|
00002df0  20 22 29 3a fb 20 46 47  25 3a fb 31 32 37 3a e7  | "):. FG%:.127:.|
00002e00  42 55 54 3d 34 8c e5 8d  64 5e 48 3a 8b e5 8d 74  |BUT=4...d^H:...t|
00002e10  76 48 0d 08 de 08 ef 37  3a e1 0d 08 e8 54 dd f2  |vH.....7:....T..|
00002e20  43 4c 45 41 3a e7 53 53  45 4c 25 3c 3e 53 45 4c  |CLEA:.SSEL%<>SEL|
00002e30  25 8c e3 49 3d 31 b8 4c  25 3a f1 8a 58 2c 59 2b  |%..I=1.L%:..X,Y+|
00002e40  28 49 2d 31 29 29 3b 22  20 20 22 3b 4d 45 4e 24  |(I-1));"  ";MEN$|
00002e50  28 49 29 3b c4 28 57 25  2d 32 29 2d a9 28 4d 45  |(I);.(W%-2)-.(ME|
00002e60  4e 24 28 49 29 29 2c 22  20 22 29 3a ed 49 0d 08  |N$(I))," "):.I..|
00002e70  f2 10 53 53 45 4c 25 3d  53 45 4c 25 3a e1 0d 08  |..SSEL%=SEL%:...|
00002e80  fc 05 fa 0d 09 06 05 20  0d 09 10 0c ff 22 43 4c  |....... ....."CL|
00002e90  4f 53 45 22 0d 09 1a 09  f2 51 75 69 74 0d 09 24  |OSE".....Quit..$|
00002ea0  05 20 0d 09 2e 1b ef 33  2c 32 36 3a d9 20 23 30  |. .....3,26:. #0|
00002eb0  3a e7 9f 3d 31 37 8c 20  f2 51 75 69 74 0d 09 38  |:..=17. .Quit..8|
00002ec0  10 e7 67 6f 25 3d 30 8c  e5 8d 44 60 49 0d 09 42  |..go%=0...D`I..B|
00002ed0  0b 46 47 25 3d 31 38 30  0d 09 4c 52 f2 45 52 57  |.FG%=180..LR.ERW|
00002ee0  49 4e 3a fb 31 38 30 3a  f1 8a 32 30 2c 31 32 29  |IN:.180:..20,12)|
00002ef0  3b 22 53 79 73 74 65 6d  20 52 65 70 6f 72 74 65  |;"System Reporte|
00002f00  64 20 45 72 72 6f 72 20  23 22 3b 9f 3b 22 3a 22  |d Error #";.;":"|
00002f10  3b 8a 32 30 2c 31 34 29  3b f6 24 3a ef 37 3a fb  |;.20,14);.$:.7:.|
00002f20  46 47 25 3a f2 4d 4b 4c  49 4b 0d 09 56 19 ff 22  |FG%:.MKLIK..V.."|
00002f30  43 4c 4f 53 45 22 3a ef  33 3a ef 32 36 3a e5 8d  |CLOSE":.3:.26:..|
00002f40  74 7c 42 0d 09 60 7b f2  45 52 57 49 4e 3a fb 31  |t|B..`{.ERWIN:.1|
00002f50  38 30 3a f1 8a 32 30 2c  31 32 29 3b 22 43 61 6e  |80:..20,12);"Can|
00002f60  6e 6f 74 20 72 65 61 64  20 74 68 65 20 66 69 6c  |not read the fil|
00002f70  65 20 3a 22 3b 46 49 24  3b 8a 32 30 2c 31 34 29  |e :";FI$;.20,14)|
00002f80  3b 22 28 64 6f 65 73 20  6e 6f 74 20 65 78 69 73  |;"(does not exis|
00002f90  74 2f 6e 6f 74 20 61 20  44 61 74 61 56 69 73 69  |t/not a DataVisi|
00002fa0  6f 6e 20 66 69 6c 65 29  22 3a fb 46 47 25 3a ef  |on file)":.FG%:.|
00002fb0  37 3a f2 4d 4b 4c 49 4b  3a e5 8d 54 46 49 0d 09  |7:.MKLIK:..TFI..|
00002fc0  6a 0a dd f2 46 50 4e 54  0d 09 74 35 49 4e 4e 25  |j...FPNT..t5INN%|
00002fd0  3d a9 28 4e 24 29 3a 4c  45 25 3d 38 30 2d 58 35  |=.(N$):LE%=80-X5|
00002fe0  3a e7 49 4e 4e 25 3c 3d  4c 45 25 8c f1 8a 58 35  |:.INN%<=LE%...X5|
00002ff0  2c 59 35 29 3b 4e 24 3a  e5 8d 74 48 49 0d 09 7e  |,Y5);N$:..tHI..~|
00003000  72 4e 4c 44 25 3d 49 4e  4e 25 20 81 20 4c 45 25  |rNLD%=INN% . LE%|
00003010  3a 4c 42 25 3d 49 4e 4e  25 20 83 20 4c 45 25 3a  |:LB%=INN% . LE%:|
00003020  e3 4a 25 3d 31 b8 4e 4c  44 25 3a f1 8a 58 35 2c  |.J%=1.NLD%:..X5,|
00003030  59 35 2b 28 4a 25 2d 31  29 29 3b c1 4e 24 2c 28  |Y5+(J%-1));.N$,(|
00003040  28 4a 25 2d 31 29 2a 4c  45 25 29 2b 31 2c 4c 45  |(J%-1)*LE%)+1,LE|
00003050  25 29 3a ed 4a 25 3a f1  8a 58 35 2c 59 35 2b 28  |%):.J%:..X5,Y5+(|
00003060  4a 25 2d 31 29 29 3b c2  4e 24 2c 4c 42 25 29 0d  |J%-1));.N$,LB%).|
00003070  09 88 05 e1 0d 09 92 36  dd f2 46 50 52 49 4e 54  |.......6..FPRINT|
00003080  3a 4c 45 25 3d 38 30 2d  58 35 3a e7 49 4e 25 3c  |:LE%=80-X5:.IN%<|
00003090  3d 4c 45 25 8c f1 8a 58  35 2c 59 35 29 3b 89 28  |=LE%...X5,Y5);.(|
000030a0  49 4e 25 29 3a e5 8d 74  66 49 0d 09 9c 5d 4e 4c  |IN%):..tfI...]NL|
000030b0  44 25 3d 49 4e 25 20 81  20 4c 45 25 3a 4c 42 25  |D%=IN% . LE%:LB%|
000030c0  3d 49 4e 25 20 83 20 4c  45 25 3a e3 4a 25 3d 31  |=IN% . LE%:.J%=1|
000030d0  b8 4e 4c 44 25 3a f1 8a  58 35 2c 59 35 2b 28 4a  |.NLD%:..X5,Y5+(J|
000030e0  25 2d 31 29 29 3b 89 28  4c 45 25 29 3a ed 4a 25  |%-1));.(LE%):.J%|
000030f0  3a f1 8a 58 35 2c 59 35  2b 28 4a 25 2d 31 29 29  |:..X5,Y5+(J%-1))|
00003100  3b 89 28 4c 42 25 29 0d  09 a6 05 e1 0d 09 b0 28  |;.(LB%)........(|
00003110  dd f2 46 43 48 45 4b 3a  59 4e 25 3d 30 3a e7 54  |..FCHEK:YN%=0:.T|
00003120  59 24 3d 22 33 22 20 80  20 58 31 3e 35 39 8c 59  |Y$="3" . X1>59.Y|
00003130  4e 25 3d 31 0d 09 ba 1b  e7 54 59 24 3d 22 34 22  |N%=1.....TY$="4"|
00003140  20 80 20 58 31 3e 37 37  20 8c 59 4e 25 3d 31 0d  | . X1>77 .YN%=1.|
00003150  09 c4 1b e7 54 59 24 3d  22 35 22 20 80 20 58 31  |....TY$="5" . X1|
00003160  3e 37 32 20 8c 59 4e 25  3d 31 0d 09 ce 1b e7 54  |>72 .YN%=1.....T|
00003170  59 24 3d 22 36 22 20 80  20 58 31 3e 37 35 20 8c  |Y$="6" . X1>75 .|
00003180  59 4e 25 3d 31 0d 09 d8  1b e7 54 59 24 3d 22 37  |YN%=1.....TY$="7|
00003190  22 20 80 20 58 31 3e 37  31 20 8c 59 4e 25 3d 31  |" . X1>71 .YN%=1|
000031a0  0d 09 e2 1b e7 54 59 24  3d 22 38 22 20 80 20 58  |.....TY$="8" . X|
000031b0  31 3e 36 32 20 8c 59 4e  25 3d 31 0d 09 ec 1b e7  |1>62 .YN%=1.....|
000031c0  54 59 24 3d 22 30 22 20  80 20 58 31 3e 36 32 20  |TY$="0" . X1>62 |
000031d0  8c 59 4e 25 3d 31 0d 09  f6 0d e7 59 4e 25 3d 31  |.YN%=1.....YN%=1|
000031e0  8c ef 37 0d 0a 00 05 e1  0d 0a 0a 14 dd 20 a4 4d  |..7.......... .M|
000031f0  79 46 69 6c 65 28 66 69  6c 65 24 29 0d 0a 14 0a  |yFile(file$)....|
00003200  3d 66 69 6c 65 24 0d 0a  1e 0b dd 20 f2 51 75 69  |=file$..... .Qui|
00003210  74 0d 0a 28 1e c8 99 20  22 57 69 6d 70 5f 43 6f  |t..(... "Wimp_Co|
00003220  6d 6d 61 6e 64 57 69 6e  64 6f 77 22 2c 2d 31 0d  |mmandWindow",-1.|
00003230  0a 32 06 c8 98 0d 0a 3c  05 e1 0d 9c 40 0d dd f2  |.2.....<....@...|
00003240  44 69 72 28 64 24 29 0d  9c 4a 29 e7 20 64 24 20  |Dir(d$)..J). d$ |
00003250  3c 3e 20 22 22 20 8c 20  ff 20 22 44 69 72 20 22  |<> "" . . "Dir "|
00003260  2b a4 4d 79 46 69 6c 65  28 c1 64 24 2c 32 29 29  |+.MyFile(.d$,2))|
00003270  0d 9c 54 05 e1 0d ff                              |..T....|
00003277