TI-Basic für Voyage 200: Textausgabe



Allgemeines

Bearbeiten

Mit dem TI Voyage 200 kann man auf drei verschiedene Arten Texte wiedergeben. Mit Disp ist es wahrscheinlich am einfachsten. Da man einfach Disp eingeben kann und jedes Disp wird automatisch auf eine neue Zeile gesetzt. Und wenn es zuviel Platz benötigt, wird einfach das Oberste gelöscht. Dann gibt es den Dialog-Befehl, das ist der Edelste, dort kommt ein kleines Fensterlein, mit dem Text den du eingegeben hast. Als letztes noch der Output-Befehl. Dort kannst du ganz genau sagen, wo dass was angezeigt werden soll. Allerdings ist das ziemlich schwierig, da man genau die richtigen Koordinaten eingeben muss.

Ausführliche Beschreibung

Bearbeiten

Nun schreiben wir ein kleines Programm, in dem wir einfach einen text wiedergeben. Öffne das Programm hellowor das wir bei Erste Schritte erstellt haben mit dem Program Editor. (Keine Angst, wenn du diese Programm nicht hast, erstelle einfach ein neues, leeres Programm)

:hellowor()
:Prgm
:Disp "Hello World"
:EndPrgm

Dann gibst du Disp "Hello World" ein, so dass es wie oben aussieht. Wenn du nun in den Hauptbildschhirm gehst und dort hellowor() eingibst, solltes du einen leeren Bildschirm haben auf dem Hello World angezeigt wird. Wenn bei dir auf dem Bildschirm noch anderes steht, nicht verzweifeln das ist kein Fehler, solange zuunterst Hello World steht. Jetzt kannst du durch drücken der ESC-Taste oder F5 wieder in den Hauptbildschirm zurückkehren.

Wenn du jetzt das Programm nochmal öffnest, sollte auf dem Bildschirm zweimal Hello World stehen. Und beim dritten Mal 3-mal und so weiter. Das kannst du verhindern in dem du mit ClrIO den Bildschirm löschst. Also gehst du wieder in den Programm Editor und schreibst am Anfang des Programms ein ClrIO ein.

:hellowor()
:Prgm
:ClrIO
:Disp "Hello World"
:EndPrgm

Wenn du es jetzt öffnest, steht wieder nur einmal Hello World auf dem Bildschirm. Jetzt probieren wir es mal mit einem längeren Text:

:hellowor()
:Prgm
:ClrIO
:Disp "Hello World"
:Disp "Wenn du nun einen längeren Text schreiben willst, kannst du nicht einfach alles auf eine Zeile schreiben."
:Disp "Sondern musst es auf mehrere Zeilen aufteilen."
:Disp "Da es sonst einfach abgeschnitten wird."
:Disp "Am besten gibst du einmal diesen Text ein, dann siehst du wie es wird,"
:Disp "Und wo es abgeschnitten wird."
:Disp ""
:Disp "Übrigens noch ein paar Infos:"
:Disp "Mit 2ND+u+a,o,u kannst du ä,ö,ü schreiben."
:Disp "Bei Programmbefehlen (z.B. ClrIO, Disp)"
:Disp "kommt es nicht auf Gross-/klein-"
:Disp "schreibung an."
:Disp ""
:Disp "Mit Disp, "," kannst du einen Absatz"
:Disp "simulieren."

Wenn du dieses Programm nun öffnest, siehst du eigentlich nur den Schluss, da es einfach vorbei rast. Deshalb kommt jetzt der dritte Befehl Pause. Nimm das gleich Programm und setzte ein Pause dazu:

:hellowor()
:Prgm
:ClrIO
:Disp "Hello World"
:Disp "Wenn du nun einen längeren Text schreiben willst, kannst du nicht einfach alles auf eine Zeile schreiben."
:Disp "Sondern musst es auf mehrere Zeilen aufteilen."
:Disp "Da es sonst einfach abgeschnittten wird."
:Disp "Am besten gibst du einmal diesen Text ein, dann siehst du wie es wird,"
:Disp "Und wo es abgeschnitten wird."
:Pause
:Disp ""
:Disp "Übrigens noch ein paar Infos:"
:Disp "Mit 2ND+u+a,o,u kannst du ä,ö,ü schreiben."
:Disp "Bei Programmbefehlen (z.B. ClrIO, Disp)"
:Disp "kommt es nicht auf Gross-/klein-"
:Disp "schreibung an."
:Disp ""
:Disp "Mit Disp "", kannst du einen Absatz"
:Disp "simulieren."

Wenn du jetzt das Programm wieder öffnest, bleibt es stehen, bis du ENTER drückst. Eine Zahl kannst du ohne Anführungszeichen, direkt nach Disp schreiben.

:Disp 5101993

Kurze Zusammenfassung:

Bearbeiten
:hellowor()
:Prgm
:ClrIO
:Disp "Text"
:Pause
:Disp 5101993
:EndPrgm
Beschreibung
Bearbeiten

ClrIO löscht den Anzeigebildschirm.

Disp "Text" zeigt einen Text an.

Pause hält das Programm an, bis du ENTER drückst und

Disp 510993 zeigt die Zahl an, die anstelle von 5101993 steht.

Ausführliche Beschreibung

Bearbeiten

Ich würde jetzt einmal alle Befehle des alten Programms löschen, das verschafft Übersicht. Kleiner Tipp: mit Shift und den Pfeiltasten, kannst du markieren, das geht wesentlich schneller.

Aber jetzt kommt endlich der neue Befehl zuerst einmal Text.

:hellowor()
:Prgm
:Text "Hallo Welt"
:EndPrgm

Wenn du dieses Fenster jetzt öffnest, dann siehst du ein Fensterlein, in dem Hello World steht. Jetzt probieren wir dasselbe mal mit einem längeren Text:

:hellowor()
:Prgm
:Text "Hallo Welt, ich habe euch leider fast nichts zu sagen."
:EndPrgm

Wenn du das Programm jetzt öffnest, sollte eine Fehlermeldung Dimension kommen. Drücke einfach auf Enter, dann gelangst du direkt zum Fehler. Hier ist das Problem, dass es nur eine bestimmte länge Text anzeigen kann, eigentlich gleich wie beim Disp-Befehl. Allerdings gibt es hier eine Fehlermeldung, anstatt einfach nichts anzuzeigen.

Um das Problem zu lösen, müssen wir einfach 2 Befehle daraus machen:

:hellowor()
:Prgm
:Text "Hallo Welt, ich habe euch"
:Text "leider fast nichts zu sagen."
:EndPrgm

Wenn du es jetzt startes, kommt immerhin keine Fehlermeldung, aber richtig gut ist es immer noch nicht, da es einfach 2 Fensterlein macht. Aber die Lösung ist nahe, sehr nahe.

Dialog-EndDlog
Bearbeiten

Wenn wir einen Dialog Endllog befehl rundum basteln, sollte es eigentlich in einem Fenster kommen. So müsste das Programm dann aussehen:

:hellowor()
:Prgm
:Dialog
:Text "Hallo Welt, ich habe euch"
:Text "leider fast nichts zu sagen."
:EndDlog
:EndPrgm

Wenn du es jetzt öffnest sollte es in einemeinzigen Fenster kommen. Das Problem ist gelöst, also machen wir ein neues.


Übrigens kann der Dimension-Fehler, auch bei zu vielen Zeilen stehen, wenn du die beiden Text-Befehle kopierst, mit Diamond+c, und innerhalb des Dialog-EndDlog-Blocks ein paar mal einfügst, mit Diamond+v, solltest du die Fehlermeldung sehen. Übriegens siehst du, dass das in einem gleichen Fensterlein steht wie unserer Text. Und siehst du auch dass im kleineren Balken Error steht? Das machen wir jetzt:

Einfach direkt nach dem Dialog befehle noch ein Title setzen.

:hellowor()
:Prgm
:Dialog
:Title "Hallo Welt"
:Text "Hallo Welt, jetzt habe ich"
:Text "euch schon mehr zu sagen, da"
:Text "ich gerade etwas gelernt habe."
:EndDlog
:EndPrgm

Wenn du das jetzt öffnest, siehst den kleinen Titel Hallo Welt in dem oberen Balken.

Kurze Zusammenfassung

Bearbeiten
:hellowor()
:Prgm
:Dialog
:Title "Hallo Welt"
:Text "Hallo Welt, jetzt habe ich"
:Text "euch schon mehr zu sagen, da"
:Text "ich gerade etwas gelernt habe."
:EndDlog
:EndPrgm
Beschreibung
Bearbeiten

Dialog-Befehl, ist notwendig für mehrere Zeilen in einem Dialog-Fensterlein.

Title-Befehl lässt einen kleinen Title im oberen Balken des Dialog-Fensters anzeigen

Text-Befehl lässt einen Text im Hauptfenster anzeigen. Aber Achtung bei zu langem Text kommt eine Fehlermeldung: Dimension. Du kannst den Text aber einfach auf mehrere Zeilen aufteilen, dann funktioniert das.

Enddlog-Befehl sagt dem Rechner, dass das Dialog-Fenster fertig ist und dass jetzt etwas neues kommen kann.

Ausführliche Beschreibung

Bearbeiten

Jetzt wird es schon komplizierter, hier wird der Text zwar im gleichen Bildschirm angezeigt, wie mit Disp. Allerdings musst du hier noch Höhe und Breite angeben. Z.B. so:

:hellowor()
:Prgm
:ClrIO
:Output 1,1,"Hallo Welt"
:EndPrgm

Wie ich schon gesagt habe, wird dieser Text im gleichen Bildschirm wie mit Disp geschrieben. Deshalb braucht es auch hier das ClrIO.

Das erste 1 stellt die Höhe dar und das 2. 1 stellt die Breite dar.

Dieser Befehl eignet sich am besten, um irgendwelche Formen anzuzeigen, die nicht in der Tastatur drin sind.

:hellowor()
:Prgm
:ClrIO
:Output 1,1,"Hallo Welt"
:Output 50,50,"_ _"
:Output 48,53,"| |"
:Output 41,56,"__"
:Output 30,47,"_   _"
:Output 39,53,"| |"
:Output 32,53,"| |"
:Output 25,56,"__"
:Output 24,60,"i"
:Output 20,60,"o"
:EndPrgm

Wenn du es öffnest, sollte ein kleines Männchen auf deinem Bildschirm erscheinen. Aber wie du siehst, wird das Programm sehr schnell sehr lang. Und außerdem musst du noch auf die Reihenfolge achten, da zum Beispiel bei einem _ auch noch das Weiß oben drin inbegriffen ist, und wenn du das dann erst nach dem | setzt, wird der | einfach wieder gelöscht.

Dann kommt noch dazu, dass man immer ausprobieren muss, um die richtigen Koordinaten zu finden. Probier doch selber mal ein Figürchen, dann siehst du, wie schwierig das ist.

Wegen all dieser Nachteile benutze ich den Output-Befehl höchst selten. Du kannst übrigens auch den Disp-Befehl mit dem Output-Befehl mischen.

:hellowor()
:Prgm
:ClrIO
:Disp "Hallo Welt"
:Output 50,50,"_ _"
:Output 48,53,"| |"
:Output 41,56,"__"
:Output 30,47,"_   _"
:Output 39,53,"| |"
:Output 32,53,"| |"
:Output 25,56,"__"
:Output 24,60,"i"
:Output 20,60,"o"
:EndPrgm

Kurze Zusammenfassung

Bearbeiten
:hellowor()
:Prgm
:ClrIO
:Disp "Hallo Welt"
:Output 50,50,"_ _"
:Output 48,53,"| |"
:Output 41,56,"__"
:Output 30,47,"_   _"
:Output 39,53,"| |"
:Output 32,53,"| |"
:Output 25,56,"__"
:Output 24,60,"i"
:Output 20,60,"o"
:EndPrgm
Beschreibung
Bearbeiten

ClrIO wird auch hier verwendet, um den Bildschirminhalt zu löschen.

Output Höhe,Breite,"Text" selbsterklärend

Disp kann man auch noch dazufügen.