10 '**** DRKHELP - druckt ein CP/M Plus-Handbuch nach den Daten in HELP.DAT
20 '**** Joachim Wrusch, Berlin 1987
30 '**** nach PRTHELP von Richard Suchenwirth, Berlin 1986
40 MODE 1
50 CLS
60 seite=1:zeile=6:zeilemax=65
70 ff$=CHR$(12):fett$=CHR$(27)+"G":mager$=CHR$(27)+"H":breit$=CHR$(14):schmal$=CHR$(20)
80 PRINT TAB(1), "D R K H E L P"
90 PRINT
100 PRINT "Dieses Programm druckt ein kleines Hand-buch fuer den CPC 6128 anhand der Datei"
110 PRINT "HELP.DAT (Aufruf von HELP [EXTRACT] bei CP/M Plus ;Systemdisketten, Seite 3)."
120 PRINT "Bitte mindestens 65 Seiten Endlospapier auf Seitenanfang einlegen, eine Taste   druecken und einen Kaffee trinken gehen!Der Ausdruck dauert ca. 45 Minuten."
130 PRINT "Wenn der Drucker fertig ist druecken Siebitte eine Taste."
140 c$=INKEY$:IF c$="" THEN 140
150 IF INP(&F500)=26 THEN GOTO 160 ELSE PRINT CHR$(7):PRINT "Der Drucker ist noch nicht bereit !!":GOTO 140
160 '
170 '**** Initialisierung
180 '
190 OPENIN "HELP.DAT"
200 PRINT:PRINT "Druck beginnt"
210 WIDTH 80
220 PRINT #8,CHR$(27);"R";CHR$(0);:' Umstellen auf amerikanischen Zeichensatz
230 PRINT #8,CHR$(27);"M";:'         Umstellen auf Elite-Schrift
240 PRINT #8,CHR$(27);"l";CHR$(12);:'linker Rand 1 Zoll zum Abheften
250 '
260 '**** Titelblatt
270 '
280 FOR i=1 TO 20:PRINT #8:NEXT i
290 PRINT #8,fett$;breit$; "HELP.HLP":PRINT #8:PRINT #8,fett$;breit$; "for the Schneider CPC 6128"
300 FOR i=1 TO 10:PRINT #8:NEXT i
310 PRINT #8, "An offline version of what the HELP command would tell you"
320 PRINT #8:PRINT #8, "Text by Digital Research Inc.":PRINT #8
330 PRINT #8, "Printout design by Joachim Wrusch and Richard Suchenwirth"
340 '
350 '**** Inhaltsverzeichnis
360 '
370 titelwort$="CONTENTS":a=1
380 GOSUB 580:PRINT #8:PRINT #8,breit$;fett$; "TABLE OF CONTENTS ("a")":PRINT #8,schmal$;mager$
390 WHILE NOT EOF
400 LINE INPUT #9,inhalt$:inhalt=INSTR(inhalt$,"///"):zahl=INSTR(inhalt$,"///1")
410 word$=UPPER$(MID$(inhalt$+SPACE$(12),7,12))
420 IF inhalt AND zahl THEN PRINT #8:PRINT #8,fett$;word$;mager$:zeile=zeile+2:ELSE IF inhalt AND zahl=0 THEN PRINT #8,TAB(2)word$:zeile=zeile+1
430 IF zeile>zeilemax THEN GOSUB 580:a=a+1:PRINT #8:PRINT #8,breit$; "Table of Contents ("a")":PRINT #8,mager$
440 WEND:CLOSEIN
450 '
460 '**** Schleife: Text drucken
470 '
480 OPENIN "HELP.DAT"
490 WHILE NOT EOF
500 LINE INPUT #9,zeile$:neuesthema=INSTR(zeile$,"///")
510 IF neuesthema THEN stufe$=MID$(zeile$,neuesthema+3,1):wort$=UPPER$(MID$(zeile$+SPACE$(12),7,12))
520 IF stufe$="1" THEN titelwort$=wort$:GOSUB 580:wort$=breit$+wort$+schmal$:stufe$=""
530 IF neuesthema THEN PRINT #8:PRINT #8,fett$;wort$;mager$:zeile=zeile+2 ELSE PRINT #8,zeile$:zeile=zeile+1
540 IF zeile>zeilemax THEN GOSUB 580
550 WEND:PRINT #8:PRINT #8,TAB(28) "*** End of HELP.DAT ***",ff$:CLOSEIN:PRINT CHR$(7):PRINT "Das Handbuch ist fertig"
560 END
570 '
580 '**** SUB Seitenueberschrift
590 '
600 seite=seite+1:zeile=3
610 PRINT #8,ff$;CHR$(27); "-1HELP for the Schneider CPC 6128";SPC(21);titelwort$;seite;CHR$(27)+"-0":PRINT #8:RETURN