#limit (11.0)##pagelength (16.5)##block# #start (2.0,0.0)# #page (49)# #headodd# #center#gs-DIALOG#right#% #end# #headeven# %#center#gs-DIALOG #end# #center#5 #center#Informationen für Lehrer/Programmierer 5.1 "Verschlüsselung" der Dateien auf der Diskette Wenn Sie sich die Inhalte der Dateien angesehen haben, in denen die Programme für #on("b")#gs-DIALOG#off("b")# enthalten sind, werden Sie festgestellt haben, daß der Code dicht gepackt ist. Das war notwendig, um die gesamten Programme auf einer Diskette unterzubringen. Allerdings ist der Code #on("u")#nicht#off("u")# verschlüsselt - nur dichter gepackt. Auf der gelieferten Diskette befindet sich eine Datei mit Namen "gs-DIALOG decompress". In die­ ser Datei ist das (einfache) Komprimier- und Dekompri­ mierprogramm enthalten. Insertieren Sie dieses Programm in einer Task. Anschließend stehen Ihnen zwei Befehle zur Verfügung: PROC komprimiere (TEXT CONST dateiname): Die angegebene Datei wird komprimiert; die Datei steht anschließend unter gleichem Namen zur Verfügung. PROC dekomprimiere (TEXT CONST dateiname): Eine zuvor mit 'komprimiere' bearbeitete Datei wird - bis auf die Leerzeilen - in den Ursprungszustand über­ führt. Die Datei steht anschließend wieder unter glei­ chem Namen zur Verfügung. Dieser 'Service' ist vornehmlich für Lehrer gedacht. So können Programmteile im Unterricht Gegenstand von Betrachtungen sein; Schüler können nach optimaleren Algorithmen für Teillösungen suchen - ggf. Anregungen geben. Sinnvoll ist es, das eigentliche Programm nicht zu verändern, um die Lauffähigkeit der unter #on("b")#gs-DIALOG#off("b")# entwickelten Software nicht zu gefährden. 5.2 Nutzung der Graphikzeichen auf anderen Rechnern/ Terminals Wie schon unter "2.4 Nutzung der 'Semi - Graphik - Zeichen'" erwähnt, ist #on("b")#gs-DIALOG#off("b")# darauf vorbereitet, für 'IBM - kompatible Rechner' und für Terminals 'Beehive FT20' die Umrahmungen der Kästen als durchgezogene Li­ nien auszugeben - dadurch gewinnt die Bildschirmdar­ stellung. #on("b")#gs-DIALOG#off("b")# ist aber hinsichtlich der Graphikzeichen nur für diese Endgeräte vorbereitet und benutzt in allen anderen Fällen Zeichen des normalen Zeichensatzes. Sie können sich aber, sofern Ihr Rechner/Terminal über solche Semi - Graphikzeichen verfügt, leicht selbst eine Anpassung dafür erstellen. Auch darauf ist #on("b")#gs-DIALOG#off("b")# schon vorbereitet. Keine Angst, versuchen Sie es ruhig einmal. Sie können nichts falsch machen; denn sollte es Ihnen nicht gelingen, so können Sie jederzeit mit dem Befehl 'std graphic char' und einem anschließen­ den die Standardeinstellung wieder vornehmen. Informieren Sie sich in Ihrer Terminal-/Rechner­ beschreibung, welche Codes ausgegeben werden müssen, um die Grahpikzeichen darzustellen. Folgende Zeichen werden benötigt: Ecke oben links : ω (f) Ecke oben rechts : � (g) Ecke unten links : � (e) Ecke unten rechts : � (h) Balken oben : � (n) Balken unten : ̂ (o) Balken links : ̄ (m) Balken rechts : ̃ (l) Kreuz : ̗ (i) waagerechte Linie : ̇ (k) senkrechte Linie : � (j) --------------------------------------------- ( Cursor sichtbar : ( ESC . 1 ) ) ( Cursor unsichtbar : ( ESC . 0 ) ) #on("b")#gs-DIALOG#off("b")# müssen nun die speziellen Codes Ihres Rech­ ners/Terminals mitgeteilt werden. Dafür stehen die fol­ genden Prozeduren zur Verfügung: PROC ecke oben links (TEXT CONST zeichenkette); PROC ecke oben rechts (TEXT CONST zeichenkette); PROC ecke unten links (TEXT CONST zeichenkette); PROC ecke unten rechts (TEXT CONST zeichenkette); PROC balken oben (TEXT CONST zeichenkette); PROC balken unten (TEXT CONST zeichenkette); PROC balken links (TEXT CONST zeichenkette); PROC balken rechts (TEXT CONST zeichenkette); PROC waagerecht (TEXT CONST zeichenkette); PROC senkrecht (TEXT CONST zeichenkette); PROC kreuz (TEXT CONST zeichenkette); PROC cursor on (TEXT CONST zeichenkette); PROC cursor off (TEXT CONST zeichenkette); Sofern möglich, kann auch noch ein Code eingegeben werden, damit der Cursor auf dem Bildschirm sichtbar bzw. unsichtbar ist. Wie man sich selbst eine Anpassung schreiben kann, wollen wir hier an einem Beispiel aufzeigen. Wir schrei­ ben dazu eine Anpassung für das Terminal 'Ampex 210+'. In der Terminalbeschreibung ist angegeben, wie das Terminal konfiguriert sein muß - diese Konfiguartion haben wir eingestellt. Weiterhin ist angegeben, daß auf die Grapikzeichen durch die Zeichenfolge 'ESC $' umge­ schaltet und durch die Zeichenfolge 'ESC %' auf den nor­ malen Zeichensatz zurückgeschaltet wird. Für die jeweils speziellen Graphikzeichen sind bestimmte Buchstaben an­ zugeben (z.B. für die 'Ecke oben links' der Buchstabe 'f'). Die Zeichen für dieses Terminal sind oben hinter den Gra­ phikzeichen in Klammern angegeben. Für 'ESC' muß der Code '27' ausgegeben werden. PACKET eigene graphikanpassung DEFINES private graphic char: PROC private graphic char: ecke oben links (""27"$f"27"%"); ecke oben rechts (""27"$g"27"%"); ecke unten links (""27"$e"27"%"); ecke unten rechts (""27"$h"27"%"); balken oben (""27"$n"27"%"); balken rechts (""27"$l"27"%"); balken links (""27"$m"27"%"); balken unten (""27"$o"27"%"); waagerecht (""27"$k"27"%"); senkrecht (""27"$j"27"%"); kreuz (""27"$i"27"%"); cursor on (""27".1"); cursor off (""27".0"); END PROC private graphic char; END PACKET eigene graphikanpassung; Nachdem das Programm insertiert und der Befehl 'private graphic char' gegeben ist, steht in dieser Task und allen Söhnen davon die Graphikanpassung für das Terminal 'Ampex 210+' zur Verfügung. 5.3 Fehlerbehandlung Haben Sie z.B. das Menu durch Tippen der -Taste verlassen, so kann es vorkommen, daß anschließend das Menu auf dem Bildschirm nicht ordnungsgemäß aufgebaut wird. Verlassen Sie dann die Menuebene durch die Tasten­ folge . Wenn 'gib kommando:' erscheint, geben Sie den Befehl reset dialog Dadurch wird das Menusystem in den Anfangszustand gesetzt. Anschließend können Sie das von Ihnen ge­ wünschte Programm (wieder) aufrufen.