Listing of file='609FR030' on disk='vmedia/731-0071G.wvd.zip'
# Sector 362, program filename = '609FR030'
0010 REM %^ '609FR030' - ROUTINES FOR RETRIEVE
0014 COM C4,C6
: DIM C4$(32)16,C5$(2)80,C5
: IF C6<>0THEN 50
: IF SPACEK<42THEN C4=17
: ELSE C4=34
0050 C0$()=ALL(00)
: STR(C0$(),16)=ALL(FF)
: STR(C0$(),1,4)=BIN(1,2)&BIN(2,2)
: V1$()=C0$()
: V4$="P"
: GOSUB 855
: IF R1$<>HEX(00)THEN 355
: V1$()=ALL(FE)
: $PACK(F=HEX(A019A0066006A002A001))V1$()FROMA6$(),A7$(),A0(),A8$(),A9$()
: V4$="A"
: GOSUB 855
: IF R1$<>HEX(00)THEN 355
: GOSUB '47(STR(D2$(),1,2))
: IF D(20)<>0THEN 335
: C$()=D2$()
: C2=3
0165 IF STR(C$(),9,2)=HEX(0000)THEN 185
: V4$="G"
: GOSUB '84(STR(C$(),9,2),3)
0185 IF STR(C$(),11,2)=HEX(0000)THEN 205
: V4$="F"
: GOSUB '84(STR(C$(),11,2),4)
0205 IF STR(C$(),13,2)=HEX(0000)THEN 225
: V4$="H"
: GOSUB '84(STR(C$(),13,2),5)
0225 IF STR(C$(),15,2)=HEX(0000)THEN 255
: V4$="W"
: GOSUB '84(STR(C$(),15,2),6)
0255 V4$="T"
: C1=7
: FOR C=17TO (VAL(STR(C$(),3))-1)*2+17STEP 2
: GOSUB '83(STR(C$(),C,2))
: NEXT C
0295 V1$()=C0$()
: V4$="P"
: GOSUB '221(A1,1,1,1,1)
: LOAD TA5$
0320 GOSUB 2505
: GOTO 295
0335 GOSUB 2510
: GOTO 390
0355 ON VAL(R1$)GOTO 380
: IF R1$>HEX(29)THEN CONVERT (VAL(R1$))TO T2$,(##)
: ELSE HEXUNPACKR1$TO T2$
: GOSUB 2515
: GOTO 390
0380 GOSUB 2520
0390 A5=0
: LOAD TA5$
0405 DEFFN'83(C$)
: C1=C1+1
0420 DEFFN'84(C$,C1)
: IF C1>123THEN 320
: C0$(C1)=BIN(C2,2)
: C5=1
: C2$()=ALL(20)
0470 GOSUB '47(C$)
: IF D(20)<>0THEN 335
: $TRAN(STR(D2$(),8),J1$())
: IF C5=1AND POS(C2$()>20)=0THEN C5$()=STR(D2$(),8,POS(STR(D2$(),8)=83))
: C3=VAL(STR(D2$(),3))-6
: IF C3>0THEN GOSUB '85(STR(D2$(),8,C3))
: C$=STR(D2$(),1,2)
: IF C$=HEX(0000)THEN 550
: MAT SEARCHSTR(C$(),9,VAL(STR(C$(),3))*2+8),=C$TO D1$()STEP 2
: IF D1$()<>HEX(0000)THEN 550
: GOTO 470
0550 IF C$<>HEX(0000)AND C1<>123THEN GOSUB '85(HEX(8F))
: IF POS(-C2$()>20)=0THEN 580
: V1$()=C2$()
: GOSUB 855
: IF R1$<>HEX(00)THEN 355
0580 RETURN
0590 DEFFN'85(C3$())
0600 IF POS(-C2$()>20)+POS(-C3$()>20)>246THEN 620
: STR(C2$(),POS(C2$()=20))=C3$()
: RETURN
0620 S7=POS(-C2$()>20)
: IF S7=0THEN 640
: V1$()=STR(C2$(),1,S7)
: C2$()=" "
0640 IF S7<246THEN STR(V1$(),1+S7)=STR(C3$(),1,246-S7)
: C3$()=STR(C3$(),246-S7+1)
: IF C5=C4THEN 691
0670 GOSUB 855
: C2$()=C3$()
: RETURN
0691 IF C4=17AND C6=0THEN 696
: IF C4=17AND C6<>0THEN 710
: IF C4=34AND C6<>0THEN 710
: GOTO 699
0696 GOSUB 2526
: PRINT AT(21,0,);B2$
: C6=2
: B2$=" "
: GOSUB 2527
: PRINT AT(22,0,);B2$
: C6=2
: B2$=" "
: GOTO 701
0699 GOSUB 2525
: C6=1
: PRINT AT(23,0,);B2$;HEX(07);
: B2$=" "
0701 IF C4=17AND C6<>0THEN GOSUB '34(2)
: ELSE GOSUB '34(0)
: PRINT AT(21,0,);B2$;
: IF C4=17AND J$<>HEX(01)THEN C4=34
: IF J$<>HEX(01)THEN 670
0710 S8=POS(V1$()=86)
: IF S8=0THEN 745
: S9=POS(STR(V1$(),S8)=83)+S8-1
: IF S9=S8-1THEN S8=S8-1
: ELSE S8=S9+1
: GOTO 760
0745 S8=POS(STR(V1$(),230)=80)+229
: IF S8=229THEN S8=245
0760 C4$()=STR(V1$(),S8)
: IF C1<>123THEN STR(V1$(),S8)=HEX(8F)
: ELSE STR(V1$(),S8)=" "
: GOSUB 855
: C5=1
: C1=C1+1
: IF C1>123THEN 320
: C0$(C1)=BIN(C2,2)
: C2$()=C5$()
: C4$()=C4$()&C3$()
: C3$()=C4$()
: GOTO 600
0855 GOSUB '225(A1,1,1,1)
: IF R1$<>HEX(00)THEN 355
: C2=C2+1
: C5=C5+1
: RETURN
2500 % DO NOT RENUMBER THE FOLLOWING
2505 B2$="Too many pages in document to retrieve"
: RETURN
2510 B2$="Archive Document Damaged"
: RETURN
2515 B2$="Error occurred while adding records = "&T2$
: RETURN
2520 B2$="Volume Full"
: RETURN
2525 B2$="Warning : a page was split in document "&R5$
: RETURN
2526 B2$="Page is greater than standard; this partition can't edit if page isn
't split"
: RETURN
2527 B2$="PAGE = split page/EXECUTE = extended page/CANCEL = exit"
: RETURN