Listing of file='IDS2PP14' on disk='vmedia/701-2725B.wvd.zip'
# Sector 143, program filename = 'IDS2PP14'
1000 REM "IDS2PP14" - INTERACTIVE PROGRAM GENERATOR - P/F SPEC "H" DISPLAY MES
SAGE
1009 DIM J8$64
: IF F6$(17)<"^"THEN SELECT @PART"IDS2SUBM"
: J8$=E4$()
: E4$()=" "
: E0$()=" "
: F5$=F1$
: GOSUB 3050
: IF Q<>250THEN 1100
: IF F5$="PRINTBOX"OR F5$="ERASEBOX"THEN 1500
: IF F5$<>"RINGBELL"THEN 1040
: E4$()=E4$()&HEX(A0D23037293BBA)
: E0$()="Sound alarm"
: GOTO 3010
1040 IF VER(F5$,"DISPERR#")<8AND VER(F5$,"DISPMSG#")<8THEN 1100
: E0$()=STR(E$(),VAL(STR(F5$,8))*64-1670,64)
: IF NUM(F2$)=8THEN 1045
: IF STR(F5$,5,3)="ERR"THEN E8$="'35("
: ELSE E8$="'53("
: IF F5$="DISPERR0"THEN E4$()=E4$()&HEX(9A)&E8$&"F0$)"&HEX(BA)
: ELSE E4$()=E4$()&HEX(9A)&E8$&HEX(22)&E0$()&HEX(2229BA)
1043 IF STR(F5$,5,3)="ERR"THEN E0$()="Display error message on line 24 and sou
nd alarm"
: ELSE E0$()="Display operator prompt on line 24"
: GOTO 3010
1045 IF STR(F5$,5,3)="ERR"THEN E4$()=E4$()&HEX(A0D23037293B3A)
: IF F5$="DISPERR0"THEN E4$()=E4$()&"E$=F0$"&HEX(BA)
: ELSE E4$()=E4$()&"E$="&HEX(22)&E0$()&HEX(22BA)
: E0$()="Display message @ line "&STR(F2$,,2)&", column "&STR(F2$,3,2)
: IF STR(F5$,5,3)="ERR"THEN E0$()=E0$()&" and sound alarm"
: GOTO 3000
1100 GOSUB 3050
: E4$()=E4$()&HEX(9A)&"'43("&E8$&")"&HEX(BA)
: E0$()="Display field "&HEX(22)&F5$&HEX(22)
: GOTO 3000
1500 GOSUB 3040
: E4$()=E4$()&");BOX("
: IF F5$="PRINTBOX"THEN E4$()=E4$()&STR(F2$,5,2)&","&STR(F2$,7)
: IF F5$="ERASEBOX"THEN E4$()=E4$()&"-"&STR(F2$,5,2)&",-"&STR(F2$,7)
: OR (STR(F5$,2),20)
: E0$()=STR(F5$,,5)&" "&STR(F5$,6,3)
: E4$()=E4$()&");"&HEX(D2)&"06);"&HEX(BA)
: GOTO 3010
3000 GOSUB 3040
: E4$()=E4$()&","&STR(F2$,5,2)&HEX(293B)
: IF STR(F2$,7)="00"THEN E4$()=E4$()&"E$;"&HEX(BA)
: ELSE E4$()=E4$()&HEX(D3)&"E$,,"&STR(F2$,7)&HEX(293BBA)
: GOTO 3010
3010 IF E2(2)>0AND E0$()>" "THEN E4$()=E4$()&HEX(A2)&E0$()&HEX(BA)
: E4$()=E4$()&STR(J8$,2)
: IF STR(E4$(),LEN(E4$()))=HEX(BA)THEN STR(E4$(),LEN(E4$()))=HEX(1B)
: IF POS(E4$()=BA)>0THEN E$=F0$
: IF E$<>" "THEN STR(F$(),LEN(F$())+1)=E$
: IF E4$()<>" "THEN STR(F$(),LEN(F$())+1)=STR(E4$(),POS(E4$()>20))
: LOAD DA T#2,(D$(13))1000,
3030 STOP "END IT"
3040 IF F2$=" "THEN F2$="24010080"
: CONVERT STR(F2$,,2)TO Q
: Q=Q-1
: GOSUB 3060
: E4$()=E4$()&HEX(A0)&"@E1$(2);"&HEX(F5)&E8$&","
: CONVERT STR(F2$,3,2)TO Q
: Q=Q-1
: GOSUB 3060
: E4$()=E4$()&E8$
: RETURN
3050 Q=250
: IF F5$=" "THEN 3060
: MAT SEARCHE3$(),=STR(F5$,,8)TO F9$STEP 8
: IF F9$>HEX(0000)THEN Q=INT((VAL(F9$,2)+7)/8)
: IF Q<250THEN 3060
: IF VER(F5$,"@TSTFLD#")=8THEN Q=VAL(STR(F5$,8))+203
: IF F5$="@SYSBUF0"THEN Q=269
3060 DEFFN'71(Q)
: E8$=" "
: $PACK(F=HEX(1006))E8$FROMQ
: E8$=STR(E8$,POS(E8$>20))
: RETURN
3070 IF STR(F5$,,2)="IF"THEN F9$=HEX(8A)
: IF STR(F5$,,2)="OR"THEN F9$=HEX(8B)
: IF LEN(E$)>1THEN E$=E$&F9$
: $TRAN(F9$,HEX(8A8B8B8A))R
: IF LEN(F0$)>1THEN F0$=F0$&F9$
: RETURN
3699 ON ERRORE1$,E2$GOTO 3700
3700 DEFFN'31
: E$="IDS2PP14"
: IF E5$<"Y"THEN LOAD T#2,"IDS2PER1"1000,
: STOP "ERROR"