10 REM check.bas 04.11.86 (C) H.J.Meyer Harsum 20 : 30 ON ERROR GOTO 1080 40 : 50 DEFINT c,s,w,x:DEFSNG e,z: WIDTH 90 60 bell$=CHR$(7):esc$=CHR$(27) 70 invon$=esc$+"p":invoff$=esc$+"q":REM invers an/aus 80 fehl$=bell$+esc$+"A"+esc$+"K"+CHR$(13):REM Zeile löschen 90 : 100 REM Voreinstellung 110 DATA END: REM Dateinane (bzw. end=Program beenden) 120 DATA REM: REM Remark is REM ( In Assembler= ; in Cobol = * usw.) 130 DATA M: REM Ausgabe (M=Monitor/P=Printer/D=Disk) 140 DATA 40: REM Zeilenlänge (10-80) 150 DATA 0: REM Startzeile (0-65534) 160 READ datei$,rmk$,ausgabe$,zlen$,start$ 170 : 180 PRINT esc$"H"esc$"E"; 190 : 200 PRINT:PRINT CHR$(150)STRING$(35,154)CHR$(156) 210 PRINT CHR$(149)" J O Y C E - C H E C K S U M M E R "CHR$(149) 220 PRINT CHR$(147)STRING$(35,154)CHR$(153) 230 PRINT invon$:FILES "m:*.ASC":PRINT:PRINT invoff$ 240 suchdat$=FIND$ ("M:*.asc") 250 IF suchdat$<>""THEN datei$=LEFT$(suchdat$,8) 260 : 270 PRINT"Dateiname","<"datei$">",:INPUT in$ 280 in$=UPPER$(in$):IF in$="" THEN in$=datei$ 290 IF VAL(in$)<>0 OR LEN(in$)>8 THEN PRINT fehl$;:GOTO 270 300 IF in$="END" THEN PRINT:END 310 datei$=in$ 320 : 330 PRINT"REM-Zeichen","<"rmk$">",:INPUT in$ 340 IF in$="" THEN in$=rmk$ 350 IF in$="NO" THEN in$=CHR$(255) 360 rmk$=in$ 370 : 380 PRINT"Ausgabe","<"ausgabe$">",:INPUT in$ 390 in$=UPPER$(in$):IF in$="" THEN in$=ausgabe$ 400 wahl=INSTR("MPD",in$) 410 IF wahl=0 THEN PRINT fehl$;:GOTO 380 420 ausgabe$=in$ 430 : 440 PRINT"Zeilenl{nge","<"zlen$">",:INPUT in$ 450 IF in$="" THEN in$=zlen$ 460 zlen=VAL(in$) 470 IF zlen<10 OR zlen>80 THEN PRINT fehl$;:GOTO 440 480 zlen$=in$ 490 : 500 PRINT"Startzeile","<"start$">",:INPUT in$ 510 IF in$="" THEN in$=start$ 520 erste=VAL(in$) 530 IF erste<0 OR erste>65534! THEN PRINT fehl$;:GOTO 500 540 start$=in$ 550 : 560 datnam$="m:"+datei$+".ASC" 570 prnnam$="a:"+datei$+".PRN" 580 PRINT:OPEN"I",1,datnam$ 590 PRINT"LISTING >"datei$"<, REMARK = >"rmk$"<.":PRINT 600 : 610 IF wahl<>2 THEN 650 620 LPRINT esc$"l"CHR$(10);esc$"M"; 630 LPRINT "LISTING >"datei$"<, REMARK = >"rmk$"<.":LPRINT 640 : 650 IF wahl<>3 THEN 690 660 OPEN"O",2,prnnam$ 670 PRINT #2,"LISTING >";datei$;"<, REMARK = >";rmk$;"<.":PRINT #2," " 680 : 690 IF EOF(1) THEN GOTO 1060 700 LINE INPUT #1,zeile$ 710 IF VAL(zeile$)1 THEN 900 850 PRINT USING"<##> ";summe; 860 teil$=LEFT$(druck$,zlen):PRINT teil$ 870 druck$=MID$(druck$,zlen+1) 880 IF LEN(druck$)>0 THEN PRINT SPACE$(5);:GOTO 860 890 : 900 IF wahl<>2 THEN 970 910 PRINT USING"< ##### >";VAL(druck$); 920 LPRINT USING"<##> ";summe; 930 teil$=LEFT$(druck$,zlen):LPRINT teil$ 940 druck$=MID$(druck$,zlen+1) 950 IF LEN(druck$)>0 THEN LPRINT SPACE$(5);:GOTO 930 960 : 970 IF wahl<>3 THEN 1040 980 PRINT USING"< ##### >";VAL(druck$); 990 PRINT #2,USING"<##> ";summe; 1000 teil$=LEFT$(druck$,zlen):PRINT #2,teil$ 1010 druck$=MID$(druck$,zlen+1) 1020 IF LEN(druck$)>0 THEN PRINT #2,SPACE$(5);:GOTO 1000 1030 : 1040 IF INKEY$=CHR$(8) THEN GOTO 1060 1050 GOTO 690 1060 CLOSE:PRINT:GOTO 200 1070 : 1080 REM Fehlerbehandlung 1090 fehler$=" Fehler Nr."+STR$(ERR)+" in Zeile Nr."+STR$(ERL)+". " 1100 IF ERR=53 THEN fehler$=" Datei nicht vorhanden. " 1110 IF ERL=230 THEN fehler$=" Keine ASCII-Datei vorhanden. " 1120 CLOSE:PRINT invon$;fehler$;invoff$;bell$:PRINT 1130 IF ERL=230 THEN RESUME 270 ELSE RESUME 200