Tutorial
Interpreter-Sprache entwickeln (Teil II)
Mittels der Verwendung von Delphi
#1o – Print erweitern
Das Print war ja, meiner Meinung nach nicht so der Bringer. Viel Edler wäre etwas wie Print ’TEXT’; oder so was. Könnt ihr haben! Nehmen wir die Funktion ParsePrint
Sie bearbeitet den String. Nun editieren wir in der Make den Print-Befehl zu: #11 – Variabel-Support
Variabeln zu nutzen ist nicht so einfach wie man denkt. Dafür müssen wir zuerst einen neuen Type erstellen:
(Types werden direkt unter type(unter den uses) deklamiert)
Mittels dieses Types ist es einfach eine Variable mit dem Type Vari zu erstellen, da wir allerdings mehrer Brauchen verwenden wir ein Array. Wir deklamieren es also Global. #12 – Variable mit Wert füllen
Im letzen Schritt wurde der Support für Variabeln hinzugefügt, diesmal wollen wir eine Variable mit einem Wert beschreiben.
(Euer Formularname = frmMain)
Im Groben kann man sagen das das Teil solange alle Variabeln durchgeht bis entweder
a) Die Variable gefunden wird, dann wird der Wert zugewiesen
b) Irgendwann Leere Varinamen in der Liste auftauchen, das heißt die Vari steht noch nicht in der Liste, also fügen wir sie hinzu
c) Keine der 100 Varis diesen Namen trägt, also geben wir einen Fehler aus.
So, aber jetzt zur Nutzung:
In Make:
So, nun brauchen wir noch die Funktion FindEndVar. Diese Funktion soll herrausfinden wo der Variabelname in der Zuorndung aufhört(vor ’=’):
So, das Variabelzuweisen sollte nun klappen.
#13 – Variable Ausgeben
Ich weiß, das das nicht leicht ist, aber ich habe euch am Anfang gewarnt und wenn ihr hier seid, dann nennt euch echte 31337-Delphianer
So, zurück zum Problem: Der Ausgabe einer Variable.
Wir nehmen die Funktion PrintVari dafür:
Die Funktion sucht in einem String nach einem $ und liest den Namen der gemeinten Variable aus und ersetzt ihn schließlich durch dessen Wert.
Nun noch die Funktion VariableFind die für uns den Wert rauskramt.
So, dann nur noch die Print-Anweisung in Make so ersetzen:
So, und nun zum Test: #14 – Variabel-Support beenden nach Run
Damit vor jedem Run die Variabeln aus dem Array gelöscht werden setzt das hier an den Anfang des Start-Button.OnClick Ereignisses: #15 – Ende
Für die IF’s hat’s diesmal wieder nicht gereicht, doch ich hoffe ihr könnt mit diesen Variabel-Funktionen was anfangen. Dieses Mal gebe ich bewusst einen Beispiel-Download-Quellcode mit, da ich denke da es diesmal echt nicht einfach war. Der Quellcode ist compilebar, dennoch hoffe ich das ihr sofern ihr ihn verwendet mich wenigstens Informiert und mich dabei erwähnt.