GTR Cheat-Sheet

Tutorial / Hinweise

Download
Content:


Wie's geht

  1. Dateien runterladen
  2. ".bat" starten (Java muss installiert sein)
  3. Den Anweisungen folgen. Grobe Zusammenfassung hier:
  4. Den Titel des Menüs eingeben. %num% kann als Variable verwendet werden, die später durch die Seitenzahl ersetzt wird.
  5. Wenn keine Textdatei eingelesen werden soll, einfach Enter drücken, sonst den Namen der Datei, sofern im selben Verzeichnis, oder den Dateipfad, falls nicht im selben Verzeichnis, einfügen
  6. Bei Textdatei: Springe zu Punkt 12. Für die Formatierung: Siehe "Textdateien auslesen"
  7. Jetzt können nacheinander die Menüpunkte mit Inhalt eingegeben werden. Dazu wird jeweils immer zu erst der Name angegeben, dann folgt der (mehrzeilige) Inhalt.
  8. Beim Inhalt sollte bedacht werden, dass pro Zeile nur begrenzt viele Zeichen angezeigt werden können, und das Umlaute zu Fehlern führen.
  9. Bei zu vielen Zeilen fügt das Programm automatisch eine weitere Seite hinzu, der Inhalt wird geteilt.
  10. Wenn man keine weiteren Zeilen zum Inhalt hinzufügen möchte, einfach "exit"/"xx" eingeben und der Vorgang wird abgebrochen.
  11. Nun kann entweder der nächste Menüpunkt mit dem selben Verfahren eingegeben werden, oder man gibt auch beim Namen "exit"/"xx" ein unnd beendet die Eingabe.
  12. Nun wird das Programm erstellt. Durch Eingabe von "yes" oder "y" wird das Programm automatisch kopiert.
  13. Das kopierte Programm kann auf cemetech.net eingefügt werden und von dort als ".8px"-Datei exportiert werden.
  14. Diese kann wiederum per "TI Connect" an den GTR geschickt werden.
  15. Die Ausführung auf dem GTR setzt das Programm "TEXTIFY" voraus, das beim Download beigelegt ist. Dieses muss ebenfalls unarchiviert auf dem Taschenrechner gespeichert sein.

Textdateien auslesen

Textdateien müssen folgendermaßen formatiert sein:

"Titel" (einzeilig, mit Anführungszeichen)  
Content (mehrzeilig, beachte: begrenzte Zeichenanzahl auf dem GTR-Display. Keine Umlaute.)  
"Titel"  
Content  
 ...  

Kommentare und Leerzeilen sind nicht zugelassen, alles wird direkt interpretiert.

Formeleingabe

Seit dem Update vom 01.11.2016 lassen sich Formeln gemäß der in "Code-Injection"/"Menüpunkt mit Formeleingabe/Ergebnisausgabe" beschriebenen
Methode benutzerfreundlicher automatisiert hinzufügen. Dazu gibt man zuerst beim Inhalt eines Menüpunktes "!formula" ein, gefolgt von
den benötigten Variablen, dem Rechenweg und den Ausgangsvariablen. Da dies im normalen Programm fast genauso abläuft wie in eingelesenen Textdateien,
hier ein Beispiel für die Funktionsweise mit Textdateien, das allgemeingültig sein sollte:

Beispiel: Es soll die Formel für das Skalarprodukt einprogrammiert werden. (Kommentare in Klammern sollten nicht übernommen werden!)

"Skalarprodukt"
!formula
(Da der GTR keine Vektorrechnung unterstützt, müssen die Koordinaten einzeln eingelesen)
(und gespeichert werden. Es werden also sechs Variablen benötigt, in diesem Fall X,Y,Z für V1 und Q,W,E für V2.)
(Hinter den Variablennamen steht jew. die Beschreibung, die im Programm später zusätzlich angezeigt werden soll)
X:Vektor 1 X1,Y:Vektor 1 X2,Z:Vektor 1 X3,Q:Vektor 2 X1,W:Vektor 2 X2,E:Vektor 2 X3
(Es folgen die Variablen, die nachher das Ergebnis enthalten und angezeigt werden sollen, in diesem Falle also nur eine...)
X:Ergebnis
(...und schließlich der Rechenweg)
X*Q+Y*W+Z*E->X

"Code-Injection". Sneaky!

Der interessante Teil. Nerds only.

Allgemein

Der Inhalt des generierten Programms oder der Menüeinträge wird nicht syntaktisch geprüft oder kompiliert. Dies erlaubt Code-Injektionen durch Umgehung der Vorgabe. Dazu muss man nur wissen, dass alle Zeilen der Inhalte nach folgendem Schema ergänzt werden:
"<Text>"->Str<Nummer>
Schließt man die '"'(Anführungszeichen), lassen sich eigene Anweisungen einfügen. Beispiel:
Als Zeile Eingegebener Text: "->Str1:"
Generierter Programmcode: ""->Str1:""->Str<Nummer>
Wo jetzt der Doppelpunkt steht, lässt sich natürlich ausführbarer Code verstecken. Dazu zwei Beispiele:

Menüpunkt zum "Verlassen"

Vorgehen:

  1. Es wird ein Punkt mit dem Titel "Stop" oder "Verlassen" erstellt.
  2. Als Inhalt wird eingegeben: "->Str1:Stop:"
  3. Der generierte Code wird so aussehen: ""->Str1:Stop:""->Str<Nummer>
  4. Bei Auswahl diesen Eintrages wird nun der Befehl "Stop" ausgeführt, das Programm schließt sich.

Menüpunkt mit Formeleingabe/Ergebnisausgabe

Natürlich kann beliebig viel Code in einzeiliger Form genutzt werden. Nehmen wir ein einfaches Programm, das Benutzerinput einliest, in eine Formel einsetzt und ausgibt:

Prompt X
// Hier können beliebig viele weitere Parameter eingefügt werden....
X->X*X
// Beliebig viele Rechenschritte
Pause X
// Ergebnis wird angezeigt
Goto A
// Lbl A ist immer die erste Menüseite. Dieser Sprung zum Anfang ist wichtig, da damit die TEXTIFY-Anweisung überschrieben wird.

Dieses Programm wird mit Doppelpunkten auf eine Zeile verkürzt und in die selbe Form wie oben eingesetzt:
"->Str1:Prompt X:X->X*X:Pause X:Goto A:"
Bei Auswahl eines Eintrags mit diesem Inhalt wird der entsprechende Code ausgeführt.