Screenshot 1 Screenshot 2
2bc0 35ea 0000 B ... DRUCK85/3
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