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

DataVision/!DataVis/!dv11

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/!dv11
Read OK:
File size: 1C47 bytes
Load address: 0000
Exec address: 0000
File contents
   10REM > $.!DataVis.!dv11
   15SYS "Wimp_CommandWindow",-1
   20MODE 15:COLOUR 180:CLS
   30ONERRORGOTO1480
   40MOUSE ON:OFF:FG%=180
   50DIMME$(20)
   60DIMS$(10):FORI=1TO10:READS$(I):NEXTI:DIMF$(30):DIMIN$(105)
   70DATA"PFRIEEXTZT","NIMRODWORK","ZELOBLIXET","SORTWORK","SKDFFEEEF","KKDJSS883","TRNNHGNIC","WDWPCATXT","DDSFDSS","TE443GEST"
   80OSCLI"CLOSE":X=OPENUP FNMyFile("NIM"):INPUT#X,FI$,ST$,DA$,DR$,ZZ$,MD$:OSCLI"CLOSE":FO$=FI$+"A":ST$="1":SE$="Searching "+FI$+" file.":GOTO730
   90DEFPROCMAIN:go%=0
  100IFST$="1"THEN TA$=FI$+"N":X=OPENUPFNMyFile(TA$):INPUT#X,DI$:PROCDir(DI$):GOTO160
  110GOTO130
  120PROCERWIN:COLOUR180:PRINTTAB(20,12);"Cannot read the file :";FI$;TAB(20,14);"(file empty)":COLOURFG%:VDU7:PROCMKLIK:GOTO1420
  130IFST$="2"THEN TA$=FI$+"N":X=OPENUPFNMyFile(TA$):INPUT#X,DI$:PROCDir(DI$):GOTO160
  140DEFPROCMKLIK:REPEAT:MOUSE U,U,BUT:UNTILBUT=0:REPEAT:MOUSE U,U,BUT:UNTILBUT=4:ENDPROC
  150DEFPROCERWIN:X=19:Y=11:W%=40:L%=3:COLOUR180:PROCLWN:COLOURFG%:ENDPROC
  160CLOSE#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$
  170IFNOR%=0THENGOTO120
  180go%=1:ENDPROC
  190DEFPROCFOPOUT
  200OSCLI"CLOSE":X=OPENUP FNMyFile(FO$):POI=(CF%-1)*61+63
  210PTR#X=POI:INPUT#X,FL$
  220PTR#X=POI+22:INPUT#X,ZZ$:X1=VAL(ZZ$)
  230PTR#X=POI+26:INPUT#X,ZZ$:Y1=VAL(ZZ$)
  240PTR#X=POI+30:INPUT#X,ZZ$:X2=VAL(ZZ$)
  250PTR#X=POI+34:INPUT#X,ZZ$:Y2=VAL(ZZ$)
  260PTR#X=POI+38:INPUT#X,TY$
  270PTR#X=POI+41:INPUT#X,ZZ$:IN%=VAL(ZZ$)
  280PTR#X=POI+46:INPUT#X,ZZ$:TI%=VAL(ZZ$)
  290PTR#X=POI+54:INPUT#X,TR$
  300PTR#X=POI+58:INPUT#X,NP$
  310ENDPROC
  320DEFPROCLWN
  330PRINTTAB(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)
  340ENDPROC
  350DEFPROCTIME
  360S%=(TIME DIV100)MOD60:M%=(TIME DIV6000)MOD60:H%=(TIME DIV360000)MOD24:PRINTTAB(73,0);":";TAB(76,0);":":IFS%<10THENPRINTTAB(77,0);"0"
  370IFM%<10THENPRINTTAB(74,0);"0"
  380IFH%<10THENPRINTTAB(71,0);"0"
  390PRINTTAB(73-LEN(STR$(H%)),0);H%;TAB(76-LEN(STR$(M%)),0);M%;TAB(79-LEN(STR$(S%)),0);S%
  400ENDPROC
  410DEFPROCTEXT:*FX15,0
  420T$="":L=0
  430IFL<L%THENPRINTTAB(X,Y);CHR$(255)
  440IN=GET
  450IFIN=13THENNP%=0:GOTO540
  460IFIN=127THENGOTO510
  470IFIN=9THENNP%=1:GOTO540
  480IFL=L%THENGOTO440
  490PRINTTAB(X,Y);CHR$(IN):T$=T$+CHR$(IN):L=L+1:X=X+1
  500GOTO430
  510IFL=0THENGOTO420
  520PRINTTAB(X,Y);" ":X=X-1:L=L-1:T$=LEFT$(T$,L)
  530GOTO430
  540PRINTTAB(X,Y);" "
  550ENDPROC
  560DEFPROCSEL:*FX15,0
  570COLOUR128:FG%=128:X=50:Y=2:W%=21:L%=23:PROCLWN:COLOURFG%:PRINTTAB(51,3);"Select a Field: ";CHR$(138);" ";CHR$(139);TAB(51,4);STRING$(21,CHR$(241))
  580SSF%=1:SF%=1:Y2=6:SR%=SF%:OSCLI"CLOSE":A=OPENUPFNMyFile(FO$)
  590FR%=SR%+19:IFFR%>NOF%THENFR%=NOF%
  600L=6:LL=1:FORI=SR%TOFR%:PTR#A=(I-1)*61+63:INPUT#A,FL$:PRINTTAB(52,L);FL$:ME$(LL)=FL$:L=L+1:LL=LL+1:NEXTI:IF LL<21 THEN FOR I=LL TO20:ME$(I)=" ":NEXTI
  610MOUSE XP,YP,BUT:XP=INT(XP/16):YP=31-INT(YP/32)
  620IFXP=67 AND YP=3 AND BUT=4 THENGOTO660
  630IFXP=69 AND YP=3 AND BUT=4 THENGOTO680
  640IF XP>71 OR XP<51 OR YP>25 OR YP<6 THENSSF%=0:PROCCLEAF:SSF%=SF%:GOTO610
  650YP=YP-5:SF%=(YP+SR%)-1:PROCCLEAF:COLOUR131:PRINTTAB(52,YP+5);ME$(YP);SPC(20-LEN(ME$(YP))):COLOURFG%:IFBUT=4 AND SF%<(NOF%+1)THENGOTO700:ELSEGOTO610
  660IFFR%=NOF%THENGOTO610
  670SR%=SR%+20:X=50:Y=2:W%=21:L%=23:PROCLWN:PRINTTAB(51,3);"Select a Field: ";CHR$(138);" ";CHR$(139);TAB(51,4);STRING$(21,CHR$(241)):GOTO590
  680IFSR%=1THENGOTO610
  690SR%=SR%-20:X=50:Y=2:W%=21:L%=23:PROCLWN:PRINTTAB(51,3);"Select a Field: ";CHR$(138);" ";CHR$(139);TAB(51,4);STRING$(21,CHR$(241)):GOTO590
  700VDU7:PTR#A=(SF%-1)*61+63:INPUT#A,FL$:PTR#A=(SF%-1)*61+101:INPUT#A,TY$:PTR#A=(SF%-1)*61+117:INPUT#A,TR$:COLOUR180:FG%=180:ENDPROC
  710DEFPROCCLEAF:IFSSF%<>SF%THENFORI=1TO20:PRINTTAB(52,I+5);ME$(I);SPC(20-LEN(ME$(I))):NEXTI
  720SSF%=SF%:ENDPROC
  730PROCMAIN
  740X=28:Y=14:W%=18:L%=3:PROCLWN:ME$(1)="Ascending Sort":ME$(2)="Descending Sort":ME$(3)="Quit":X=29:Y=15:L%=3:so%=0:PROCSELECT:SR%=1
  750IFSEL%=1THENSORD%=0:GOTO1070
  760IFSEL%=2THENSORD%=1:GOTO1070
  770IFSEL%=3THENGOTO1420
  780GOTO740
  790ONERRORGOTO820
  800ONERRORGOTO820
  810FORI=1TO10:CLS:OSCLI"INFO <DataVision$Dir>."+S$(I):NEXTI:GOTO3000
  820WF$=S$(I):ONERRORGOTO1480
  830IFso%=1THENPRINTTAB(2,2);"Sorting ";FI$;" on field ";FL$;"...";TAB(2,4);"Please wait":GOTO850:ELSEPRINTTAB(2,2);"Sort";TAB(2,3);STRING$(4,CHR$(241)):PROCSEL
  840CF%=SF%:PROCFOPOUT:WREC%=(IN%+12):OSCLI"CLOSE":X=OPENOUTFNMyFile(WF$):CLS:PRINTTAB(2,2);"Sorting ";FI$;" on field ";FL$;"...";TAB(2,4);"Please wait"
  850OSCLI"CLOSE":X=OPENUPFNMyFile(FI$):A=OPENUPFNMyFile(WF$):FORK=1TONOR%:PTR#X=(K-1)*REC%+TI%:INPUT#X,F$:PTR#A=(K-1)*WREC%:PRINT#A,F$:PTR#A=(K*WREC%)-10:PRINT#A,STR$(K):NEXTK
  860D=NOR%:OSCLI"CLOSE":X=OPENUPFNMyFile(WF$)
  870IFD<=1THENGOTO1040
  880D=INT(D/2):EN=NOR%-D
  890SORT%=0
  900FORI=1TOEN:POI1=I:POI2=I+D
  910PTR#X=(POI1-1)*WREC%:INPUT#X,S1$:PTR#X=(POI2-1)*WREC%:INPUT#X,S2$:PTR#X=(POI1*WREC%)-10:INPUT#X,L1$:PTR#X=(POI2*WREC%)-10:INPUT#X,L2$:IFTY$="7"ORTY$="8"ORTY$="0"THENS1=VAL(S1$):S2=VAL(S2$)
  920IFTY$="5"THENX$="":X$=X$+MID$(S1$,7,2):X$=X$+MID$(S1$,4,2):X$=X$+MID$(S1$,1,2):S1=VAL(X$):X$="":X$=X$+MID$(S2$,7,2):X$=X$+MID$(S2$,4,2):X$=X$+MID$(S2$,1,2):S2=VAL(X$)
  930IFTY$="6"THENX$="":X$=X$+MID$(S1$,1,2):X$=X$+MID$(S1$,4,2):S1=VAL(X$):X$="":X$=X$+MID$(S2$,1,2):X$=X$+MID$(S2$,4,2):S2=VAL(X$)
  940IFTY$="1"ORTY$="2"ORTY$="3"ORTY$="4"ORTY$="9"THENGOTO1020
  950P%=0
  960IFSORD%=0THENIFS1>S2 THENSP1$=L1$:SP$=S1$:S1$=S2$:L1$=L2$:S2$=SP$:L2$=SP1$:SORT%=1:P%=1
  970IFSORD%=1THENIFS1<S2 THENSP1$=L2$:SP$=S2$:S2$=S1$:L2$=L1$:S1$=SP$:L1$=SP1$:SORT%=1:P%=1
  980IFP%=1THENPTR#X=(POI1-1)*WREC%:PRINT#X,S1$:PTR#X=(POI2-1)*WREC%:PRINT#X,S2$:PTR#X=(POI1*WREC%)-10:PRINT#X,L1$:PTR#X=(POI2*WREC%)-10:PRINT#X,L2$
  990NEXTI
 1000IFSORT%>0THENGOTO890
 1010GOTO870
 1020FORJ=1TOIN%:S1=ASC(MID$(S1$,J,1)):S2=ASC(MID$(S2$,J,1)):IFS1<>S2 THENGOTO960
 1030NEXTJ:GOTO960
 1040OSCLI"CLOSE":X=OPENUPFNMyFile(FO$):PTR#X=45:PRINT#X,"3":PTR#X=23:PRINT#X,STR$(SF%)
 1050OSCLI"CLOSE":X=OPENUPFNMyFile(FI$):A=OPENUPFNMyFile(WF$):FORK=1TONOR%:PTR#A=(K*WREC%)-10:INPUT#A,F$:PTR#X=(K*REC%)-10:PRINT#X,F$:NEXTK
 1060OSCLI"CLOSE":OSCLI"DELETE <DataVision$Dir>."+WF$:CLS:COLOUR131:PRINTTAB(2,2);"Sorted":COLOURFG%:GOTO1420
 1070IFNOR%<=10THENCLS:GOTO800
 1080so%=1
 1090CLS:PRINTTAB(2,2);"Sort";TAB(2,3);STRING$(4,CHR$(241)):PROCSEL:CF%=SF%:PROCFOPOUT
 1100LE%=IN%:IFIN%<9THENLE%=9
 1110L1%=(LE%*NOR%):L2%=(9*NOR%):L3%=L1%+L2%:nol%=(HIMEM-END):IFL3%>nol%THENGOTO800
 1120DIMs$(NOR%):DIMw$(NOR%):CLS:PRINTTAB(2,2);"Sorting ";FI$;" on field ";FL$;"...";TAB(2,4);"Please wait"
 1130OSCLI"CLOSE":C=OPENUPFNMyFile(FI$):FORI=1TONOR%:PTR#C=(I-1)*REC%+TI%:INPUT#C,s$(I):w$(I)=STR$(I):NEXTI:D=NOR%
 1140IFD<=1THENGOTO1300
 1150D=INT(D/2):EN=NOR%-D
 1160SORT%=0
 1170FORI=1TOEN:POI1=I:POI2=I+D:S1$=s$(POI1):S2$=s$(POI2):L1$=w$(POI1):L2$=w$(POI2):IFTY$="7"ORTY$="8"ORTY$="0"THENS1=VAL(S1$):S2=VAL(S2$)
 1180IFTY$="5"THENX$="":X$=X$+MID$(S1$,7,2):X$=X$+MID$(S1$,4,2):X$=X$+MID$(S1$,1,2):S1=VAL(X$):X$="":X$=X$+MID$(S2$,7,2):X$=X$+MID$(S2$,4,2):X$=X$+MID$(S2$,1,2):S2=VAL(X$)
 1190IFTY$="6"THENX$="":X$=X$+MID$(S1$,1,2):X$=X$+MID$(S1$,4,2):S1=VAL(X$):X$="":X$=X$+MID$(S2$,1,2):X$=X$+MID$(S2$,4,2):S2=VAL(X$)
 1200IFTY$="1"ORTY$="2"ORTY$="3"ORTY$="4"ORTY$="9"THENGOTO1280
 1210P%=0
 1220IFSORD%=0THENIFS1>S2 THENSP1$=L1$:SP$=S1$:S1$=S2$:L1$=L2$:S2$=SP$:L2$=SP1$:SORT%=1:P%=1
 1230IFSORD%=1THENIFS1<S2 THENSP1$=L2$:SP$=S2$:S2$=S1$:L2$=L1$:S1$=SP$:L1$=SP1$:SORT%=1:P%=1
 1240IFP%=1THENs$(POI1)=S1$:s$(POI2)=S2$:w$(POI1)=L1$:w$(POI2)=L2$
 1250NEXTI
 1260IFSORT%>0THENGOTO1160
 1270GOTO1140
 1280FORJ=1TOIN%:S1=ASC(MID$(S1$,J,1)):S2=ASC(MID$(S2$,J,1)):IFS1<>S2 THENGOTO1220
 1290NEXTJ:GOTO1220
 1300FORI=1TONOR%:PTR#C=(I*REC%)-10:PRINT#C,w$(I):NEXTI:OSCLI"CLOSE":X=OPENUPFNMyFile(FO$):PTR#X=45:PRINT#X,"3":PTR#X=23:PRINT#X,STR$(SF%)
 1310CLS:COLOUR131:PRINTTAB(2,2);"Sorted":COLOURFG%:GOTO1420
 1320DEFPROCSELECT:ED%=Y+(L%-1):BG%=X+(W%-1):SSEL%=1:*FX15,0
 1330FORI=1TOL%:PRINTTAB(X,Y+(I-1));"  ";ME$(I);STRING$((W%-2)-LEN(ME$(I))," "):NEXTI
 1340MOUSE XP,YP,BUT:XP=INT(XP/16):YP=31-INT(YP/32)
 1350IFYP<Y OR YP>ED%THENGOTO1330
 1360IFXP<X OR XP>BG%THENGOTO1330
 1370SEL%=(YP-Y)+1:PROCCLEA:COLOUR 131:COLOUR127:PRINTTAB(X,YP);"  ";ME$(SEL%);STRING$((W%-2)-LEN(ME$(SEL%))," "):COLOUR FG%:COLOUR127:IFBUT=4THENGOTO1380:ELSEGOTO1340
 1380VDU7:ENDPROC
 1390DEFPROCCLEA:IFSSEL%<>SEL%THENFORI=1TOL%:PRINTTAB(X,Y+(I-1));"  ";ME$(I);STRING$((W%-2)-LEN(ME$(I))," "):NEXTI
 1400SSEL%=SEL%:ENDPROC
 1410STOP
 1420 
 1430 
 1440 
 1450 
 1460 CLOSE #0
 1470 PROCQuit
 1480VDU3,26:CLOSE #0:IFERR=17 THEN PROCQuit
 1490IFgo%=0THENGOTO1530
 1500FG%=180
 1510PROCERWIN:COLOUR180:PRINTTAB(20,12);"System Reported Error #";ERR;":";TAB(20,14);REPORT$:VDU7:COLOURFG%:PROCMKLIK
 1520OSCLI"CLOSE":VDU3:VDU26:GOTO740
 1530PROCERWIN:COLOUR180:PRINTTAB(20,12);"Cannot read the file :";FI$;TAB(20,14);"(does not exist/not a DataVision file)":COLOURFG%:VDU7:PROCMKLIK:GOTO1420
 1540DEFPROCYN:xp=POS:yp=VPOS:PRINT" ";:COLOUR131:PRINT"YES/NO":COLOURFG%
 1550MOUSE XP,YP,BUT:XP=INT(XP/16):YP=31-INT(YP/32):IFBUT=0THENGOTO1550
 1560IFYP<>yp THENGOTO1550
 1570IFXP=xp+1 OR XP=xp+2 OR XP=xp+3THENYN=1:GOTO1600
 1580IFXP=xp+5 OR XP=xp+6 THENYN=0:GOTO1600
 1590GOTO1550
 1600PRINTTAB(xp,yp);" YES/NO":VDU7:ENDPROC
 1610DEF FNMyFile(file$)
 1620=file$
 1630DEF PROCQuit
 1640SYS "Wimp_CommandWindow",-1
 1650QUIT
 1660ENDPROC
40000DEFPROCDir(d$)
40010IF d$ <> "" THEN OSCLI "Dir "+FNMyFile(MID$(d$,2))
40020ENDPROC

� > $.!DataVis.!dv11
ș "Wimp_CommandWindow",-1
� 15:� 180:�
��dHE
(ȗ �:�:FG%=180
2�ME$(20)
</�S$(10):�I=1�10:�S$(I):�I:�F$(30):�IN$(105)
F|�"PFRIEEXTZT","NIMRODWORK","ZELOBLIXET","SORTWORK","SKDFFEEEF","KKDJSS883","TRNNHGNIC","WDWPCATXT","DDSFDSS","TE443GEST"
P|�"CLOSE":X=� �MyFile("NIM"):�#X,FI$,ST$,DA$,DR$,ZZ$,MD$:�"CLOSE":FO$=FI$+"A":ST$="1":SE$="Searching "+FI$+" file.":�dZB
Z��MAIN:go%=0
dA�ST$="1"� TA$=FI$+"N":X=��MyFile(TA$):�#X,DI$:�Dir(DI$):�t`@
n	�tB@
xa�ERWIN:�180:�20,12);"Cannot read the file :";FI$;�20,14);"(file empty)":�FG%:�7:�MKLIK:�tLE
�A�ST$="2"� TA$=FI$+"N":X=��MyFile(TA$):�#X,DI$:�Dir(DI$):�t`@
�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%:�
�v�#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$
��NOR%=0��Dx@
�go%=1:�
���FOPOUT
�/�"CLOSE":X=� �MyFile(FO$):POI=(CF%-1)*61+63
��#X=POI:�#X,FL$
� �#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$)
"�#X=POI+54:�#X,TR$
,�#X=POI+58:�#X,NP$
6�
@	��LWN
Jy�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)
T�
^
��TIME
h^S%=(� �100)�60:M%=(� �6000)�60:H%=(� �360000)�24:�73,0);":";�76,0);":":�S%<10��77,0);"0"
r�M%<10��74,0);"0"
|�H%<10��71,0);"0"
�=�73-�(�(H%)),0);H%;�76-�(�(M%)),0);M%;�79-�(�(S%)),0);S%
��
���TEXT:*FX15,0
�
T$="":L=0
��L<L%��X,Y);�(255)
�IN=�
��IN=13�NP%=0:�T\B
��IN=127��d~A
��IN=9�NP%=1:�T\B
��L=L%��txA
�(�X,Y);�(IN):T$=T$+�(IN):L=L+1:X=X+1
�	�tnA
��L=0��tdA
$�X,Y);" ":X=X-1:L=L-1:T$=�T$,L)
	�tnA
�X,Y);" "
&�
0��SEL:*FX15,0
:o�128:FG%=128:X=50:Y=2:W%=21:L%=23:�LWN:�FG%:�51,3);"Select a Field: ";�(138);" ";�(139);�51,4);�21,�(241))
D6SSF%=1:SF%=1:Y2=6:SR%=SF%:�"CLOSE":A=��MyFile(FO$)
N!FR%=SR%+19:�FR%>NOF%�FR%=NOF%
X{L=6:LL=1:�I=SR%�FR%:�#A=(I-1)*61+63:�#A,FL$:�52,L);FL$:ME$(LL)=FL$:L=L+1:LL=LL+1:�I:� LL<21 � � I=LL �20:ME$(I)=" ":�I
b+ȗ XP,YP,BUT:XP=�(XP/16):YP=31-�(YP/32)
l �XP=67 � YP=3 � BUT=4 ��tTB
v �XP=69 � YP=3 � BUT=4 ��thB
�@� XP>71 � XP<51 � YP>25 � YP<6 �SSF%=0:�CLEAF:SSF%=SF%:�DbB
�rYP=YP-5:SF%=(YP+SR%)-1:�CLEAF:�131:�52,YP+5);ME$(YP);�(20-�(ME$(YP))):�FG%:�BUT=4 � SF%<(NOF%+1)��t|B:��DbB
��FR%=NOF%��DbB
�nSR%=SR%+20:X=50:Y=2:W%=21:L%=23:�LWN:�51,3);"Select a Field: ";�(138);" ";�(139);�51,4);�21,�(241)):�DNB
��SR%=1��DbB
�nSR%=SR%-20:X=50:Y=2:W%=21:L%=23:�LWN:�51,3);"Select a Field: ";�(138);" ";�(139);�51,4);�21,�(241)):�DNB
�e�7:�#A=(SF%-1)*61+63:�#A,FL$:�#A=(SF%-1)*61+101:�#A,TY$:�#A=(SF%-1)*61+117:�#A,TR$:�180:FG%=180:�
�B��CLEAF:�SSF%<>SF%��I=1�20:�52,I+5);ME$(I);�(20-�(ME$(I))):�I
�SSF%=SF%:�
�	�MAIN
�X=28:Y=14:W%=18:L%=3:�LWN:ME$(1)="Ascending Sort":ME$(2)="Descending Sort":ME$(3)="Quit":X=29:Y=15:L%=3:so%=0:�SELECT:SR%=1
��SEL%=1�SORD%=0:�TnD
��SEL%=2�SORD%=1:�TnD
�SEL%=3��tLE
	�ddB
��TtC
 ��TtC
*6�I=1�10:�:�"INFO <DataVision$Dir>."+S$(I):�I:�txK
4WF$=S$(I):��dHE
>v�so%=1��2,2);"Sorting ";FI$;" on field ";FL$;"...";�2,4);"Please wait":�DRC:��2,2);"Sort";�2,3);�4,�(241)):�SEL
H~CF%=SF%:�FOPOUT:WREC%=(IN%+12):�"CLOSE":X=��MyFile(WF$):�:�2,2);"Sorting ";FI$;" on field ";FL$;"...";�2,4);"Please wait"
R��"CLOSE":X=��MyFile(FI$):A=��MyFile(WF$):�K=1�NOR%:�#X=(K-1)*REC%+TI%:�#X,F$:�#A=(K-1)*WREC%:�#A,F$:�#A=(K*WREC%)-10:�#A,�(K):�K
\#D=NOR%:�"CLOSE":X=��MyFile(WF$)
f�D<=1��TPD
pD=�(D/2):EN=NOR%-D
zSORT%=0
��I=1�EN:POI1=I:POI2=I+D
���#X=(POI1-1)*WREC%:�#X,S1$:�#X=(POI2-1)*WREC%:�#X,S2$:�#X=(POI1*WREC%)-10:�#X,L1$:�#X=(POI2*WREC%)-10:�#X,L2$:�TY$="7"�TY$="8"�TY$="0"�S1=�(S1$):S2=�(S2$)
���TY$="5"�X$="":X$=X$+�S1$,7,2):X$=X$+�S1$,4,2):X$=X$+�S1$,1,2):S1=�(X$):X$="":X$=X$+�S2$,7,2):X$=X$+�S2$,4,2):X$=X$+�S2$,1,2):S2=�(X$)
�j�TY$="6"�X$="":X$=X$+�S1$,1,2):X$=X$+�S1$,4,2):S1=�(X$):X$="":X$=X$+�S2$,1,2):X$=X$+�S2$,4,2):S2=�(X$)
�2�TY$="1"�TY$="2"�TY$="3"�TY$="4"�TY$="9"��d|C
�P%=0
�S�SORD%=0��S1>S2 �SP1$=L1$:SP$=S1$:S1$=S2$:L1$=L2$:S2$=SP$:L2$=SP1$:SORT%=1:P%=1
�S�SORD%=1��S1<S2 �SP1$=L2$:SP$=S2$:S2$=S1$:L2$=L1$:S1$=SP$:L1$=SP1$:SORT%=1:P%=1
�w�P%=1��#X=(POI1-1)*WREC%:�#X,S1$:�#X=(POI2-1)*WREC%:�#X,S2$:�#X=(POI1*WREC%)-10:�#X,L1$:�#X=(POI2*WREC%)-10:�#X,L2$
��I
��SORT%>0��DzC
�	�DfC
�;�J=1�IN%:S1=�(�S1$,J,1)):S2=�(�S2$,J,1)):�S1<>S2 ��d@C
�J:�d@C
=�"CLOSE":X=��MyFile(FO$):�#X=45:�#X,"3":�#X=23:�#X,�(SF%)
h�"CLOSE":X=��MyFile(FI$):A=��MyFile(WF$):�K=1�NOR%:�#A=(K*WREC%)-10:�#A,F$:�#X=(K*REC%)-10:�#X,F$:�K
$N�"CLOSE":�"DELETE <DataVision$Dir>."+WF$:�:�131:�2,2);"Sorted":�FG%:�tLE
.�NOR%<=10��:�T`C
8	so%=1
B9�:�2,2);"Sort";�2,3);�4,�(241)):�SEL:CF%=SF%:�FOPOUT
LLE%=IN%:�IN%<9�LE%=9
VFL1%=(LE%*NOR%):L2%=(9*NOR%):L3%=L1%+L2%:nol%=(�-�):�L3%>nol%��T`C
`Z�s$(NOR%):�w$(NOR%):�:�2,2);"Sorting ";FI$;" on field ";FL$;"...";�2,4);"Please wait"
jX�"CLOSE":C=��MyFile(FI$):�I=1�NOR%:�#C=(I-1)*REC%+TI%:�#C,s$(I):w$(I)=�(I):�I:D=NOR%
t�D<=1��TTE
~D=�(D/2):EN=NOR%-D
�SORT%=0
�|�I=1�EN:POI1=I:POI2=I+D:S1$=s$(POI1):S2$=s$(POI2):L1$=w$(POI1):L2$=w$(POI2):�TY$="7"�TY$="8"�TY$="0"�S1=�(S1$):S2=�(S2$)
���TY$="5"�X$="":X$=X$+�S1$,7,2):X$=X$+�S1$,4,2):X$=X$+�S1$,1,2):S1=�(X$):X$="":X$=X$+�S2$,7,2):X$=X$+�S2$,4,2):X$=X$+�S2$,1,2):S2=�(X$)
�j�TY$="6"�X$="":X$=X$+�S1$,1,2):X$=X$+�S1$,4,2):S1=�(X$):X$="":X$=X$+�S2$,1,2):X$=X$+�S2$,4,2):S2=�(X$)
�2�TY$="1"�TY$="2"�TY$="3"�TY$="4"�TY$="9"��T@E
�P%=0
�S�SORD%=0��S1>S2 �SP1$=L1$:SP$=S1$:S1$=S2$:L1$=L2$:S2$=SP$:L2$=SP1$:SORT%=1:P%=1
�S�SORD%=1��S1<S2 �SP1$=L2$:SP$=S2$:S2$=S1$:L2$=L1$:S1$=SP$:L1$=SP1$:SORT%=1:P%=1
�=�P%=1�s$(POI1)=S1$:s$(POI2)=S2$:w$(POI1)=L1$:w$(POI2)=L2$
��I
��SORT%>0��tHD
�	�DtD
;�J=1�IN%:S1=�(�S1$,J,1)):S2=�(�S2$,J,1)):�S1<>S2 ��dDD

�J:�dDD
d�I=1�NOR%:�#C=(I*REC%)-10:�#C,w$(I):�I:�"CLOSE":X=��MyFile(FO$):�#X=45:�#X,"3":�#X=23:�#X,�(SF%)
%�:�131:�2,2);"Sorted":�FG%:�tLE
(6��SELECT:ED%=Y+(L%-1):BG%=X+(W%-1):SSEL%=1:*FX15,0
2>�I=1�L%:�X,Y+(I-1));"  ";ME$(I);�(W%-2)-�(ME$(I))," "):�I
<+ȗ XP,YP,BUT:XP=�(XP/16):YP=31-�(YP/32)
F�YP<Y � YP>ED%��TrE
P�XP<X � XP>BG%��TrE
ZrSEL%=(YP-Y)+1:�CLEA:� 131:�127:�X,YP);"  ";ME$(SEL%);�(W%-2)-�(ME$(SEL%))," "):� FG%:�127:�BUT=4��DdE:��T|E
d�7:�
nR��CLEA:�SSEL%<>SEL%��I=1�L%:�X,Y+(I-1));"  ";ME$(I);�(W%-2)-�(ME$(I))," "):�I
xSSEL%=SEL%:�
��
� 
� 
� 
� 
�	 � #0
�
 �Quit
��3,26:� #0:�=17 � �Quit
��go%=0��dzE
�FG%=180
�R�ERWIN:�180:�20,12);"System Reported Error #";�;":";�20,14);�$:�7:�FG%:�MKLIK
��"CLOSE":�3:�26:�ddB
�{�ERWIN:�180:�20,12);"Cannot read the file :";FI$;�20,14);"(does not exist/not a DataVision file)":�FG%:�7:�MKLIK:�tLE
,��YN:xp=�:yp=�:�" ";:�131:�"YES/NO":�FG%
8ȗ XP,YP,BUT:XP=�(XP/16):YP=31-�(YP/32):�BUT=0��TNF
�YP<>yp ��TNF
"+�XP=xp+1 � XP=xp+2 � XP=xp+3�YN=1:�D@F
,"�XP=xp+5 � XP=xp+6 �YN=0:�D@F
6	�TNF
@�xp,yp);" YES/NO":�7:�
J� �MyFile(file$)
T
=file$
^� �Quit
hș "Wimp_CommandWindow",-1
rȘ
|�
�@
��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 31  0d 00 0f 1e c8 99 20 22  |is.!dv11...... "|
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 64 48  | 180:.........dH|
00000050  45 0d 00 28 12 c8 97 20  ee 3a 87 3a 46 47 25 3d  |E..(... .:.:FG%=|
00000060  31 38 30 0d 00 32 0c de  4d 45 24 28 32 30 29 0d  |180..2..ME$(20).|
00000070  00 3c 2f de 53 24 28 31  30 29 3a e3 49 3d 31 b8  |.</.S$(10):.I=1.|
00000080  31 30 3a f3 53 24 28 49  29 3a ed 49 3a de 46 24  |10:.S$(I):.I:.F$|
00000090  28 33 30 29 3a de 49 4e  24 28 31 30 35 29 0d 00  |(30):.IN$(105)..|
000000a0  46 7c dc 22 50 46 52 49  45 45 58 54 5a 54 22 2c  |F|."PFRIEEXTZT",|
000000b0  22 4e 49 4d 52 4f 44 57  4f 52 4b 22 2c 22 5a 45  |"NIMRODWORK","ZE|
000000c0  4c 4f 42 4c 49 58 45 54  22 2c 22 53 4f 52 54 57  |LOBLIXET","SORTW|
000000d0  4f 52 4b 22 2c 22 53 4b  44 46 46 45 45 45 46 22  |ORK","SKDFFEEEF"|
000000e0  2c 22 4b 4b 44 4a 53 53  38 38 33 22 2c 22 54 52  |,"KKDJSS883","TR|
000000f0  4e 4e 48 47 4e 49 43 22  2c 22 57 44 57 50 43 41  |NNHGNIC","WDWPCA|
00000100  54 58 54 22 2c 22 44 44  53 46 44 53 53 22 2c 22  |TXT","DDSFDSS","|
00000110  54 45 34 34 33 47 45 53  54 22 0d 00 50 7c ff 22  |TE443GEST"..P|."|
00000120  43 4c 4f 53 45 22 3a 58  3d ad 20 a4 4d 79 46 69  |CLOSE":X=. .MyFi|
00000130  6c 65 28 22 4e 49 4d 22  29 3a e8 23 58 2c 46 49  |le("NIM"):.#X,FI|
00000140  24 2c 53 54 24 2c 44 41  24 2c 44 52 24 2c 5a 5a  |$,ST$,DA$,DR$,ZZ|
00000150  24 2c 4d 44 24 3a ff 22  43 4c 4f 53 45 22 3a 46  |$,MD$:."CLOSE":F|
00000160  4f 24 3d 46 49 24 2b 22  41 22 3a 53 54 24 3d 22  |O$=FI$+"A":ST$="|
00000170  31 22 3a 53 45 24 3d 22  53 65 61 72 63 68 69 6e  |1":SE$="Searchin|
00000180  67 20 22 2b 46 49 24 2b  22 20 66 69 6c 65 2e 22  |g "+FI$+" file."|
00000190  3a e5 8d 64 5a 42 0d 00  5a 10 dd f2 4d 41 49 4e  |:..dZB..Z...MAIN|
000001a0  3a 67 6f 25 3d 30 0d 00  64 41 e7 53 54 24 3d 22  |:go%=0..dA.ST$="|
000001b0  31 22 8c 20 54 41 24 3d  46 49 24 2b 22 4e 22 3a  |1". TA$=FI$+"N":|
000001c0  58 3d ad a4 4d 79 46 69  6c 65 28 54 41 24 29 3a  |X=..MyFile(TA$):|
000001d0  e8 23 58 2c 44 49 24 3a  f2 44 69 72 28 44 49 24  |.#X,DI$:.Dir(DI$|
000001e0  29 3a e5 8d 74 60 40 0d  00 6e 09 e5 8d 74 42 40  |):..t`@..n...tB@|
000001f0  0d 00 78 61 f2 45 52 57  49 4e 3a fb 31 38 30 3a  |..xa.ERWIN:.180:|
00000200  f1 8a 32 30 2c 31 32 29  3b 22 43 61 6e 6e 6f 74  |..20,12);"Cannot|
00000210  20 72 65 61 64 20 74 68  65 20 66 69 6c 65 20 3a  | read the file :|
00000220  22 3b 46 49 24 3b 8a 32  30 2c 31 34 29 3b 22 28  |";FI$;.20,14);"(|
00000230  66 69 6c 65 20 65 6d 70  74 79 29 22 3a fb 46 47  |file empty)":.FG|
00000240  25 3a ef 37 3a f2 4d 4b  4c 49 4b 3a e5 8d 74 4c  |%:.7:.MKLIK:..tL|
00000250  45 0d 00 82 41 e7 53 54  24 3d 22 32 22 8c 20 54  |E...A.ST$="2". T|
00000260  41 24 3d 46 49 24 2b 22  4e 22 3a 58 3d ad a4 4d  |A$=FI$+"N":X=..M|
00000270  79 46 69 6c 65 28 54 41  24 29 3a e8 23 58 2c 44  |yFile(TA$):.#X,D|
00000280  49 24 3a f2 44 69 72 28  44 49 24 29 3a e5 8d 74  |I$:.Dir(DI$):..t|
00000290  60 40 0d 00 8c 35 dd f2  4d 4b 4c 49 4b 3a f5 3a  |`@...5..MKLIK:.:|
000002a0  c8 97 20 55 2c 55 2c 42  55 54 3a fd 42 55 54 3d  |.. U,U,BUT:.BUT=|
000002b0  30 3a f5 3a c8 97 20 55  2c 55 2c 42 55 54 3a fd  |0:.:.. U,U,BUT:.|
000002c0  42 55 54 3d 34 3a e1 0d  00 96 31 dd f2 45 52 57  |BUT=4:....1..ERW|
000002d0  49 4e 3a 58 3d 31 39 3a  59 3d 31 31 3a 57 25 3d  |IN:X=19:Y=11:W%=|
000002e0  34 30 3a 4c 25 3d 33 3a  fb 31 38 30 3a f2 4c 57  |40:L%=3:.180:.LW|
000002f0  4e 3a fb 46 47 25 3a e1  0d 00 a0 76 d9 23 30 3a  |N:.FG%:....v.#0:|
00000300  58 3d ad 20 a4 4d 79 46  69 6c 65 28 46 4f 24 29  |X=. .MyFile(FO$)|
00000310  3a cf 23 58 3d 30 3a e8  23 58 2c 5a 5a 24 3a 4e  |:.#X=0:.#X,ZZ$:N|
00000320  4f 46 25 3d bb 28 5a 5a  24 29 3a cf 23 58 3d 35  |OF%=.(ZZ$):.#X=5|
00000330  3a e8 23 58 2c 5a 5a 24  3a 4e 4f 52 25 3d bb 28  |:.#X,ZZ$:NOR%=.(|
00000340  5a 5a 24 29 3a cf 23 58  3d 31 35 3a e8 23 58 2c  |ZZ$):.#X=15:.#X,|
00000350  5a 5a 24 3a 52 45 43 25  3d bb 28 5a 5a 24 29 3a  |ZZ$:REC%=.(ZZ$):|
00000360  cf 23 58 3d 34 35 3a e8  23 58 2c 53 4f 24 0d 00  |.#X=45:.#X,SO$..|
00000370  aa 11 e7 4e 4f 52 25 3d  30 8c e5 8d 44 78 40 0d  |...NOR%=0...Dx@.|
00000380  00 b4 0b 67 6f 25 3d 31  3a e1 0d 00 be 0c dd f2  |...go%=1:.......|
00000390  46 4f 50 4f 55 54 0d 00  c8 2f ff 22 43 4c 4f 53  |FOPOUT.../."CLOS|
000003a0  45 22 3a 58 3d ad 20 a4  4d 79 46 69 6c 65 28 46  |E":X=. .MyFile(F|
000003b0  4f 24 29 3a 50 4f 49 3d  28 43 46 25 2d 31 29 2a  |O$):POI=(CF%-1)*|
000003c0  36 31 2b 36 33 0d 00 d2  13 cf 23 58 3d 50 4f 49  |61+63.....#X=POI|
000003d0  3a e8 23 58 2c 46 4c 24  0d 00 dc 20 cf 23 58 3d  |:.#X,FL$... .#X=|
000003e0  50 4f 49 2b 32 32 3a e8  23 58 2c 5a 5a 24 3a 58  |POI+22:.#X,ZZ$:X|
000003f0  31 3d bb 28 5a 5a 24 29  0d 00 e6 20 cf 23 58 3d  |1=.(ZZ$)... .#X=|
00000400  50 4f 49 2b 32 36 3a e8  23 58 2c 5a 5a 24 3a 59  |POI+26:.#X,ZZ$:Y|
00000410  31 3d bb 28 5a 5a 24 29  0d 00 f0 20 cf 23 58 3d  |1=.(ZZ$)... .#X=|
00000420  50 4f 49 2b 33 30 3a e8  23 58 2c 5a 5a 24 3a 58  |POI+30:.#X,ZZ$:X|
00000430  32 3d bb 28 5a 5a 24 29  0d 00 fa 20 cf 23 58 3d  |2=.(ZZ$)... .#X=|
00000440  50 4f 49 2b 33 34 3a e8  23 58 2c 5a 5a 24 3a 59  |POI+34:.#X,ZZ$:Y|
00000450  32 3d bb 28 5a 5a 24 29  0d 01 04 16 cf 23 58 3d  |2=.(ZZ$).....#X=|
00000460  50 4f 49 2b 33 38 3a e8  23 58 2c 54 59 24 0d 01  |POI+38:.#X,TY$..|
00000470  0e 21 cf 23 58 3d 50 4f  49 2b 34 31 3a e8 23 58  |.!.#X=POI+41:.#X|
00000480  2c 5a 5a 24 3a 49 4e 25  3d bb 28 5a 5a 24 29 0d  |,ZZ$:IN%=.(ZZ$).|
00000490  01 18 21 cf 23 58 3d 50  4f 49 2b 34 36 3a e8 23  |..!.#X=POI+46:.#|
000004a0  58 2c 5a 5a 24 3a 54 49  25 3d bb 28 5a 5a 24 29  |X,ZZ$:TI%=.(ZZ$)|
000004b0  0d 01 22 16 cf 23 58 3d  50 4f 49 2b 35 34 3a e8  |.."..#X=POI+54:.|
000004c0  23 58 2c 54 52 24 0d 01  2c 16 cf 23 58 3d 50 4f  |#X,TR$..,..#X=PO|
000004d0  49 2b 35 38 3a e8 23 58  2c 4e 50 24 0d 01 36 05  |I+58:.#X,NP$..6.|
000004e0  e1 0d 01 40 09 dd f2 4c  57 4e 0d 01 4a 79 f1 8a  |...@...LWN..Jy..|
000004f0  58 2c 59 29 3b bd 28 31  35 34 29 3b c4 57 25 2c  |X,Y);.(154);.W%,|
00000500  bd 28 31 35 39 29 29 3b  bd 28 31 35 38 29 3a e3  |.(159));.(158):.|
00000510  49 3d 59 2b 31 b8 59 2b  4c 25 3a f1 8a 58 2c 49  |I=Y+1.Y+L%:..X,I|
00000520  29 3b bd 28 31 35 35 29  3b c4 57 25 2c 22 20 22  |);.(155);.W%," "|
00000530  29 3b bd 28 31 35 37 29  3a ed 49 3a f1 8a 58 2c  |);.(157):.I:..X,|
00000540  59 2b 28 4c 25 2b 31 29  29 3b bd 28 31 35 36 29  |Y+(L%+1));.(156)|
00000550  3b c4 57 25 2c bd 28 31  36 30 29 29 3b bd 28 31  |;.W%,.(160));.(1|
00000560  36 31 29 0d 01 54 05 e1  0d 01 5e 0a dd f2 54 49  |61)..T....^...TI|
00000570  4d 45 0d 01 68 5e 53 25  3d 28 91 20 81 31 30 30  |ME..h^S%=(. .100|
00000580  29 83 36 30 3a 4d 25 3d  28 91 20 81 36 30 30 30  |).60:M%=(. .6000|
00000590  29 83 36 30 3a 48 25 3d  28 91 20 81 33 36 30 30  |).60:H%=(. .3600|
000005a0  30 30 29 83 32 34 3a f1  8a 37 33 2c 30 29 3b 22  |00).24:..73,0);"|
000005b0  3a 22 3b 8a 37 36 2c 30  29 3b 22 3a 22 3a e7 53  |:";.76,0);":":.S|
000005c0  25 3c 31 30 8c f1 8a 37  37 2c 30 29 3b 22 30 22  |%<10...77,0);"0"|
000005d0  0d 01 72 16 e7 4d 25 3c  31 30 8c f1 8a 37 34 2c  |..r..M%<10...74,|
000005e0  30 29 3b 22 30 22 0d 01  7c 16 e7 48 25 3c 31 30  |0);"0"..|..H%<10|
000005f0  8c f1 8a 37 31 2c 30 29  3b 22 30 22 0d 01 86 3d  |...71,0);"0"...=|
00000600  f1 8a 37 33 2d a9 28 c3  28 48 25 29 29 2c 30 29  |..73-.(.(H%)),0)|
00000610  3b 48 25 3b 8a 37 36 2d  a9 28 c3 28 4d 25 29 29  |;H%;.76-.(.(M%))|
00000620  2c 30 29 3b 4d 25 3b 8a  37 39 2d a9 28 c3 28 53  |,0);M%;.79-.(.(S|
00000630  25 29 29 2c 30 29 3b 53  25 0d 01 90 05 e1 0d 01  |%)),0);S%.......|
00000640  9a 12 dd f2 54 45 58 54  3a 2a 46 58 31 35 2c 30  |....TEXT:*FX15,0|
00000650  0d 01 a4 0d 54 24 3d 22  22 3a 4c 3d 30 0d 01 ae  |....T$="":L=0...|
00000660  17 e7 4c 3c 4c 25 8c f1  8a 58 2c 59 29 3b bd 28  |..L<L%...X,Y);.(|
00000670  32 35 35 29 0d 01 b8 08  49 4e 3d a5 0d 01 c2 16  |255)....IN=.....|
00000680  e7 49 4e 3d 31 33 8c 4e  50 25 3d 30 3a e5 8d 54  |.IN=13.NP%=0:..T|
00000690  5c 42 0d 01 cc 11 e7 49  4e 3d 31 32 37 8c e5 8d  |\B.....IN=127...|
000006a0  64 7e 41 0d 01 d6 15 e7  49 4e 3d 39 8c 4e 50 25  |d~A.....IN=9.NP%|
000006b0  3d 31 3a e5 8d 54 5c 42  0d 01 e0 0f e7 4c 3d 4c  |=1:..T\B.....L=L|
000006c0  25 8c e5 8d 74 78 41 0d  01 ea 28 f1 8a 58 2c 59  |%...txA...(..X,Y|
000006d0  29 3b bd 28 49 4e 29 3a  54 24 3d 54 24 2b bd 28  |);.(IN):T$=T$+.(|
000006e0  49 4e 29 3a 4c 3d 4c 2b  31 3a 58 3d 58 2b 31 0d  |IN):L=L+1:X=X+1.|
000006f0  01 f4 09 e5 8d 74 6e 41  0d 01 fe 0e e7 4c 3d 30  |.....tnA.....L=0|
00000700  8c e5 8d 74 64 41 0d 02  08 24 f1 8a 58 2c 59 29  |...tdA...$..X,Y)|
00000710  3b 22 20 22 3a 58 3d 58  2d 31 3a 4c 3d 4c 2d 31  |;" ":X=X-1:L=L-1|
00000720  3a 54 24 3d c0 54 24 2c  4c 29 0d 02 12 09 e5 8d  |:T$=.T$,L)......|
00000730  74 6e 41 0d 02 1c 0e f1  8a 58 2c 59 29 3b 22 20  |tnA......X,Y);" |
00000740  22 0d 02 26 05 e1 0d 02  30 11 dd f2 53 45 4c 3a  |"..&....0...SEL:|
00000750  2a 46 58 31 35 2c 30 0d  02 3a 6f fb 31 32 38 3a  |*FX15,0..:o.128:|
00000760  46 47 25 3d 31 32 38 3a  58 3d 35 30 3a 59 3d 32  |FG%=128:X=50:Y=2|
00000770  3a 57 25 3d 32 31 3a 4c  25 3d 32 33 3a f2 4c 57  |:W%=21:L%=23:.LW|
00000780  4e 3a fb 46 47 25 3a f1  8a 35 31 2c 33 29 3b 22  |N:.FG%:..51,3);"|
00000790  53 65 6c 65 63 74 20 61  20 46 69 65 6c 64 3a 20  |Select a Field: |
000007a0  22 3b bd 28 31 33 38 29  3b 22 20 22 3b bd 28 31  |";.(138);" ";.(1|
000007b0  33 39 29 3b 8a 35 31 2c  34 29 3b c4 32 31 2c bd  |39);.51,4);.21,.|
000007c0  28 32 34 31 29 29 0d 02  44 36 53 53 46 25 3d 31  |(241))..D6SSF%=1|
000007d0  3a 53 46 25 3d 31 3a 59  32 3d 36 3a 53 52 25 3d  |:SF%=1:Y2=6:SR%=|
000007e0  53 46 25 3a ff 22 43 4c  4f 53 45 22 3a 41 3d ad  |SF%:."CLOSE":A=.|
000007f0  a4 4d 79 46 69 6c 65 28  46 4f 24 29 0d 02 4e 21  |.MyFile(FO$)..N!|
00000800  46 52 25 3d 53 52 25 2b  31 39 3a e7 46 52 25 3e  |FR%=SR%+19:.FR%>|
00000810  4e 4f 46 25 8c 46 52 25  3d 4e 4f 46 25 0d 02 58  |NOF%.FR%=NOF%..X|
00000820  7b 4c 3d 36 3a 4c 4c 3d  31 3a e3 49 3d 53 52 25  |{L=6:LL=1:.I=SR%|
00000830  b8 46 52 25 3a cf 23 41  3d 28 49 2d 31 29 2a 36  |.FR%:.#A=(I-1)*6|
00000840  31 2b 36 33 3a e8 23 41  2c 46 4c 24 3a f1 8a 35  |1+63:.#A,FL$:..5|
00000850  32 2c 4c 29 3b 46 4c 24  3a 4d 45 24 28 4c 4c 29  |2,L);FL$:ME$(LL)|
00000860  3d 46 4c 24 3a 4c 3d 4c  2b 31 3a 4c 4c 3d 4c 4c  |=FL$:L=L+1:LL=LL|
00000870  2b 31 3a ed 49 3a e7 20  4c 4c 3c 32 31 20 8c 20  |+1:.I:. LL<21 . |
00000880  e3 20 49 3d 4c 4c 20 b8  32 30 3a 4d 45 24 28 49  |. I=LL .20:ME$(I|
00000890  29 3d 22 20 22 3a ed 49  0d 02 62 2b c8 97 20 58  |)=" ":.I..b+.. X|
000008a0  50 2c 59 50 2c 42 55 54  3a 58 50 3d a8 28 58 50  |P,YP,BUT:XP=.(XP|
000008b0  2f 31 36 29 3a 59 50 3d  33 31 2d a8 28 59 50 2f  |/16):YP=31-.(YP/|
000008c0  33 32 29 0d 02 6c 20 e7  58 50 3d 36 37 20 80 20  |32)..l .XP=67 . |
000008d0  59 50 3d 33 20 80 20 42  55 54 3d 34 20 8c e5 8d  |YP=3 . BUT=4 ...|
000008e0  74 54 42 0d 02 76 20 e7  58 50 3d 36 39 20 80 20  |tTB..v .XP=69 . |
000008f0  59 50 3d 33 20 80 20 42  55 54 3d 34 20 8c e5 8d  |YP=3 . BUT=4 ...|
00000900  74 68 42 0d 02 80 40 e7  20 58 50 3e 37 31 20 84  |thB...@. XP>71 .|
00000910  20 58 50 3c 35 31 20 84  20 59 50 3e 32 35 20 84  | XP<51 . YP>25 .|
00000920  20 59 50 3c 36 20 8c 53  53 46 25 3d 30 3a f2 43  | YP<6 .SSF%=0:.C|
00000930  4c 45 41 46 3a 53 53 46  25 3d 53 46 25 3a e5 8d  |LEAF:SSF%=SF%:..|
00000940  44 62 42 0d 02 8a 72 59  50 3d 59 50 2d 35 3a 53  |DbB...rYP=YP-5:S|
00000950  46 25 3d 28 59 50 2b 53  52 25 29 2d 31 3a f2 43  |F%=(YP+SR%)-1:.C|
00000960  4c 45 41 46 3a fb 31 33  31 3a f1 8a 35 32 2c 59  |LEAF:.131:..52,Y|
00000970  50 2b 35 29 3b 4d 45 24  28 59 50 29 3b 89 28 32  |P+5);ME$(YP);.(2|
00000980  30 2d a9 28 4d 45 24 28  59 50 29 29 29 3a fb 46  |0-.(ME$(YP))):.F|
00000990  47 25 3a e7 42 55 54 3d  34 20 80 20 53 46 25 3c  |G%:.BUT=4 . SF%<|
000009a0  28 4e 4f 46 25 2b 31 29  8c e5 8d 74 7c 42 3a 8b  |(NOF%+1)...t|B:.|
000009b0  e5 8d 44 62 42 0d 02 94  13 e7 46 52 25 3d 4e 4f  |..DbB.....FR%=NO|
000009c0  46 25 8c e5 8d 44 62 42  0d 02 9e 6e 53 52 25 3d  |F%...DbB...nSR%=|
000009d0  53 52 25 2b 32 30 3a 58  3d 35 30 3a 59 3d 32 3a  |SR%+20:X=50:Y=2:|
000009e0  57 25 3d 32 31 3a 4c 25  3d 32 33 3a f2 4c 57 4e  |W%=21:L%=23:.LWN|
000009f0  3a f1 8a 35 31 2c 33 29  3b 22 53 65 6c 65 63 74  |:..51,3);"Select|
00000a00  20 61 20 46 69 65 6c 64  3a 20 22 3b bd 28 31 33  | a Field: ";.(13|
00000a10  38 29 3b 22 20 22 3b bd  28 31 33 39 29 3b 8a 35  |8);" ";.(139);.5|
00000a20  31 2c 34 29 3b c4 32 31  2c bd 28 32 34 31 29 29  |1,4);.21,.(241))|
00000a30  3a e5 8d 44 4e 42 0d 02  a8 10 e7 53 52 25 3d 31  |:..DNB.....SR%=1|
00000a40  8c e5 8d 44 62 42 0d 02  b2 6e 53 52 25 3d 53 52  |...DbB...nSR%=SR|
00000a50  25 2d 32 30 3a 58 3d 35  30 3a 59 3d 32 3a 57 25  |%-20:X=50:Y=2:W%|
00000a60  3d 32 31 3a 4c 25 3d 32  33 3a f2 4c 57 4e 3a f1  |=21:L%=23:.LWN:.|
00000a70  8a 35 31 2c 33 29 3b 22  53 65 6c 65 63 74 20 61  |.51,3);"Select a|
00000a80  20 46 69 65 6c 64 3a 20  22 3b bd 28 31 33 38 29  | Field: ";.(138)|
00000a90  3b 22 20 22 3b bd 28 31  33 39 29 3b 8a 35 31 2c  |;" ";.(139);.51,|
00000aa0  34 29 3b c4 32 31 2c bd  28 32 34 31 29 29 3a e5  |4);.21,.(241)):.|
00000ab0  8d 44 4e 42 0d 02 bc 65  ef 37 3a cf 23 41 3d 28  |.DNB...e.7:.#A=(|
00000ac0  53 46 25 2d 31 29 2a 36  31 2b 36 33 3a e8 23 41  |SF%-1)*61+63:.#A|
00000ad0  2c 46 4c 24 3a cf 23 41  3d 28 53 46 25 2d 31 29  |,FL$:.#A=(SF%-1)|
00000ae0  2a 36 31 2b 31 30 31 3a  e8 23 41 2c 54 59 24 3a  |*61+101:.#A,TY$:|
00000af0  cf 23 41 3d 28 53 46 25  2d 31 29 2a 36 31 2b 31  |.#A=(SF%-1)*61+1|
00000b00  31 37 3a e8 23 41 2c 54  52 24 3a fb 31 38 30 3a  |17:.#A,TR$:.180:|
00000b10  46 47 25 3d 31 38 30 3a  e1 0d 02 c6 42 dd f2 43  |FG%=180:....B..C|
00000b20  4c 45 41 46 3a e7 53 53  46 25 3c 3e 53 46 25 8c  |LEAF:.SSF%<>SF%.|
00000b30  e3 49 3d 31 b8 32 30 3a  f1 8a 35 32 2c 49 2b 35  |.I=1.20:..52,I+5|
00000b40  29 3b 4d 45 24 28 49 29  3b 89 28 32 30 2d a9 28  |);ME$(I);.(20-.(|
00000b50  4d 45 24 28 49 29 29 29  3a ed 49 0d 02 d0 0e 53  |ME$(I))):.I....S|
00000b60  53 46 25 3d 53 46 25 3a  e1 0d 02 da 09 f2 4d 41  |SF%=SF%:......MA|
00000b70  49 4e 0d 02 e4 7f 58 3d  32 38 3a 59 3d 31 34 3a  |IN....X=28:Y=14:|
00000b80  57 25 3d 31 38 3a 4c 25  3d 33 3a f2 4c 57 4e 3a  |W%=18:L%=3:.LWN:|
00000b90  4d 45 24 28 31 29 3d 22  41 73 63 65 6e 64 69 6e  |ME$(1)="Ascendin|
00000ba0  67 20 53 6f 72 74 22 3a  4d 45 24 28 32 29 3d 22  |g Sort":ME$(2)="|
00000bb0  44 65 73 63 65 6e 64 69  6e 67 20 53 6f 72 74 22  |Descending Sort"|
00000bc0  3a 4d 45 24 28 33 29 3d  22 51 75 69 74 22 3a 58  |:ME$(3)="Quit":X|
00000bd0  3d 32 39 3a 59 3d 31 35  3a 4c 25 3d 33 3a 73 6f  |=29:Y=15:L%=3:so|
00000be0  25 3d 30 3a f2 53 45 4c  45 43 54 3a 53 52 25 3d  |%=0:.SELECT:SR%=|
00000bf0  31 0d 02 ee 19 e7 53 45  4c 25 3d 31 8c 53 4f 52  |1.....SEL%=1.SOR|
00000c00  44 25 3d 30 3a e5 8d 54  6e 44 0d 02 f8 19 e7 53  |D%=0:..TnD.....S|
00000c10  45 4c 25 3d 32 8c 53 4f  52 44 25 3d 31 3a e5 8d  |EL%=2.SORD%=1:..|
00000c20  54 6e 44 0d 03 02 11 e7  53 45 4c 25 3d 33 8c e5  |TnD.....SEL%=3..|
00000c30  8d 74 4c 45 0d 03 0c 09  e5 8d 64 64 42 0d 03 16  |.tLE......ddB...|
00000c40  0b ee 85 e5 8d 54 74 43  0d 03 20 0b ee 85 e5 8d  |.....TtC.. .....|
00000c50  54 74 43 0d 03 2a 36 e3  49 3d 31 b8 31 30 3a db  |TtC..*6.I=1.10:.|
00000c60  3a ff 22 49 4e 46 4f 20  3c 44 61 74 61 56 69 73  |:."INFO <DataVis|
00000c70  69 6f 6e 24 44 69 72 3e  2e 22 2b 53 24 28 49 29  |ion$Dir>."+S$(I)|
00000c80  3a ed 49 3a e5 8d 74 78  4b 0d 03 34 15 57 46 24  |:.I:..txK..4.WF$|
00000c90  3d 53 24 28 49 29 3a ee  85 e5 8d 64 48 45 0d 03  |=S$(I):....dHE..|
00000ca0  3e 76 e7 73 6f 25 3d 31  8c f1 8a 32 2c 32 29 3b  |>v.so%=1...2,2);|
00000cb0  22 53 6f 72 74 69 6e 67  20 22 3b 46 49 24 3b 22  |"Sorting ";FI$;"|
00000cc0  20 6f 6e 20 66 69 65 6c  64 20 22 3b 46 4c 24 3b  | on field ";FL$;|
00000cd0  22 2e 2e 2e 22 3b 8a 32  2c 34 29 3b 22 50 6c 65  |"...";.2,4);"Ple|
00000ce0  61 73 65 20 77 61 69 74  22 3a e5 8d 44 52 43 3a  |ase wait":..DRC:|
00000cf0  8b f1 8a 32 2c 32 29 3b  22 53 6f 72 74 22 3b 8a  |...2,2);"Sort";.|
00000d00  32 2c 33 29 3b c4 34 2c  bd 28 32 34 31 29 29 3a  |2,3);.4,.(241)):|
00000d10  f2 53 45 4c 0d 03 48 7e  43 46 25 3d 53 46 25 3a  |.SEL..H~CF%=SF%:|
00000d20  f2 46 4f 50 4f 55 54 3a  57 52 45 43 25 3d 28 49  |.FOPOUT:WREC%=(I|
00000d30  4e 25 2b 31 32 29 3a ff  22 43 4c 4f 53 45 22 3a  |N%+12):."CLOSE":|
00000d40  58 3d ae a4 4d 79 46 69  6c 65 28 57 46 24 29 3a  |X=..MyFile(WF$):|
00000d50  db 3a f1 8a 32 2c 32 29  3b 22 53 6f 72 74 69 6e  |.:..2,2);"Sortin|
00000d60  67 20 22 3b 46 49 24 3b  22 20 6f 6e 20 66 69 65  |g ";FI$;" on fie|
00000d70  6c 64 20 22 3b 46 4c 24  3b 22 2e 2e 2e 22 3b 8a  |ld ";FL$;"...";.|
00000d80  32 2c 34 29 3b 22 50 6c  65 61 73 65 20 77 61 69  |2,4);"Please wai|
00000d90  74 22 0d 03 52 84 ff 22  43 4c 4f 53 45 22 3a 58  |t"..R.."CLOSE":X|
00000da0  3d ad a4 4d 79 46 69 6c  65 28 46 49 24 29 3a 41  |=..MyFile(FI$):A|
00000db0  3d ad a4 4d 79 46 69 6c  65 28 57 46 24 29 3a e3  |=..MyFile(WF$):.|
00000dc0  4b 3d 31 b8 4e 4f 52 25  3a cf 23 58 3d 28 4b 2d  |K=1.NOR%:.#X=(K-|
00000dd0  31 29 2a 52 45 43 25 2b  54 49 25 3a e8 23 58 2c  |1)*REC%+TI%:.#X,|
00000de0  46 24 3a cf 23 41 3d 28  4b 2d 31 29 2a 57 52 45  |F$:.#A=(K-1)*WRE|
00000df0  43 25 3a f1 23 41 2c 46  24 3a cf 23 41 3d 28 4b  |C%:.#A,F$:.#A=(K|
00000e00  2a 57 52 45 43 25 29 2d  31 30 3a f1 23 41 2c c3  |*WREC%)-10:.#A,.|
00000e10  28 4b 29 3a ed 4b 0d 03  5c 23 44 3d 4e 4f 52 25  |(K):.K..\#D=NOR%|
00000e20  3a ff 22 43 4c 4f 53 45  22 3a 58 3d ad a4 4d 79  |:."CLOSE":X=..My|
00000e30  46 69 6c 65 28 57 46 24  29 0d 03 66 0f e7 44 3c  |File(WF$)..f..D<|
00000e40  3d 31 8c e5 8d 54 50 44  0d 03 70 16 44 3d a8 28  |=1...TPD..p.D=.(|
00000e50  44 2f 32 29 3a 45 4e 3d  4e 4f 52 25 2d 44 0d 03  |D/2):EN=NOR%-D..|
00000e60  7a 0b 53 4f 52 54 25 3d  30 0d 03 84 1b e3 49 3d  |z.SORT%=0.....I=|
00000e70  31 b8 45 4e 3a 50 4f 49  31 3d 49 3a 50 4f 49 32  |1.EN:POI1=I:POI2|
00000e80  3d 49 2b 44 0d 03 8e 9e  cf 23 58 3d 28 50 4f 49  |=I+D.....#X=(POI|
00000e90  31 2d 31 29 2a 57 52 45  43 25 3a e8 23 58 2c 53  |1-1)*WREC%:.#X,S|
00000ea0  31 24 3a cf 23 58 3d 28  50 4f 49 32 2d 31 29 2a  |1$:.#X=(POI2-1)*|
00000eb0  57 52 45 43 25 3a e8 23  58 2c 53 32 24 3a cf 23  |WREC%:.#X,S2$:.#|
00000ec0  58 3d 28 50 4f 49 31 2a  57 52 45 43 25 29 2d 31  |X=(POI1*WREC%)-1|
00000ed0  30 3a e8 23 58 2c 4c 31  24 3a cf 23 58 3d 28 50  |0:.#X,L1$:.#X=(P|
00000ee0  4f 49 32 2a 57 52 45 43  25 29 2d 31 30 3a e8 23  |OI2*WREC%)-10:.#|
00000ef0  58 2c 4c 32 24 3a e7 54  59 24 3d 22 37 22 84 54  |X,L2$:.TY$="7".T|
00000f00  59 24 3d 22 38 22 84 54  59 24 3d 22 30 22 8c 53  |Y$="8".TY$="0".S|
00000f10  31 3d bb 28 53 31 24 29  3a 53 32 3d bb 28 53 32  |1=.(S1$):S2=.(S2|
00000f20  24 29 0d 03 98 8a e7 54  59 24 3d 22 35 22 8c 58  |$).....TY$="5".X|
00000f30  24 3d 22 22 3a 58 24 3d  58 24 2b c1 53 31 24 2c  |$="":X$=X$+.S1$,|
00000f40  37 2c 32 29 3a 58 24 3d  58 24 2b c1 53 31 24 2c  |7,2):X$=X$+.S1$,|
00000f50  34 2c 32 29 3a 58 24 3d  58 24 2b c1 53 31 24 2c  |4,2):X$=X$+.S1$,|
00000f60  31 2c 32 29 3a 53 31 3d  bb 28 58 24 29 3a 58 24  |1,2):S1=.(X$):X$|
00000f70  3d 22 22 3a 58 24 3d 58  24 2b c1 53 32 24 2c 37  |="":X$=X$+.S2$,7|
00000f80  2c 32 29 3a 58 24 3d 58  24 2b c1 53 32 24 2c 34  |,2):X$=X$+.S2$,4|
00000f90  2c 32 29 3a 58 24 3d 58  24 2b c1 53 32 24 2c 31  |,2):X$=X$+.S2$,1|
00000fa0  2c 32 29 3a 53 32 3d bb  28 58 24 29 0d 03 a2 6a  |,2):S2=.(X$)...j|
00000fb0  e7 54 59 24 3d 22 36 22  8c 58 24 3d 22 22 3a 58  |.TY$="6".X$="":X|
00000fc0  24 3d 58 24 2b c1 53 31  24 2c 31 2c 32 29 3a 58  |$=X$+.S1$,1,2):X|
00000fd0  24 3d 58 24 2b c1 53 31  24 2c 34 2c 32 29 3a 53  |$=X$+.S1$,4,2):S|
00000fe0  31 3d bb 28 58 24 29 3a  58 24 3d 22 22 3a 58 24  |1=.(X$):X$="":X$|
00000ff0  3d 58 24 2b c1 53 32 24  2c 31 2c 32 29 3a 58 24  |=X$+.S2$,1,2):X$|
00001000  3d 58 24 2b c1 53 32 24  2c 34 2c 32 29 3a 53 32  |=X$+.S2$,4,2):S2|
00001010  3d bb 28 58 24 29 0d 03  ac 32 e7 54 59 24 3d 22  |=.(X$)...2.TY$="|
00001020  31 22 84 54 59 24 3d 22  32 22 84 54 59 24 3d 22  |1".TY$="2".TY$="|
00001030  33 22 84 54 59 24 3d 22  34 22 84 54 59 24 3d 22  |3".TY$="4".TY$="|
00001040  39 22 8c e5 8d 64 7c 43  0d 03 b6 08 50 25 3d 30  |9"...d|C....P%=0|
00001050  0d 03 c0 53 e7 53 4f 52  44 25 3d 30 8c e7 53 31  |...S.SORD%=0..S1|
00001060  3e 53 32 20 8c 53 50 31  24 3d 4c 31 24 3a 53 50  |>S2 .SP1$=L1$:SP|
00001070  24 3d 53 31 24 3a 53 31  24 3d 53 32 24 3a 4c 31  |$=S1$:S1$=S2$:L1|
00001080  24 3d 4c 32 24 3a 53 32  24 3d 53 50 24 3a 4c 32  |$=L2$:S2$=SP$:L2|
00001090  24 3d 53 50 31 24 3a 53  4f 52 54 25 3d 31 3a 50  |$=SP1$:SORT%=1:P|
000010a0  25 3d 31 0d 03 ca 53 e7  53 4f 52 44 25 3d 31 8c  |%=1...S.SORD%=1.|
000010b0  e7 53 31 3c 53 32 20 8c  53 50 31 24 3d 4c 32 24  |.S1<S2 .SP1$=L2$|
000010c0  3a 53 50 24 3d 53 32 24  3a 53 32 24 3d 53 31 24  |:SP$=S2$:S2$=S1$|
000010d0  3a 4c 32 24 3d 4c 31 24  3a 53 31 24 3d 53 50 24  |:L2$=L1$:S1$=SP$|
000010e0  3a 4c 31 24 3d 53 50 31  24 3a 53 4f 52 54 25 3d  |:L1$=SP1$:SORT%=|
000010f0  31 3a 50 25 3d 31 0d 03  d4 77 e7 50 25 3d 31 8c  |1:P%=1...w.P%=1.|
00001100  cf 23 58 3d 28 50 4f 49  31 2d 31 29 2a 57 52 45  |.#X=(POI1-1)*WRE|
00001110  43 25 3a f1 23 58 2c 53  31 24 3a cf 23 58 3d 28  |C%:.#X,S1$:.#X=(|
00001120  50 4f 49 32 2d 31 29 2a  57 52 45 43 25 3a f1 23  |POI2-1)*WREC%:.#|
00001130  58 2c 53 32 24 3a cf 23  58 3d 28 50 4f 49 31 2a  |X,S2$:.#X=(POI1*|
00001140  57 52 45 43 25 29 2d 31  30 3a f1 23 58 2c 4c 31  |WREC%)-10:.#X,L1|
00001150  24 3a cf 23 58 3d 28 50  4f 49 32 2a 57 52 45 43  |$:.#X=(POI2*WREC|
00001160  25 29 2d 31 30 3a f1 23  58 2c 4c 32 24 0d 03 de  |%)-10:.#X,L2$...|
00001170  06 ed 49 0d 03 e8 12 e7  53 4f 52 54 25 3e 30 8c  |..I.....SORT%>0.|
00001180  e5 8d 44 7a 43 0d 03 f2  09 e5 8d 44 66 43 0d 03  |..DzC......DfC..|
00001190  fc 3b e3 4a 3d 31 b8 49  4e 25 3a 53 31 3d 97 28  |.;.J=1.IN%:S1=.(|
000011a0  c1 53 31 24 2c 4a 2c 31  29 29 3a 53 32 3d 97 28  |.S1$,J,1)):S2=.(|
000011b0  c1 53 32 24 2c 4a 2c 31  29 29 3a e7 53 31 3c 3e  |.S2$,J,1)):.S1<>|
000011c0  53 32 20 8c e5 8d 64 40  43 0d 04 06 0c ed 4a 3a  |S2 ...d@C.....J:|
000011d0  e5 8d 64 40 43 0d 04 10  3d ff 22 43 4c 4f 53 45  |..d@C...=."CLOSE|
000011e0  22 3a 58 3d ad a4 4d 79  46 69 6c 65 28 46 4f 24  |":X=..MyFile(FO$|
000011f0  29 3a cf 23 58 3d 34 35  3a f1 23 58 2c 22 33 22  |):.#X=45:.#X,"3"|
00001200  3a cf 23 58 3d 32 33 3a  f1 23 58 2c c3 28 53 46  |:.#X=23:.#X,.(SF|
00001210  25 29 0d 04 1a 68 ff 22  43 4c 4f 53 45 22 3a 58  |%)...h."CLOSE":X|
00001220  3d ad a4 4d 79 46 69 6c  65 28 46 49 24 29 3a 41  |=..MyFile(FI$):A|
00001230  3d ad a4 4d 79 46 69 6c  65 28 57 46 24 29 3a e3  |=..MyFile(WF$):.|
00001240  4b 3d 31 b8 4e 4f 52 25  3a cf 23 41 3d 28 4b 2a  |K=1.NOR%:.#A=(K*|
00001250  57 52 45 43 25 29 2d 31  30 3a e8 23 41 2c 46 24  |WREC%)-10:.#A,F$|
00001260  3a cf 23 58 3d 28 4b 2a  52 45 43 25 29 2d 31 30  |:.#X=(K*REC%)-10|
00001270  3a f1 23 58 2c 46 24 3a  ed 4b 0d 04 24 4e ff 22  |:.#X,F$:.K..$N."|
00001280  43 4c 4f 53 45 22 3a ff  22 44 45 4c 45 54 45 20  |CLOSE":."DELETE |
00001290  3c 44 61 74 61 56 69 73  69 6f 6e 24 44 69 72 3e  |<DataVision$Dir>|
000012a0  2e 22 2b 57 46 24 3a db  3a fb 31 33 31 3a f1 8a  |."+WF$:.:.131:..|
000012b0  32 2c 32 29 3b 22 53 6f  72 74 65 64 22 3a fb 46  |2,2);"Sorted":.F|
000012c0  47 25 3a e5 8d 74 4c 45  0d 04 2e 15 e7 4e 4f 52  |G%:..tLE.....NOR|
000012d0  25 3c 3d 31 30 8c db 3a  e5 8d 54 60 43 0d 04 38  |%<=10..:..T`C..8|
000012e0  09 73 6f 25 3d 31 0d 04  42 39 db 3a f1 8a 32 2c  |.so%=1..B9.:..2,|
000012f0  32 29 3b 22 53 6f 72 74  22 3b 8a 32 2c 33 29 3b  |2);"Sort";.2,3);|
00001300  c4 34 2c bd 28 32 34 31  29 29 3a f2 53 45 4c 3a  |.4,.(241)):.SEL:|
00001310  43 46 25 3d 53 46 25 3a  f2 46 4f 50 4f 55 54 0d  |CF%=SF%:.FOPOUT.|
00001320  04 4c 18 4c 45 25 3d 49  4e 25 3a e7 49 4e 25 3c  |.L.LE%=IN%:.IN%<|
00001330  39 8c 4c 45 25 3d 39 0d  04 56 46 4c 31 25 3d 28  |9.LE%=9..VFL1%=(|
00001340  4c 45 25 2a 4e 4f 52 25  29 3a 4c 32 25 3d 28 39  |LE%*NOR%):L2%=(9|
00001350  2a 4e 4f 52 25 29 3a 4c  33 25 3d 4c 31 25 2b 4c  |*NOR%):L3%=L1%+L|
00001360  32 25 3a 6e 6f 6c 25 3d  28 93 2d e0 29 3a e7 4c  |2%:nol%=(.-.):.L|
00001370  33 25 3e 6e 6f 6c 25 8c  e5 8d 54 60 43 0d 04 60  |3%>nol%...T`C..`|
00001380  5a de 73 24 28 4e 4f 52  25 29 3a de 77 24 28 4e  |Z.s$(NOR%):.w$(N|
00001390  4f 52 25 29 3a db 3a f1  8a 32 2c 32 29 3b 22 53  |OR%):.:..2,2);"S|
000013a0  6f 72 74 69 6e 67 20 22  3b 46 49 24 3b 22 20 6f  |orting ";FI$;" o|
000013b0  6e 20 66 69 65 6c 64 20  22 3b 46 4c 24 3b 22 2e  |n field ";FL$;".|
000013c0  2e 2e 22 3b 8a 32 2c 34  29 3b 22 50 6c 65 61 73  |..";.2,4);"Pleas|
000013d0  65 20 77 61 69 74 22 0d  04 6a 58 ff 22 43 4c 4f  |e wait"..jX."CLO|
000013e0  53 45 22 3a 43 3d ad a4  4d 79 46 69 6c 65 28 46  |SE":C=..MyFile(F|
000013f0  49 24 29 3a e3 49 3d 31  b8 4e 4f 52 25 3a cf 23  |I$):.I=1.NOR%:.#|
00001400  43 3d 28 49 2d 31 29 2a  52 45 43 25 2b 54 49 25  |C=(I-1)*REC%+TI%|
00001410  3a e8 23 43 2c 73 24 28  49 29 3a 77 24 28 49 29  |:.#C,s$(I):w$(I)|
00001420  3d c3 28 49 29 3a ed 49  3a 44 3d 4e 4f 52 25 0d  |=.(I):.I:D=NOR%.|
00001430  04 74 0f e7 44 3c 3d 31  8c e5 8d 54 54 45 0d 04  |.t..D<=1...TTE..|
00001440  7e 16 44 3d a8 28 44 2f  32 29 3a 45 4e 3d 4e 4f  |~.D=.(D/2):EN=NO|
00001450  52 25 2d 44 0d 04 88 0b  53 4f 52 54 25 3d 30 0d  |R%-D....SORT%=0.|
00001460  04 92 7c e3 49 3d 31 b8  45 4e 3a 50 4f 49 31 3d  |..|.I=1.EN:POI1=|
00001470  49 3a 50 4f 49 32 3d 49  2b 44 3a 53 31 24 3d 73  |I:POI2=I+D:S1$=s|
00001480  24 28 50 4f 49 31 29 3a  53 32 24 3d 73 24 28 50  |$(POI1):S2$=s$(P|
00001490  4f 49 32 29 3a 4c 31 24  3d 77 24 28 50 4f 49 31  |OI2):L1$=w$(POI1|
000014a0  29 3a 4c 32 24 3d 77 24  28 50 4f 49 32 29 3a e7  |):L2$=w$(POI2):.|
000014b0  54 59 24 3d 22 37 22 84  54 59 24 3d 22 38 22 84  |TY$="7".TY$="8".|
000014c0  54 59 24 3d 22 30 22 8c  53 31 3d bb 28 53 31 24  |TY$="0".S1=.(S1$|
000014d0  29 3a 53 32 3d bb 28 53  32 24 29 0d 04 9c 8a e7  |):S2=.(S2$).....|
000014e0  54 59 24 3d 22 35 22 8c  58 24 3d 22 22 3a 58 24  |TY$="5".X$="":X$|
000014f0  3d 58 24 2b c1 53 31 24  2c 37 2c 32 29 3a 58 24  |=X$+.S1$,7,2):X$|
00001500  3d 58 24 2b c1 53 31 24  2c 34 2c 32 29 3a 58 24  |=X$+.S1$,4,2):X$|
00001510  3d 58 24 2b c1 53 31 24  2c 31 2c 32 29 3a 53 31  |=X$+.S1$,1,2):S1|
00001520  3d bb 28 58 24 29 3a 58  24 3d 22 22 3a 58 24 3d  |=.(X$):X$="":X$=|
00001530  58 24 2b c1 53 32 24 2c  37 2c 32 29 3a 58 24 3d  |X$+.S2$,7,2):X$=|
00001540  58 24 2b c1 53 32 24 2c  34 2c 32 29 3a 58 24 3d  |X$+.S2$,4,2):X$=|
00001550  58 24 2b c1 53 32 24 2c  31 2c 32 29 3a 53 32 3d  |X$+.S2$,1,2):S2=|
00001560  bb 28 58 24 29 0d 04 a6  6a e7 54 59 24 3d 22 36  |.(X$)...j.TY$="6|
00001570  22 8c 58 24 3d 22 22 3a  58 24 3d 58 24 2b c1 53  |".X$="":X$=X$+.S|
00001580  31 24 2c 31 2c 32 29 3a  58 24 3d 58 24 2b c1 53  |1$,1,2):X$=X$+.S|
00001590  31 24 2c 34 2c 32 29 3a  53 31 3d bb 28 58 24 29  |1$,4,2):S1=.(X$)|
000015a0  3a 58 24 3d 22 22 3a 58  24 3d 58 24 2b c1 53 32  |:X$="":X$=X$+.S2|
000015b0  24 2c 31 2c 32 29 3a 58  24 3d 58 24 2b c1 53 32  |$,1,2):X$=X$+.S2|
000015c0  24 2c 34 2c 32 29 3a 53  32 3d bb 28 58 24 29 0d  |$,4,2):S2=.(X$).|
000015d0  04 b0 32 e7 54 59 24 3d  22 31 22 84 54 59 24 3d  |..2.TY$="1".TY$=|
000015e0  22 32 22 84 54 59 24 3d  22 33 22 84 54 59 24 3d  |"2".TY$="3".TY$=|
000015f0  22 34 22 84 54 59 24 3d  22 39 22 8c e5 8d 54 40  |"4".TY$="9"...T@|
00001600  45 0d 04 ba 08 50 25 3d  30 0d 04 c4 53 e7 53 4f  |E....P%=0...S.SO|
00001610  52 44 25 3d 30 8c e7 53  31 3e 53 32 20 8c 53 50  |RD%=0..S1>S2 .SP|
00001620  31 24 3d 4c 31 24 3a 53  50 24 3d 53 31 24 3a 53  |1$=L1$:SP$=S1$:S|
00001630  31 24 3d 53 32 24 3a 4c  31 24 3d 4c 32 24 3a 53  |1$=S2$:L1$=L2$:S|
00001640  32 24 3d 53 50 24 3a 4c  32 24 3d 53 50 31 24 3a  |2$=SP$:L2$=SP1$:|
00001650  53 4f 52 54 25 3d 31 3a  50 25 3d 31 0d 04 ce 53  |SORT%=1:P%=1...S|
00001660  e7 53 4f 52 44 25 3d 31  8c e7 53 31 3c 53 32 20  |.SORD%=1..S1<S2 |
00001670  8c 53 50 31 24 3d 4c 32  24 3a 53 50 24 3d 53 32  |.SP1$=L2$:SP$=S2|
00001680  24 3a 53 32 24 3d 53 31  24 3a 4c 32 24 3d 4c 31  |$:S2$=S1$:L2$=L1|
00001690  24 3a 53 31 24 3d 53 50  24 3a 4c 31 24 3d 53 50  |$:S1$=SP$:L1$=SP|
000016a0  31 24 3a 53 4f 52 54 25  3d 31 3a 50 25 3d 31 0d  |1$:SORT%=1:P%=1.|
000016b0  04 d8 3d e7 50 25 3d 31  8c 73 24 28 50 4f 49 31  |..=.P%=1.s$(POI1|
000016c0  29 3d 53 31 24 3a 73 24  28 50 4f 49 32 29 3d 53  |)=S1$:s$(POI2)=S|
000016d0  32 24 3a 77 24 28 50 4f  49 31 29 3d 4c 31 24 3a  |2$:w$(POI1)=L1$:|
000016e0  77 24 28 50 4f 49 32 29  3d 4c 32 24 0d 04 e2 06  |w$(POI2)=L2$....|
000016f0  ed 49 0d 04 ec 12 e7 53  4f 52 54 25 3e 30 8c e5  |.I.....SORT%>0..|
00001700  8d 74 48 44 0d 04 f6 09  e5 8d 44 74 44 0d 05 00  |.tHD......DtD...|
00001710  3b e3 4a 3d 31 b8 49 4e  25 3a 53 31 3d 97 28 c1  |;.J=1.IN%:S1=.(.|
00001720  53 31 24 2c 4a 2c 31 29  29 3a 53 32 3d 97 28 c1  |S1$,J,1)):S2=.(.|
00001730  53 32 24 2c 4a 2c 31 29  29 3a e7 53 31 3c 3e 53  |S2$,J,1)):.S1<>S|
00001740  32 20 8c e5 8d 64 44 44  0d 05 0a 0c ed 4a 3a e5  |2 ...dDD.....J:.|
00001750  8d 64 44 44 0d 05 14 64  e3 49 3d 31 b8 4e 4f 52  |.dDD...d.I=1.NOR|
00001760  25 3a cf 23 43 3d 28 49  2a 52 45 43 25 29 2d 31  |%:.#C=(I*REC%)-1|
00001770  30 3a f1 23 43 2c 77 24  28 49 29 3a ed 49 3a ff  |0:.#C,w$(I):.I:.|
00001780  22 43 4c 4f 53 45 22 3a  58 3d ad a4 4d 79 46 69  |"CLOSE":X=..MyFi|
00001790  6c 65 28 46 4f 24 29 3a  cf 23 58 3d 34 35 3a f1  |le(FO$):.#X=45:.|
000017a0  23 58 2c 22 33 22 3a cf  23 58 3d 32 33 3a f1 23  |#X,"3":.#X=23:.#|
000017b0  58 2c c3 28 53 46 25 29  0d 05 1e 25 db 3a fb 31  |X,.(SF%)...%.:.1|
000017c0  33 31 3a f1 8a 32 2c 32  29 3b 22 53 6f 72 74 65  |31:..2,2);"Sorte|
000017d0  64 22 3a fb 46 47 25 3a  e5 8d 74 4c 45 0d 05 28  |d":.FG%:..tLE..(|
000017e0  36 dd f2 53 45 4c 45 43  54 3a 45 44 25 3d 59 2b  |6..SELECT:ED%=Y+|
000017f0  28 4c 25 2d 31 29 3a 42  47 25 3d 58 2b 28 57 25  |(L%-1):BG%=X+(W%|
00001800  2d 31 29 3a 53 53 45 4c  25 3d 31 3a 2a 46 58 31  |-1):SSEL%=1:*FX1|
00001810  35 2c 30 0d 05 32 3e e3  49 3d 31 b8 4c 25 3a f1  |5,0..2>.I=1.L%:.|
00001820  8a 58 2c 59 2b 28 49 2d  31 29 29 3b 22 20 20 22  |.X,Y+(I-1));"  "|
00001830  3b 4d 45 24 28 49 29 3b  c4 28 57 25 2d 32 29 2d  |;ME$(I);.(W%-2)-|
00001840  a9 28 4d 45 24 28 49 29  29 2c 22 20 22 29 3a ed  |.(ME$(I))," "):.|
00001850  49 0d 05 3c 2b c8 97 20  58 50 2c 59 50 2c 42 55  |I..<+.. XP,YP,BU|
00001860  54 3a 58 50 3d a8 28 58  50 2f 31 36 29 3a 59 50  |T:XP=.(XP/16):YP|
00001870  3d 33 31 2d a8 28 59 50  2f 33 32 29 0d 05 46 18  |=31-.(YP/32)..F.|
00001880  e7 59 50 3c 59 20 84 20  59 50 3e 45 44 25 8c e5  |.YP<Y . YP>ED%..|
00001890  8d 54 72 45 0d 05 50 18  e7 58 50 3c 58 20 84 20  |.TrE..P..XP<X . |
000018a0  58 50 3e 42 47 25 8c e5  8d 54 72 45 0d 05 5a 72  |XP>BG%...TrE..Zr|
000018b0  53 45 4c 25 3d 28 59 50  2d 59 29 2b 31 3a f2 43  |SEL%=(YP-Y)+1:.C|
000018c0  4c 45 41 3a fb 20 31 33  31 3a fb 31 32 37 3a f1  |LEA:. 131:.127:.|
000018d0  8a 58 2c 59 50 29 3b 22  20 20 22 3b 4d 45 24 28  |.X,YP);"  ";ME$(|
000018e0  53 45 4c 25 29 3b c4 28  57 25 2d 32 29 2d a9 28  |SEL%);.(W%-2)-.(|
000018f0  4d 45 24 28 53 45 4c 25  29 29 2c 22 20 22 29 3a  |ME$(SEL%))," "):|
00001900  fb 20 46 47 25 3a fb 31  32 37 3a e7 42 55 54 3d  |. FG%:.127:.BUT=|
00001910  34 8c e5 8d 44 64 45 3a  8b e5 8d 54 7c 45 0d 05  |4...DdE:...T|E..|
00001920  64 08 ef 37 3a e1 0d 05  6e 52 dd f2 43 4c 45 41  |d..7:...nR..CLEA|
00001930  3a e7 53 53 45 4c 25 3c  3e 53 45 4c 25 8c e3 49  |:.SSEL%<>SEL%..I|
00001940  3d 31 b8 4c 25 3a f1 8a  58 2c 59 2b 28 49 2d 31  |=1.L%:..X,Y+(I-1|
00001950  29 29 3b 22 20 20 22 3b  4d 45 24 28 49 29 3b c4  |));"  ";ME$(I);.|
00001960  28 57 25 2d 32 29 2d a9  28 4d 45 24 28 49 29 29  |(W%-2)-.(ME$(I))|
00001970  2c 22 20 22 29 3a ed 49  0d 05 78 10 53 53 45 4c  |," "):.I..x.SSEL|
00001980  25 3d 53 45 4c 25 3a e1  0d 05 82 05 fa 0d 05 8c  |%=SEL%:.........|
00001990  05 20 0d 05 96 05 20 0d  05 a0 05 20 0d 05 aa 05  |. .... .... ....|
000019a0  20 0d 05 b4 09 20 d9 20  23 30 0d 05 be 0a 20 f2  | .... . #0.... .|
000019b0  51 75 69 74 0d 05 c8 1c  ef 33 2c 32 36 3a d9 20  |Quit.....3,26:. |
000019c0  23 30 3a e7 9f 3d 31 37  20 8c 20 f2 51 75 69 74  |#0:..=17 . .Quit|
000019d0  0d 05 d2 10 e7 67 6f 25  3d 30 8c e5 8d 64 7a 45  |.....go%=0...dzE|
000019e0  0d 05 dc 0b 46 47 25 3d  31 38 30 0d 05 e6 52 f2  |....FG%=180...R.|
000019f0  45 52 57 49 4e 3a fb 31  38 30 3a f1 8a 32 30 2c  |ERWIN:.180:..20,|
00001a00  31 32 29 3b 22 53 79 73  74 65 6d 20 52 65 70 6f  |12);"System Repo|
00001a10  72 74 65 64 20 45 72 72  6f 72 20 23 22 3b 9f 3b  |rted Error #";.;|
00001a20  22 3a 22 3b 8a 32 30 2c  31 34 29 3b f6 24 3a ef  |":";.20,14);.$:.|
00001a30  37 3a fb 46 47 25 3a f2  4d 4b 4c 49 4b 0d 05 f0  |7:.FG%:.MKLIK...|
00001a40  19 ff 22 43 4c 4f 53 45  22 3a ef 33 3a ef 32 36  |.."CLOSE":.3:.26|
00001a50  3a e5 8d 64 64 42 0d 05  fa 7b f2 45 52 57 49 4e  |:..ddB...{.ERWIN|
00001a60  3a fb 31 38 30 3a f1 8a  32 30 2c 31 32 29 3b 22  |:.180:..20,12);"|
00001a70  43 61 6e 6e 6f 74 20 72  65 61 64 20 74 68 65 20  |Cannot read the |
00001a80  66 69 6c 65 20 3a 22 3b  46 49 24 3b 8a 32 30 2c  |file :";FI$;.20,|
00001a90  31 34 29 3b 22 28 64 6f  65 73 20 6e 6f 74 20 65  |14);"(does not e|
00001aa0  78 69 73 74 2f 6e 6f 74  20 61 20 44 61 74 61 56  |xist/not a DataV|
00001ab0  69 73 69 6f 6e 20 66 69  6c 65 29 22 3a fb 46 47  |ision file)":.FG|
00001ac0  25 3a ef 37 3a f2 4d 4b  4c 49 4b 3a e5 8d 74 4c  |%:.7:.MKLIK:..tL|
00001ad0  45 0d 06 04 2c dd f2 59  4e 3a 78 70 3d b1 3a 79  |E...,..YN:xp=.:y|
00001ae0  70 3d bc 3a f1 22 20 22  3b 3a fb 31 33 31 3a f1  |p=.:." ";:.131:.|
00001af0  22 59 45 53 2f 4e 4f 22  3a fb 46 47 25 0d 06 0e  |"YES/NO":.FG%...|
00001b00  38 c8 97 20 58 50 2c 59  50 2c 42 55 54 3a 58 50  |8.. XP,YP,BUT:XP|
00001b10  3d a8 28 58 50 2f 31 36  29 3a 59 50 3d 33 31 2d  |=.(XP/16):YP=31-|
00001b20  a8 28 59 50 2f 33 32 29  3a e7 42 55 54 3d 30 8c  |.(YP/32):.BUT=0.|
00001b30  e5 8d 54 4e 46 0d 06 18  12 e7 59 50 3c 3e 79 70  |..TNF.....YP<>yp|
00001b40  20 8c e5 8d 54 4e 46 0d  06 22 2b e7 58 50 3d 78  | ...TNF.."+.XP=x|
00001b50  70 2b 31 20 84 20 58 50  3d 78 70 2b 32 20 84 20  |p+1 . XP=xp+2 . |
00001b60  58 50 3d 78 70 2b 33 8c  59 4e 3d 31 3a e5 8d 44  |XP=xp+3.YN=1:..D|
00001b70  40 46 0d 06 2c 22 e7 58  50 3d 78 70 2b 35 20 84  |@F..,".XP=xp+5 .|
00001b80  20 58 50 3d 78 70 2b 36  20 8c 59 4e 3d 30 3a e5  | XP=xp+6 .YN=0:.|
00001b90  8d 44 40 46 0d 06 36 09  e5 8d 54 4e 46 0d 06 40  |.D@F..6...TNF..@|
00001ba0  1b f1 8a 78 70 2c 79 70  29 3b 22 20 59 45 53 2f  |...xp,yp);" YES/|
00001bb0  4e 4f 22 3a ef 37 3a e1  0d 06 4a 14 dd 20 a4 4d  |NO":.7:...J.. .M|
00001bc0  79 46 69 6c 65 28 66 69  6c 65 24 29 0d 06 54 0a  |yFile(file$)..T.|
00001bd0  3d 66 69 6c 65 24 0d 06  5e 0b dd 20 f2 51 75 69  |=file$..^.. .Qui|
00001be0  74 0d 06 68 1e c8 99 20  22 57 69 6d 70 5f 43 6f  |t..h... "Wimp_Co|
00001bf0  6d 6d 61 6e 64 57 69 6e  64 6f 77 22 2c 2d 31 0d  |mmandWindow",-1.|
00001c00  06 72 06 c8 98 0d 06 7c  05 e1 0d 9c 40 0d dd f2  |.r.....|....@...|
00001c10  44 69 72 28 64 24 29 0d  9c 4a 29 e7 20 64 24 20  |Dir(d$)..J). d$ |
00001c20  3c 3e 20 22 22 20 8c 20  ff 20 22 44 69 72 20 22  |<> "" . . "Dir "|
00001c30  2b a4 4d 79 46 69 6c 65  28 c1 64 24 2c 32 29 29  |+.MyFile(.d$,2))|
00001c40  0d 9c 54 05 e1 0d ff                              |..T....|
00001c47