Laden, Saven, Drucken von BASIC-Textfeldern bekannter Feldlaenge
(fuer KC 85/3 u. Z1013)
Zeichensatz UTF-8+Z1013()+CTRL()-ohne Umlaute(äöüß)
10 CLS:CLEAR:PRINT AT(5,5);"Laden, Saven, Drucken"
20 PRINT AT(7,5);"von BASIC-Textfeldern"
30 PRINT AT(9,5);"bekannter Feldlaenge"
35 PRINT AT(11,5);"(fuer KC 85/3 u. Z1013)"
36 GOSUB 1230
40 PRINT AT(15,0);"(C) Dr.Trog,H-J;Berlin,Febr.1989":GOSUB 450
50 GOSUB 1230:CLS
60 PRINT "Feld ansehen = 1":PRINT
70 PRINT "Feld saven = 2":PRINT
80 PRINT "Feld laden = 3":PRINT
90 PRINT "Feld drucken = 4":PRINT
100 PRINT "Beenden = 5":PRINT
110 I$=INKEY$:P=VAL(I$)
120 ON P GOTO 150,240,320,370,140
130 IF P<1 OR P>5 THEN 110
140 WINDOW:CLS:END
150 IF I>0 THEN I=1
160 I=1:X=0:CLS:FOR I=1 TO NN:PRINT CHR$(A(I));:IF A(I)=13 THEN X=X+1
170 IF X=15 THEN X=0:GOSUB 460:ELSE 190
180 CLS:GOTO 210
190 IF I=NN THEN GOSUB 460:ELSE 210
200 GOTO 50
210 NEXT I
220 GOSUB 460
230 GOTO 50
240 GOSUB 1230:CLS:GOSUB 490
250 PRINT "Feldlaenge merken:";NN:PRINT:PRINT "Start = S":PRINT
260 I$=INKEY$:IF I$=""THEN 260
261 IF I$<>"S"THEN 260:ELSE W=1
270 IF W=1 THEN 280:ELSE 240
280 CSAVE*""+D$;A
290 PRINT "(M)enue (N)eu":PRINT
291 I$=INKEY$:IF I$=""THEN 291
292 IF I$="M"THEN 50
293 IF I$="N"THEN 10
300 GOTO 291
320 CLEAR:GOSUB 1230:CLS:GOSUB 490
330 INPUT "Feldlaenge?";NN:DIM A(NN):PRINT:PAUSE 5
340 PRINT "Start = S"
341 I$=INKEY$:IF I$=""THEN 341
350 CLOAD*""+D$;A
360 GOTO 50
370 XX=72:GOSUB 1230:GOTO 500
380 ZV=0:W=1:X=0:FOR I=ST TO NN:PRINT#2 CHR$(A(I));:IF A(I)=13 THEN X=X+1
390 IF A(I)=12 THEN X=XX:ZV=1
400 IF X=XX THEN 410:ELSE 420
410 IF NN-I<80 THEN 430:ELSE X=0:GOTO 570
420 NEXT I
430 I=0:CLS:PRINT:PRINT "DATEIENDE ! >ET<":GOSUB 450
440 GOTO 500
450 PRINT AT(20,10);">ENTER<":GOTO 470
460 PRINT AT(30,20);">ENTER<"
470 I$=INKEY$:IF I$=""THEN 470
480 IF I$<>CHR$(13)THEN 470:ELSE RETURN
490 INPUT "Dateiname:";D$:RETURN
500 CLS
510 PRINT "Drucker neu = N":PRINT
520 PRINT " alt = O":PRINT
530 PRINT "Beenden = E":PRINT
540 PRINT "Neues Feld lad.= F":PRINT
550 PRINT "Feld kopieren = K"
560 PRINT:GOTO 580
570 CLS:PRINT:PRINT "neue Seite ! -> S"
580 I$=INKEY$:IF I$=""THEN 580
590 IF I$="N"THEN 660
600 IF I$="E"THEN WINDOW:CLS:CLEAR:END
610 IF I$="K"THEN 700
620 IF I$="F"THEN 740
630 IF I$="S"THEN 705
640 IF I$="O"THEN 790
650 GOTO 580
660 PRINT
670 INPUT "L.Rand:";L:PRINT#2 CHR$(27)"l"CHR$(L)
680 INPUT "Zeichen/Zeile:";R:PRINT#2 CHR$(27)"Q"CHR$(L+R)
690 PRINT#2 CHR$(27)"N"CHR$(7):GOTO 790
700 PRINT#2 CHR$(12):GOTO 790
705 IF ZV=1 THEN ZV=0:GOTO 715
710 PRINT#2 CHR$(12)
715 PRINT "Druck >D<"
740 I$=INKEY$:IF I$=""THEN 740
750 IF I$="D"THEN GOSUB 1000:GOTO 420
770 IF I$="F"THEN PRINT#2 CHR$(12):GOTO 50
780 IF I$I$<>"F"OR I$<>"D"THEN 740
790 GOSUB 900:GOSUB 1100:GOSUB 1250
795 PRINT "Druck START = D"
800 I$=INKEY$:IF I$=""THEN 800
810 IF I$<>"D"THEN 800:ELSE 380
900 PRINT "mit Seitennummer N "
910 I$=INKEY$:IF I$=""THEN 910
920 IF I$<>"J"THEN N=0:RETURN
930 INPUT "Seitennummer =";N
945 IF N=0 THEN RETURN
950 PRINT#2 CHR$(27)"f" "0";
960 PRINT#2 N:PRINT#2 CHR$(10)
970 RETURN
1000 IF N=0 THEN RETURN
1020 N=N+1:GOSUB 945
1030 RETURN
1100 PRINT "Zeilenzahl aendern?(72) N"
1105 PRINT "(ist Seitenvorschub im Text,":PRINT "dann ET "
1110 I$=INKEY$:IF I$=""THEN 1110
1120 IF I$<>"J"THEN RETURN
1130 INPUT "Zeilenzahl =";XX
1140 RETURN
1150 END
1230 WINDOW O,4,0,31:PRINT "Druck 89 Version KC 85/3":PRINT STRING$(30,"*")
1240 WINDOW 5,31,0,31:RETURN
1250 SE=1:PRINT:PRINT "Ab welcher Dateiseite":INPUT "drucken? Nr./(1): ";SE
1260 IF SE>1 THEN 1270:ELSE ST=1:RETURN
1270 X=0:X=XX*(SE-1):Y=0:ST=0:PRINT:PRINT "*** Moment bitte ***":PRINT
1280 FOR I=1 TO NN:ST=ST+1
1290 IF A(I)=13 THEN Y=Y+1
1300 IF Y=X THEN 1320
1310 NEXT
1320 ST=ST+1:RETURN