DataMuseum.dk

Presents historical artifacts from the history of:

MIKADOS

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about MIKADOS

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦6e77bf8d0⟧ TextFile

    Length: 2528 (0x9e0)
    Types: TextFile
    Notes: Mikados TextFile, Mikados_K
    Names: »PURGE80«

Derivation

└─⟦670c0171b⟧ Bits:30005246 COMAL-80 version 1.3 (MIKADOS)
    └─ ⟦this⟧ »PURGE80« 
└─⟦6980b4520⟧ Bits:30003618 MIKADOS start diskette med DDE COMAL-80 version 1.5
    └─ ⟦this⟧ »PURGE80« 

Text

0100 // PNM 05.09.1980, COMAL80 VERSION 27.04.1982
0110 // PURGE80
0120 DIM NAVN$ OF 18,DREVN$ OF 9,FILNAVN$ OF 9,FILTYPE$ OF 1
0130 DIM SIDSTECHAR$ OF 1
0140 INTEGER FLAG,FOREVER,INDEX,Y
0150 PRINT 
0160 PRINT "PURGE80 - SLET EN FIL"
0170 PRINT "PROGRAMMET STOPPES VED AT TRYKKE PAA ESC"
0180 REPEAT 
0190 PRINT 
0200 REPEAT 
0210 NAVN$:="";FILNAVN$:="";DREVN$:="";FLAG,FOREVER:=0;INDEX:=1
0220 PRINT "INDTAST ";
0230 INPUT "'ETIKETTE:FILNAVN' FOR DEN FIL, DER 0NSKES SLETTET: ":NAVN$
0240 EXEC KONVERTOGMOVE(NAVN$,INDEX,DREVN$,SIDSTECHAR$,FLAG)
0250 IF SIDSTECHAR$<>":" OR INDEX>9 OR INDEX=1 THEN FLAG:=1
0260 INDEX:=INDEX+1
0270 EXEC KONVERTOGMOVE(NAVN$,INDEX,FILNAVN$,SIDSTECHAR$,FLAG)
0280 IF LEN(FILNAVN$)>8 OR LEN(FILNAVN$)<1 OR NAVN$(18)<>"" THEN FLAG:=1
0290 IF SIDSTECHAR$=":" THEN FLAG:=1
0300 UNTIL FLAG=0
0310 REPEAT 
0320 PRINT "INDTAST FILTYPE ";
0330 INPUT "(K FOR PROGRAM-/DATAFILER, B FOR BINAERFILER): ":FILTYPE$
0340 UNTIL FILTYPE$="K" OR FILTYPE$="B"
0350 EXEC PURGE
0360 UNTIL FOREVER
0370 PROC PURGE
0380 CALL "SYSPROG:PERGE"
0390 IF FLAG<>0 THEN 
0400 PRINT "PURGE MISLYKKEDES. FEJLKODE ";FLAG
0410 STOP 
0420 ELSE 
0430 PRINT DREVN$;":";FILNAVN$;" ER NU SLETTET"
0440 ENDIF 
0450 ENDPROC PURGE
0460 PROC KONVERTOGMOVE(NFRA$,REF I,REF NTIL$,REF CH$,REF F)
0470 Y:=1
0480 REPEAT 
0490 CH$:=NFRA$(I)
0500 IF CH$=>"a" AND CH$<="å" THEN CH$:=CHR$(ORD(CH$)-32)
0510 IF CH$<>":" THEN 
0520 IF (CH$=>"0" AND CH$<="9") OR (CH$=>"A" AND CH$<="Å") OR CH$="_" THEN 
0530 NTIL$(Y):=CH$;Y:=Y+1;I:=I+1
0540 ELSE 
0550 IF CH$<>"" THEN 
0560 F:=1
0570 EXIT // ULOVLIGT TEGN
0580 ENDIF 
0590 ENDIF 
0600 ENDIF 
0610 UNTIL Y=LEN(NFRA$)+1 OR CH$=":" OR CH$="" OR LEN(NTIL$)=>9 OR I=>18
0620 ENDPROC KONVERTOGMOVE

TextFile

20100 // PNM 05.09.1980, COMAL80 VERSION 27.04.19822▶0f◀0110 // PURGE80▶0f◀<0120 DIM NAVN$ OF 18,DREVN$ OF 9,FILNAVN$ OF 9,FILTYPE$ OF 1<▶19◀0130 DIM SIDSTECHAR$ OF 1▶19◀!0140 INTEGER FLAG,FOREVER,INDEX,Y!▶0b◀0150 PRINT ▶0b◀"0160 PRINT "PURGE80 - SLET EN FIL""50170 PRINT "PROGRAMMET STOPPES VED AT TRYKKE PAA ESC"5\f

0180 REPEAT \f

▶0b◀0190 PRINT ▶0b◀\f

0200 REPEAT \f

?0210 NAVN$:="";FILNAVN$:="";DREVN$:="";FLAG,FOREVER:=0;INDEX:=1?▶16◀0220 PRINT "INDTAST ";▶16◀G0230 INPUT "'ETIKETTE:FILNAVN' FOR DEN FIL, DER 0NSKES SLETTET: ":NAVN$G<0240 EXEC KONVERTOGMOVE(NAVN$,INDEX,DREVN$,SIDSTECHAR$,FLAG)<;0250 IF SIDSTECHAR$<>":" OR INDEX>9 OR INDEX=1 THEN FLAG:=1;▶13◀0260 INDEX:=INDEX+1▶13◀>0270 EXEC KONVERTOGMOVE(NAVN$,INDEX,FILNAVN$,SIDSTECHAR$,FLAG)>H0280 IF LEN(FILNAVN$)>8 OR LEN(FILNAVN$)<1 OR NAVN$(18)<>"" THEN FLAG:=1H$0290 IF SIDSTECHAR$=":" THEN FLAG:=1$▶11◀0300 UNTIL FLAG=0▶11◀\f

0310 REPEAT \f

▶1e◀0320 PRINT "INDTAST FILTYPE ";▶1e◀E0330 INPUT "(K FOR PROGRAM-/DATAFILER, B FOR BINAERFILER): ":FILTYPE$E'0340 UNTIL FILTYPE$="K" OR FILTYPE$="B"'▶0f◀0350 EXEC PURGE▶0f◀▶12◀0360 UNTIL FOREVER▶12◀▶0f◀0370 PROC PURGE▶0f◀▶19◀0380 CALL "SYSPROG:PERGE"▶19◀▶15◀0390 IF FLAG<>0 THEN ▶15◀.0400 PRINT "PURGE MISLYKKEDES. FEJLKODE ";FLAG.
0410 STOP 

0420 ELSE 
/0430 PRINT DREVN$;":";FILNAVN$;" ER NU SLETTET"/▶0b◀0440 ENDIF ▶0b◀▶12◀0450 ENDPROC PURGE▶12◀<0460 PROC KONVERTOGMOVE(NFRA$,REF I,REF NTIL$,REF CH$,REF F)<	0470 Y:=1	\f

0480 REPEAT \f

▶12◀0490 CH$:=NFRA$(I)▶12◀90500 IF CH$=>"a" AND CH$<="å" THEN CH$:=CHR$(ORD(CH$)-32)9▶16◀0510 IF CH$<>":" THEN ▶16◀K0520 IF (CH$=>"0" AND CH$<="9") OR (CH$=>"A" AND CH$<="Å") OR CH$="_" THEN K 0530 NTIL$(Y):=CH$;Y:=Y+1;I:=I+1 
0540 ELSE 
▶15◀0550 IF CH$<>"" THEN ▶15◀	0560 F:=1	▶1a◀0570 EXIT // ULOVLIGT TEGN▶1a◀▶0b◀0580 ENDIF ▶0b◀▶0b◀0590 ENDIF ▶0b◀▶0b◀0600 ENDIF ▶0b◀H0610 UNTIL Y=LEN(NFRA$)+1 OR CH$=":" OR CH$="" OR LEN(NTIL$)=>9 OR I=>18H▶1a◀0620 ENDPROC KONVERTOGMOVE▶1a◀▶00◀▶00◀▶00◀▶00◀▶00◀▶1a◀▶01◀+▶1b◀▶01◀#Af▶01◀ ▶00◀▶00◀▶00◀▶00◀▶00◀▶00◀TE:=CD"▶10◀       INX     B▶10◀▶12◀       MOV     A,E▶12◀▶10◀       STAX    B▶10◀▶10◀       INX     B▶10◀▶12◀       MOV     A,D▶12◀"       STAX    B       ;SIDSTE:=CD"▶12◀       POP     PSW▶12◀
       RET
▶01◀ ▶01◀(FIRST: LDAX    B       ;A:=KÆDENS LÆNGDE(▶1e◀       ANA     A       ;TEST A▶1e◀)       JZ      FEMPT   ;JMP HVIS TOM KÆDE)▶10◀       DCR     A▶10◀*       STAX    B       ;LÆNGDE:=LÆNGDE - 1*!       INX     B       ;BC->FIRST!\r       LDAX B\r!       MOV     E,A     ;DE:=FIRST!▶10◀       INX     B▶10◀▶10◀       LDAX    B▶10◀▶12◀       MOV     D,A▶12◀'       DCX     B       ;BC->FIRST(IGEN)'&       LDAX    D       ;FIRST:=CD.LINK&▶10◀       STAX    B▶10◀▶10◀       INX     B▶10◀▶10◀       INX     D▶10◀▶10◀       LDAX    D▶10◀.       STAX    B       ;FØRSTE(2):=CD.LINK(21).$       DCX     D       ;DE:= CD IGEN$▶1c◀   c