0 MASK=PEEK(16):IF MASK>=128 THEN MASK=MASK-128:POKE 16,MASK:POKE 53774,MASK 5 POKE 82,1 10 REM EDITOR CUSTOMIZING MANAGER 20 REM FILENAME "MEDITCM.BAS" 30 REM VERSION 1.0 (08/31/81) 40 REM COPYRIGHT 1981, ATARI 50 REM REQUIRES 32K SYSTEM 60 REM WRITTEN BY MIKE LORENZEN 100 DIM FILENAME$(15) 110 DIM FILECONTENTS(42) 120 DIM ANSWER$(40) 130 DIM KEYSTROKE$(1) 140 DIM EOL$(1) 150 DIM DELETE$(1) 160 DIM SPECIALCHARACTER$(1) 170 DIM LOGICALOR$(16) 180 DIM FINDTAB$(58) 190 DIM TABTABLE$(31) 200 FILESIZE=42 210 CURSORINHIBIT=752 220 CH=764 230 EOL$=CHR$(155) 240 DELETE$=CHR$(126) 250 LOGICALOR$="h(h…Ô(hÔ…Ô©…Õ`" 260 FINDTAB$="hh…Õh…ÔhhH¨)ª©8*Êüª˜JJJ¨ŠÔÑÔðhÉÈ°iÐÞ©…Ô…Õ`h…Ô©…Õ`" 310 POKE CURSORINHIBIT,1:PRINT "}" 320 POSITION 6,3:PRINT "EDITOR CUSTOMIZING MANAGER" 330 POSITION 13,5:PRINT "VERSION 1.0" 340 POSITION 9,11:PRINT "Moechten Sie eine":PRINT " Anleitung haben (J/N) ?" 350 PRINT "Alle Rechte der deutschen Bearbeitung" 352 PRINT " bei der ATARI Vertriebsges. mbH"; 360 GOSUB 24000 370 IF KEYSTROKE$="J" THEN GOTO 20000 380 IF KEYSTROKE$<>"N" THEN PRINT "ý";:GOTO 360 400 REM WHAT EXTENSION GROUP PROMPT 410 PRINT "}" 420 POSITION 3,9:PRINT "Fuer welche Dateigruppe" 422 POSITION 3,10:PRINT "sollen die Aenderungen gelten ?" 430 POSITION 3,11:PRINT "(0-3 Zeichen oder '?') "; 440 SPECIALCHARACTER$="?":ALPHAFLAG=1:GOSUB 28030 450 IF ANSWER$="?" THEN 20000 460 FILENAME$="D1:MEDIT":FILENAME$(LEN(FILENAME$)+1)=ANSWER$:FILENAME$(LEN(FILENAME$)+1)=".ECF" 500 TRAP 580 510 OPEN #1,4,0,FILENAME$ 520 FOR A=1 TO FILESIZE 530 GET #1,B 540 FILECONTENTS(A)=B 550 NEXT A 560 CLOSE #1 570 GOTO 700 580 TRAP 40000 590 CLOSE #1 600 PRINT "}"; 610 POSITION 1,9:PRINT "ýÅÓ ×ÅÒÄÅΠÄÉÅ ÉÎÔÅÒÎÅΠ×ÅÒÔÅ ÖÅÒ×ÅÎÄÅÔ" 620 POSITION 12,12:PRINT "--bitte warten--" 630 FOR A=1 TO FILESIZE 640 READ B 650 FILECONTENTS(A)=B 660 NEXT A 670 GOSUB 25000 680 DATA 114,128,0,2,2,2,2,2,2,2,2,2,2,2,2,2,2,0,0,0,0,0 690 DATA 0,0,0,0,0,0,0,0,0,0,0,64,3,40,128,128,148,10,100,128 700 REM MAIN MENU 710 SETCOLOR 2,INT(FILECONTENTS(39)/16),FILECONTENTS(39)-(INT(FILECONTENTS(39)/16)*16) 720 SETCOLOR 1,0,FILECONTENTS(40)-(INT(FILECONTENTS(40)/16)*16) 730 PRINT "}":POSITION 3,3:POKE 82,0 740 PRINT "Was moechten Sie tun ?" 750 PRINT :PRINT 760 PRINT "A. Parameter speichern & zurueck ins DOS"; 770 PRINT "B. Parameter speichern & neu starten" 780 PRINT "C. Parameter loeschen & zurueck ins DOS" 790 PRINT "D. Paramerer loeschen & neu starten" 800 PRINT 810 PRINT "E. Tabulator Stops aendern" 820 PRINT "F. Maximale Zeilenlaenge aendern" 830 PRINT "G. Zuwachsfaktor aendern" 840 PRINT "H. Randwerte aendern" 850 PRINT "I. Bildschirmfarben aendern" 860 PRINT "J. Verschiedene Flaggen aendern" 870 PRINT :PRINT 880 PRINT " Geben Sie Ihre Wahl ein (A-J)"; 890 LIMIT=10:GOSUB 22000 900 PRINT "}" 910 ON KEYSTROKE GOTO 1000,2000,3000,4000,5000,6000,7000,8000,9000,10000 1000 REM SAVE PARAMETERS & RETURN TO DOS 1010 GOSUB 23000 1020 DOS 2000 REM SAVE PARAMTERS & RE-RUN 2010 GOSUB 23000 2020 RUN 3000 REM FORGET PARAMTERS & RETURN TO DOS 3010 DOS 4000 REM FORGET PARAMTERS & RE-RUN 4010 RUN 5000 REM SET& CLEAR TABSTOPS 5010 PRINT "}":POSITION 0,3:PRINT "SETZEN UND LOESCHEN VON TABULATOR STOPS" 5020 POSITION 1,6 5030 PRINT "Sie koennen sowohl normale als auch " 5040 PRINT "erweiternde Tabulatoren setzen." 5050 PRINT "Waehrend einer Edition koennen die" 5060 PRINT "Tabulator Stops nicht mehr geaendert" 5070 PRINT "werden." 5090 GOSUB 27000 5100 PRINT "}":POSITION 1,6 5110 PRINT "Die normalen Tabulator Stops sind:" 5120 PRINT "9,17,25,33,41,49,57,65,73,81,89,97," 5130 PRINT "105,113" 5140 POSITION 1,12 5150 PRINT "Die derzeitigen Tabulator Stops sind:" 5160 FOR TABSTOP=1 TO 31 5170 TABTABLE$(TABSTOP,TABSTOP)=CHR$(FILECONTENTS(2+TABSTOP)) 5180 NEXT TABSTOP 5190 TABSTOP=2 5200 TABSTOP=USR(ADR(FINDTAB$),ADR(TABTABLE$),TABSTOP) 5210 IF TABSTOP=0 THEN 5250 5220 PRINT TABSTOP;","; 5230 TABSTOP=TABSTOP+1 5240 GOTO 5200 5250 POSITION 0,18 5260 PRINT "(Íenu,Óetzen,Ìoeschen) Waehlen Sie aus" 5270 GOSUB 24000 5280 IF KEYSTROKE$="M" THEN 700 5290 IF KEYSTROKE$="S" THEN 5400 5300 IF KEYSTROKE$<>"L" THEN PRINT "ý";:GOTO 5270 5310 PRINT "ÌÏÅÓÃÈÅÎ" 5320 POSITION 0,20:PRINT "(2-199 oder *) Welche Spalte loeschen?"; 5330 SPECIALCHARACTER$="*":GOSUB 28020:IF ANSWER$="" THEN 5100 5340 IF ANSWER$="*" THEN FOR TABSTOP=1 TO 31:FILECONTENTS(2+TABSTOP)=0:NEXT TABSTOP:GOTO 5100 5350 ANSWER=VAL(ANSWER$) 5360 IF ANSWER<2 OR ANSWER>199 THEN GOSUB 21000:GOTO 5330 5370 TABSTOP=ANSWER:GOSUB 26000 5380 FILECONTENTS(3+OFFSET)=TABCBYTE 5390 GOTO 5100 5400 PRINT "ÓÅÔÚÅÎ" 5410 POSITION 2,20:PRINT "(2-199) Welche Spalte setzen?"; 5420 GOSUB 28000:IF ANSWER$="" THEN 5100 5430 ANSWER=VAL(ANSWER$) 5440 IF ANSWER<2 OR ANSWER>199 THEN GOSUB 21000:GOTO 5420 5450 TABSTOP=ANSWER:GOSUB 26000 5460 FILECONTENTS(3+OFFSET)=TABSBYTE 5470 GOTO 5100 6000 REM SET MAXIMUM LINE LENGTH 6010 PRINT "}":POSITION 3,2:PRINT "MAXIMALE ZEILENLAENGE FESTLEGEN" 6020 POSITION 1,5 6030 PRINT "Der im Betriebssystem enthaltene Bild-" 6040 PRINT " schirmeditor (E:) begrenzt die Zeilen-" 6050 PRINT " laenge auf drei physikalische Zeilen," 6060 PRINT " die meistens 114 Zeichen umfassen. Der" 6070 PRINT " Programm-Text Editor kann Zeilen bis" 6080 PRINT " 200 Zeichen Laenge verarbeiten. Bei" 6090 PRINT " Programmiersprachen, die den einge-" 6100 PRINT " bauten Editor verwenden, duerfen 114" 6110 PRINT " Zeichen pro Zeile nicht ueberschritten" 6112 PRINT " werden." 6120 PRINT 6130 PRINT " Der normale Wert ist 114." 6140 PRINT :PRINT 6150 PRINT " Der derzeitige Wert ist ";FILECONTENTS(1) 6160 PRINT :PRINT " (2-200) Der neue Wert ist "; 6170 GOSUB 28000:IF ANSWER$="" THEN 700 6180 ANSWER=VAL(ANSWER$) 6190 IF ANSWER<2 OR ANSWER>200 THEN GOSUB 21000:GOTO 6170 6200 FILECONTENTS(1)=ANSWER 6210 GOTO 700 7000 REM SET FILE GROWTH 7010 PRINT "}":POSITION 6,2:PRINT "ZUWACHSFAKTOR FESTLEGEN" 7020 POSITION 0,5 7030 PRINT "Vor jeder Edition prueft der Editor" 7040 PRINT "ob genuegend freier Speicherraum auf " 7050 PRINT "der Zieldiskette zur Verfuegung steht." 7060 PRINT "Der Sollwert ist DATEIGROESSE +" 7070 PRINT "ZUWACHSFAKTOR. Sollte der Speicherraum" 7080 PRINT "nicht ausreichen, erhalten Sie eine" 7090 PRINT "Warnmeldung, die Ihnen ermoeglicht, die" 7100 PRINT "Edition abzubrechen, die aber auch" 7110 PRINT "ignoriert werden kann." 7140 PRINT 7150 PRINT "Der normale Wert ist 100." 7160 PRINT :PRINT 7170 PRINT "Der derzeitige Wert ist ";FILECONTENTS(41) 7180 PRINT :PRINT "(0-255) Der neue Wert ist "; 7190 GOSUB 28000:IF ANSWER$="" THEN 700 7200 ANSWER=VAL(ANSWER$) 7210 IF ANSWER>255 THEN GOSUB 21000:GOTO 7190 7220 FILECONTENTS(41)=ANSWER 7230 GOTO 700 8000 REM SET MARGINS 8010 PRINT "}":POSITION 11,2:PRINT "RANDWERTE AENDERN" 8020 POSITION 0,4 8030 PRINT "Sie koennen den rechten und den linken" 8040 PRINT "Rand Ihres Bildschirms waehrend einer" 8050 PRINT "Edition aendern. Verwenden Sie diese " 8060 PRINT "Moeglichkeit, wenn auf Ihrem Bildschirm" 8070 PRINT "Teile des Textes an den Seiten ver-" 8080 PRINT "schwinden. Folgende Regel muss dabei" 8090 PRINT "beachtet werden:" 8100 PRINT 8110 PRINT "  ± ¼½ ÌÍ ¼ ÒÍ ¼½ ´° " 8120 PRINT 8130 PRINT "Die normalen Werte sind LM=3 und RM=40." 8140 PRINT :PRINT 8150 PRINT "Der derzeitige linke Rand ist ";FILECONTENTS(35) 8160 PRINT "Der derzeitige rechte Rand ist ";FILECONTENTS(36) 8170 PRINT 8180 PRINT "(1-RM) Der neue linke Rand ist "; 8190 GOSUB 28000:IF ANSWER$="" THEN 8230 8200 ANSWER=VAL(ANSWER$) 8210 IF ANSWER>=FILECONTENTS(36) OR ANSWER=0 THEN GOSUB 21000:GOTO 8190 8220 FILECONTENTS(35)=ANSWER 8230 PRINT "(LM-40) Der neue rechte Rand ist "; 8240 GOSUB 28000:IF ANSWER$="" THEN 700 8250 ANSWER=VAL(ANSWER$) 8260 IF ANSWER>40 OR ANSWER<=FILECONTENTS(35) THEN GOSUB 21000:GOTO 8240 8270 FILECONTENTS(36)=ANSWER 8280 GOTO 700 9000 REM SET COLOR OF SCREEN 9010 BCOLOR=INT(FILECONTENTS(39)/16) 9020 BLUM=FILECONTENTS(39)-(INT(FILECONTENTS(39)/16)*16) 9030 CLUM=FILECONTENTS(40)-(INT(FILECONTENTS(40)/16)*16) 9040 A=0 9050 PRINT "}":POSITION 8,2:PRINT "BILDSCHIRMFARBEN AENDERN" 9060 POSITION 0,5 9070 PRINT "Hier koennen Sie die Hintergrundfarbe" 9080 PRINT "des Bildschirms bestimmen. Dadurch" 9090 PRINT "lassen sich bestimmte Dateigruppen " 9100 PRINT "kennzeichnen, oder auch einfach Ihre" 9110 PRINT "Lieblingsfarben auf den Bildschirm" 9120 PRINT "bringen. Folgende Faktoren bestimmen " 9130 PRINT "die Farben:" 9140 PRINT 9150 PRINT "1) Hintergrundfarbe (color)," 9160 PRINT "2) Helligkeit des Hintergrunds (B LUM)," 9170 PRINT "3) Helligkeit der Zeichen (C LUM)." 9180 PRINT :PRINT "Die Helligkeiten koennen in geraden," 9190 PRINT "ganzen Zahlen angegeben werden." 9200 GOSUB 27000 9210 PRINT "}":POSITION 0,2:PRINT "Beim festlegen der Farben muessen ein" 9220 PRINT "paar Regeln beachtet werden, die Sie" 9230 PRINT "dem Handbuch zum Programm-Text Editor" 9240 PRINT "entnehmen koennen." 9260 PRINT 9270 PRINT "Der Normalwert fuer color is 9." 9280 PRINT "Der Normalwert fuer B LUM is 4." 9290 PRINT "Der Normalwert fuer C LUM is 10." 9300 PRINT :PRINT 9310 PRINT "Der derzeitige Wert fuer color ist ";:PRINT BCOLOR 9320 PRINT "Der derzeitige Wert fuer B LUM ist ";:PRINT BLUM 9330 PRINT "Der derzeitige Wert fuer C LUM ist ";:PRINT CLUM 9340 PRINT :PRINT 9350 IF A>0 THEN 9410 9360 PRINT "(0-15) Der neue Wert fuer color ist "; 9370 GOSUB 28000:IF ANSWER$="" THEN 9410 9380 ANSWER=VAL(ANSWER$) 9390 IF ANSWER>15 THEN GOSUB 21000:GOTO 9370 9400 BCOLOR=ANSWER 9410 IF A>1 THEN 9490 9420 PRINT "(0-14) Der neue Wert fuer B lum ist "; 9430 GOSUB 28000:IF ANSWER$="" THEN 9490 9440 ANSWER=VAL(ANSWER$) 9450 A=1 9460 IF ANSWER>14 THEN GOSUB 21000:GOTO 9430 9470 IF INT(ANSWER/2)*2<>ANSWER THEN GOSUB 21000:GOTO 9430 9480 BLUM=ANSWER 9490 PRINT "(0-14) Der neue Wert fuer C lum ist "; 9500 GOSUB 28000:IF ANSWER$="" THEN 9560 9510 ANSWER=VAL(ANSWER$) 9520 A=2 9530 IF ANSWER>14 THEN GOSUB 21000:GOTO 9490 9540 IF INT(ANSWER/2)*2<>ANSWER THEN GOSUB 21000:GOTO 9490 9550 CLUM=ANSWER 9560 ANSWER$="" 9570 IF BLUM=CLUM THEN ANSWER$=" B lum darf nicht gleich C lum sein" 9580 IF (BLUM-8)=CLUM THEN ANSWER$=" B lum - 8 darf nicht gleich C lum sein" 9590 IF (CLUM-8)=BLUM THEN ANSWER$=" C lum - 8 darf nicht gleich B lum sein" 9600 FILECONTENTS(39)=(BCOLOR*16)+(FILECONTENTS(39)-(INT(FILECONTENTS(39)/16)*16)) 9610 IF ANSWER$<>"" THEN 9650 9620 FILECONTENTS(39)=INT(FILECONTENTS(39)/16)*16+BLUM 9630 FILECONTENTS(40)=CLUM 9640 GOTO 700 9650 PRINT "}":POSITION 7,3:PRINT "ýÆÁÌÓÃÈÅ ÆÁÒÂËÏÍÂÉÎÁÔÉÏΡ" 9660 POSITION 0,7:PRINT ANSWER$ 9670 POSITION 11,9:PRINT "(siehe Handbuch)" 9680 GOSUB 25000 9690 A=1 9700 GOTO 9260 10000 REM SET MISCELLANEOUS FLAGS 10010 PRINT "}":POSITION 5,3 10020 PRINT "VERSCHIEDEN FLAGGEN AENDERN" 10030 POSITION 2,6 10040 PRINT "A. zurueck ins Hauptmenue" 10050 PRINT 10060 PRINT " B. normale / erweiternde Tabulatoren" 10070 PRINT " C. Darstellung der Tabulatoren" 10080 PRINT " D. Darstellung der RETURN Zeichen" 10090 PRINT " E. automatisches Einruecken" 10100 PRINT " F. Gross- oder Kleinschreibung" 10110 PRINT :PRINT 10120 PRINT " Geben Sie Ihre Wahl ein (A-F) " 10130 LIMIT=6:GOSUB 22000 10140 ON KEYSTROKE GOTO 11000,12000,13000,14000,15000,16000 11000 REM RETURN TO MAIN MENU 11010 GOTO 700 12000 REM SET SPACE TAB/EXPANDING TAB OPTION 12010 PRINT "}":POSITION 3,0:PRINT "NORMALE/ERWEITERNDE TABULATOREN" 12020 PRINT 12030 PRINT "Der Programm-Text Editor erlaubt zwei" 12040 PRINT "Arten von Tabulatoren, Leerzeichen-" 12050 PRINT "Tabulatoren oder erweiternde Tabula-" 12060 PRINT "toren. Die ersten fuegen, genau wie der" 12070 PRINT "eingebaute Editor (E:), soviele Leer-" 12080 PRINT "zeichen in den Text ein, wie auf dem" 12090 PRINT "Bildschirm dargestellt sind. Die" 12100 PRINT "erweiternden Tabulatoren sind Zeiger" 12110 PRINT "fuer bestimmte Tabulaturstops. Wenn Text"; 12120 PRINT "vor einem solchen Tabulator eingefuegt" 12130 PRINT "oder geloescht wird, wird der Tabulator" 12140 PRINT "also trotzdem an derselben Stelle" 12150 PRINT "halten. ×áòîõîçº Nicht alle ATARI" 12160 PRINT "Programmiersprachen erkennen diese er-" 12170 PRINT "weiternden Tabulatoren (EXPANDING TABS)."; 12180 PRINT 12190 PRINT "Leerzeichen Tabulatoren (SPACE TABS) werden normalerweise verwendet." 12200 PRINT 12210 PRINT "Derzeitig sind es "; 12220 ANSWER$="'EXPANDING TABS'" 12230 IF FILECONTENTS(2)>127 THEN ANSWER$="'SPACE TABS'" 12240 PRINT ANSWER$ 12250 PRINT :PRINT "(S or E) Von jetzt an sind es?"; 12260 GOSUB 24000 12270 IF KEYSTROKE$=EOL$ THEN 10000 12280 IF KEYSTROKE$="S" THEN 12310 12290 IF KEYSTROKE$<>"E" THEN PRINT "ý";:GOTO 12260 12300 FILECONTENTS(2)=0:GOTO 10000 12310 FILECONTENTS(2)=128:GOTO 10000 13000 REM SET MENU - TAB DISPLAY METHOD 13010 PRINT "}":POSITION 6,2:PRINT "DARSTELLUNG DER TABULATOREN" 13020 POSITION 0,5 13030 PRINT "Der Editor kann erweiternde Tabulatoren" 13040 PRINT "entweder als Leerzeichen oder als Drei-" 13050 PRINT "ecke, die von Punkten gefolgt werden," 13060 PRINT "darstellen. Gewoehnlich verwendet man" 13070 PRINT "zum Lesen des Textes Leerzeichen und" 13080 PRINT "beim Editieren Dreiecke. Dies kann aber" 13090 PRINT "auch waehrend einer Edition noch ge-" 13100 PRINT "aendert werden." 13110 PRINT 13120 PRINT "Normalerweise sind Dreiecke vorgesehen." 13130 PRINT "('D')." 13140 PRINT :PRINT 13150 PRINT "Derzeitig sind es "; 13160 ANSWER$="'DREIECKE'" 13170 IF FILECONTENTS(37)<128 THEN ANSWER$="'LEERZEICHEN'" 13180 PRINT ANSWER$ 13190 PRINT :PRINT "(L oder D) Von jetzt an sind es?"; 13200 GOSUB 24000 13210 IF KEYSTROKE$=EOL$ THEN 10000 13220 IF KEYSTROKE$="L" THEN 13250 13230 IF KEYSTROKE$<>"D" THEN PRINT "ý";:GOTO 13200 13240 FILECONTENTS(37)=128:GOTO 10000 13250 FILECONTENTS(37)=0:GOTO 10000 14000 REM SET MENU - HOW TO DISPLAY CARRAIGE RETURNS 14010 PRINT "}":POSITION 4,3:PRINT "DARSTELLUNG DER RETURN ZEICHEN" 14020 POSITION 0,6 14030 PRINT "RETURN Zeichen koennen entweder als " 14040 PRINT "Leerzeichen oder als nach unten weisende"; 14050 PRINT "Pfeile dargestellt werden. Gewoehnlich" 14060 PRINT "verwendet man Leerzeichen, um den Text" 14070 PRINT "lesen und Pfeile beim Editieren. Dies" 14080 PRINT "kann aber auch waehrend einer Edition" 14090 PRINT "noch geaendert werden." 14100 PRINT 14110 PRINT "Normalerweise werden Pfeile verwendet ('P')." 14120 PRINT :PRINT 14130 PRINT "Derzeitig sind es "; 14140 ANSWER$="'PFEILE'" 14150 IF FILECONTENTS(38)<128 THEN ANSWER$="'LEERZEICHEN'" 14160 PRINT ANSWER$ 14170 PRINT :PRINT "(L oder P) Von jetzt an sind es?"; 14180 GOSUB 24000 14190 IF KEYSTROKE$=EOL$ THEN 10000 14200 IF KEYSTROKE$="L" THEN 14230 14210 IF KEYSTROKE$<>"P" THEN PRINT "ý";:GOTO 14180 14220 FILECONTENTS(38)=128:GOTO 10000 14230 FILECONTENTS(38)=0:GOTO 10000 15000 REM SET MENU - AUTO-INDENTATION FEATURE 15010 PRINT "}":POSITION 6,3:PRINT "AUTOMATISCHES EINRUECKEN" 15020 POSITION 0,6 15030 PRINT "Das automatische Einruecken kann hier" 15040 PRINT "ermoeglicht oder ausser Kraft gesetzt" 15050 PRINT "werden. Fuer Programmiersprachen in der" 15060 PRINT "Art von PASCAL kann das automatische" 15062 PRINT "Einruecken eine wertvolle Hilfe sein." 15070 PRINT 15080 PRINT "Normalerweise ist es ermoeglicht ('E')" 15090 PRINT :PRINT 15100 PRINT "Derzeit ist es "; 15110 ANSWER$="'AUSSER KRAFT'" 15120 IF FILECONTENTS(42)>127 THEN ANSWER$="'ERMOEGLICHT'" 15130 PRINT ANSWER$ 15140 PRINT :PRINT "(A or E) Von jetzt an ist es ?"; 15150 GOSUB 24000 15160 IF KEYSTROKE$=EOL$ THEN 10000 15170 IF KEYSTROKE$="A" THEN 15200 15180 IF KEYSTROKE$<>"E" THEN PRINT "ý";:GOTO 15150 15190 FILECONTENTS(42)=128:GOTO 10000 15200 FILECONTENTS(42)=0:GOTO 10000 16000 REM SET STARTING CASELOCK 16010 PRINT "}":POSITION 6,3:PRINT "GROSS- ODER KLEINSCHREIBUNG" 16020 POSITION 0,6 16030 PRINT "Hier koennen Sie festlegen ob der Editor"; 16040 PRINT "im Gross- oder im Kleinschreibmodus" 16050 PRINT "startet. Dies kann waehrend einer" 16060 PRINT "Edition mit der CAPS LOWR Taste wieder" 16070 PRINT "geaendert werden." 16100 PRINT 16110 PRINT "Normalerweise wird mit Grossschrift begonnen ('G')." 16120 PRINT :PRINT 16130 PRINT "Derzeit ist es "; 16140 ANSWER$="GROSSSCHRIFT" 16150 IF FILECONTENTS(34)=0 THEN ANSWER$="KLEINSCHRIFT" 16160 PRINT ANSWER$ 16170 PRINT :PRINT "(G oder K) Von jetzt an ist es ?"; 16180 GOSUB 24000 16190 IF KEYSTROKE$=EOL$ THEN 10000 16200 IF KEYSTROKE$="G" THEN 16230 16210 IF KEYSTROKE$<>"K" THEN PRINT "ý";:GOTO 16180 16220 FILECONTENTS(34)=0:GOTO 10000 16230 FILECONTENTS(34)=64:GOTO 10000 20000 REM PRINT INSTRUCTIONS 20010 PRINT "}":POSITION 15,3 20020 PRINT "ANLEITUNG" 20030 POSITION 2,6 20040 PRINT "Mit dem EDITOR CUSTOMIZING MANAGER " 20050 PRINT "koennen Sie den Programm-Text Editor" 20060 PRINT "Ihren eigenen Erfordernissen ent-":PRINT "sprechend anpassen." 20070 PRINT "Der Editor liest spezielle Dateien in" 20080 PRINT "der Form 'MEDITxxx.ECF', wobei xxx den" 20090 PRINT "Dateinamen-Zusatz darstellt. Alle" 20100 PRINT "Dateien mit diesem Zusatz werden dann" 20110 PRINT "in der geaenderten Form behandelt." 20130 GOSUB 27000 20140 PRINT "}" 20150 POSITION 0,4 20160 PRINT "Folgende Parameter koennen Sie aendern:" 20170 PRINT 20180 PRINT "TABULATOR STOPS - setzen oder loeschen" 20190 PRINT "MAXIMALE ZEILENLAENGE (2-200)" 20200 PRINT "DATEI-ZUWACHSFAKTOR" 20210 PRINT "RANDWERTE DES BILDSCHIRMS" 20220 PRINT "FARBE DES BILDSCHIRMS" 20230 PRINT "VERSCHIEDENE FLAGGEN" 20240 PRINT " normale/erweiternde Tabulatoren" 20250 PRINT " Darstellung der Tabulatoren" 20260 PRINT " Darstellung der RETURN Zeichen" 20270 PRINT " automatisches Einruecken" 20280 PRINT " Gross- oder Kleinschrift" 20290 GOSUB 27000 20300 PRINT "}" 20310 POSITION 4,9 20320 PRINT "Moechten Sie mit dem Programm" 20330 PRINT " fortfahren, nachdem Sie nun wissen" 20340 PRINT " was es kann ? (J oder N)" 20350 GOSUB 24000 20360 IF KEYSTROKE$="N" THEN DOS 20370 IF KEYSTROKE$<>"J" THEN PRINT "ý";:GOTO 20350 20380 GOTO 400 21000 REM RETRY INPUT SETUP ROUTINE 21010 PRINT "ýý"; 21020 POSITION COLUMN,ROW 21030 RETURN 22000 REM GET MENU KEYSTROKE ROUTINE 22010 GOSUB 24000 22020 IF KEYSTROKE$<"A" OR KEYSTROKE$>"Z" THEN PRINT "ý";:GOTO 22000 22030 KEYSTROKE=ASC(KEYSTROKE$)-64 22040 IF KEYSTROKE>LIMIT THEN PRINT "ý";:GOTO 22010 22050 RETURN 23000 REM SAVE PARAMETERS 23010 TRAP 23090 23020 OPEN #1,8,0,FILENAME$ 23030 FOR A=1 TO FILESIZE 23040 B=FILECONTENTS(A) 23050 PUT #1,B 23060 NEXT A 23070 CLOSE #1 23080 RETURN 23090 TRAP 40000 23100 PRINT "}":POSITION 8,10 23110 PRINT "ýÆåèìåò âåéí Óðåéãèåòî ­ ÓÏÒÒÙ" 23120 POSITION 12,14:PRINT "--bitte warten--" 23130 GOSUB 25000 23140 RETURN 24000 REM GET KEYBOARD CHARACTER 24010 POKE CH,255 24020 TRAP 24120 24030 OPEN #1,4,0,"K:" 24040 GET #1,KEYSTROKE 24050 CLOSE #1 24060 TRAP 40000 24070 KEYSTROKE$=CHR$(KEYSTROKE) 24080 IF KEYSTROKE$=EOL$ OR KEYSTROKE$=DELETE$ THEN RETURN 24090 IF ASC(KEYSTROKE$)>=128 THEN KEYSTROKE$=CHR$(ASC(KEYSTROKE$)-128) 24100 IF KEYSTROKE$>="a" AND KEYSTROKE$<="z" THEN KEYSTROKE$=CHR$(ASC(KEYSTROKE$)-32) 24110 RETURN 24120 CLOSE #1 24130 GOTO 24000 25000 REM DELAY SUBROUTINE 25010 FOR DELAY=1 TO 200 25020 NEXT DELAY 25030 RETURN 26000 REM TAB MAP ROUTINE 26010 OFFSET=INT(TABSTOP/8) 26020 BYTE=FILECONTENTS(3+OFFSET) 26030 BIT=TABSTOP-INT(OFFSET*8) 26040 MASK=INT((2^BIT)+0.5) 26050 TABSBYTE=USR(ADR(LOGICALOR$),BYTE,MASK) 26060 TABCBYTE=BYTE:IF BYTE=TABSBYTE THEN TABCBYTE=TABCBYTE-MASK 26070 FOUNDTAB=0:IF BYTE=TABSBYTE THEN FOUNDTAB=1 26080 RETURN 27000 REM TOUCH SPACE-BAR TO CONTINUE ROUTINE 27010 POSITION 5,22 27020 PRINT "--- Weiter mit Ìååòôáóôå ---" 27030 GOSUB 24000 27040 IF KEYSTROKE$<>" " THEN PRINT "ý";:GOTO 27030 27050 RETURN 28000 REM 3 CHAR INPUT ROUTINE 28010 SPECIALCHARACTER$="" 28020 ALPHAFLAG=0 28030 ROW=PEEK(84) 28040 COLUMN=PEEK(85) 28050 ANSWER$="  " 28060 LENGTH=0 28070 POKE CH,255 28080 POSITION COLUMN,ROW 28090 PRINT ANSWER$; 28100 GOSUB 24020 28110 IF KEYSTROKE$>="0" AND KEYSTROKE$<="9" THEN 28270 28120 IF ALPHAFLAG=1 THEN IF KEYSTROKE$>="A" AND KEYSTROKE$<="Z" THEN 28270 28130 IF KEYSTROKE$=DELETE$ THEN 28180 28140 IF KEYSTROKE$=EOL$ THEN 28240 28150 IF KEYSTROKE$=SPECIALCHARACTER$ THEN 28220 28160 PRINT "ý"; 28170 GOTO 28100 28180 IF LENGTH=0 THEN 28160 28190 ANSWER$(LENGTH,LENGTH+1)="  " 28200 LENGTH=LENGTH-1 28210 GOTO 28080 28220 IF LENGTH=0 THEN ANSWER$=SPECIALCHARACTER$:RETURN 28230 GOTO 28160 28240 POSITION COLUMN,ROW:ANSWER$(LENGTH+1)=" ":PRINT ANSWER$:IF LENGTH=0 THEN ANSWER$="":RETURN 28250 ANSWER$=ANSWER$(1,LENGTH) 28260 RETURN 28270 IF LENGTH=3 THEN 28160 28280 LENGTH=LENGTH+1 28290 ANSWER$(LENGTH,LENGTH)=KEYSTROKE$ 28300 ANSWER$(LENGTH+1,LENGTH+1)=" " 28310 GOTO 28080