Dies ist ein Tutorial für all jene, die noch nie
etwas mit Visual Dialogscript zu tun hatten. Es soll euch
oder dir den Einstieg in die VDS Programmierung
erleichtern. Um das hier gezeigte in die Tat umsetzen zu
können, sollte Visual Dialogscript bereits installiert
sein. Finden kann man VDS direkt beim Hersteller
und auf meiner Homepage in der Download
Sektion Wir fangen mit etwas einfachem an. Das
allseits beliebte Hallo Welt! Das findet man fast
überall und es ist ziemlich bekannt. Nichts ist unter
VDS einfacher als die Ausgabe Hallo Welt! Wie schon auf
der Ersten Seite beschrieben reicht hier für eine Zeile.
|
Diese Zeile erzeugt eine Dialogbox wie sie das Bild
zeigt. Der Befehl Info erzeugt den Dialog, der Text
dahinter ist der anzuzeigende Text. Enthält der
anzuzeigende Text, Satz- oder Sonder-Zeichen muß man ihn
in Anführungzeichen einschließen. Um den Text in
mehrere Zeilen aufzuteilen benutzt man die Funktion
@cr(). Diese erzeugt ein Return oder Zeilenumbruchinfo "Hallo
Du," @cr() "mir geht´s gut!" |
Weitere Möglichkeiten Text auszugeben sind der
Befehl WARN und die Funktionen @ASK, @QUERY und @MSGBOX.
Der Befehl WARN funktioniert genauso wie der Befehl INFO,
allerdings wird zusätzlich zum Text ein Icon mit einem
Ausrufezeichen angezeigt. Die drei Funktionen können
zusätzlich Rückfragen an den Benutzer stellen. Die
Funktion @ASK() erzeugt eine Dialogbox mit einem
definierten Text und den Knöpfen JA/NEIN. Eine Typische
Nutzung wäre zum Beispiel :%A = @ask("Wollen
sie weiter machen?") |
Die Variabel %A enthält je nach Antwort
des Benutzers den Wert "1" für ja, oder den
Wert "0" für nein. Variabeln sind Platzhalter
die beliebige Daten aufnehmen können. Eine weitere
typische Anwendung wäre das folgende Beispiel.if @ask("Wollen
sie abbrechen?") Das Beispiel ruft einen Dialog auf, der die Frage stellt "Wollen sie abbrechen?", und darunter die Buttons "Ja" und "Nein" anzeigt. Drückt man auf ja, wird der Text "es wird abgebrochen..." angezeigt. Klickt man auf nein, wird der Text "Wir arbeiten weiter..." angezeigt Als alter C64-Bastler kenne ich noch den Befehl if... then...! Genau das beschreibt ziemlich das was der Befehl IF tut. Übersetzt heißt das soviel wie, wenn... dann.... Also wenn die definierte Bedingung eintrifft, dann führe definierte Handlung aus. Heute trifft man den then Befehl nur noch selten, und er kommt auch nicht mehr in VDS vor, aber die Funktionsweise ist immer noch die selbe. Der Befehl ELSE führt eine definierte Handlung durch falls die If Abfrage nicht zutrifft. Der Befehl END muß zum Beenden der If Abfrage verwendet werden. Die Funktion @QUERY macht eigentlich genau das selbe wie @ASK(), allerdings erzeugt @QUERY() einen Dialog mit den Schaltflächen OK und ABBRECHEN. Mit der Funktion @MSGBOX() kann man Dialogbox mit beliebigen Aussehen und Schaltflächen kreieren. Eine genaue Erkärung würde hier den Rahmen Sprengen. Eine weitere Möglichkeit Eingaben von User entgegen zunehmen ist die Funktion @INPUT(). Sie erzeugt eine Dialogbox mit definiertem Text und einer Eingabezeile in die der Benutzer beliebiges eintippen kann. %A =
@input("Hallo, wie ist dein Name?") Die Syntax sieht erst den Anzuzeigenden Text vor. Falls gewünscht kann man danach durch ein Komma getrennt einen Default-Text für die Eingabezeile festlegen. Ein weiteres Komma erlaubt es den Parameter PASSWORD zu benutzen. Dieser sorgt dafür, daß der eingegebene Text durch Sternchen ersetzt wird. %A = @inpu("Bitte
geben Sie das Passwort ein",,Password) Das Beispiel öffnet einen Dialog der dazu auffordert ein Passwort einzugeben. Die Funktion @equal() vergleicht die Benutzereingabe(%A) mit dem definierten Passwort(meinpasswort). Falls die Benutzereingabe mit dem Passwort identisch ist, wird der Text "Das Passwort ist richtig" ausgegeben. Anderfalls erfolgt die Warnung "Das Passwort ist Falsch!". |
Mun wollen wir das frisch erworbene
Wissen in die Tat umsetzen und unser erstes richtiges
Programm schreiben. Die Idee entstand, als ich wieder mal
meinen Bruder Solitär zockend vor meinem Computer fand.
Mein erster versuch ihn davon abzuhalten, ich hatte
einfach die Verknüpfung aus dem Startmenü gelöscht,
schlug völlig fehl. Widererwartend fand ich ihn schon
einige tage später wieder Solitär spielend vor meinem
PC. Als ich ihn verblüfft fragte wie er das gemacht
hätte, sagte er, er hätte einfach unter AUSFÜHREN sol
eingetippt. Arrrgghh..., verdammt wer hat ihn das
verraten, oder bekommt er, wenn er hier rumsitz und mir
die Bude voll qualmt, doch mehr mit als ich denke?
Hmmm..., das einfachste wäre jetzt gewesen die sol.exe
einfache in scheisse.exe umzubenennen, aber das war dann
doch zu einfach. Mein Bruder hatte sich so viel Mühe
gegeben, daß sollte belohnt werden. Zuerst erzeugte ich wieder eine Verknüpfung an angestammter Stelle im Startmenü. Danach benannte ich die Datei sol.exe in geheim.dat um. Zum Schluß tippte ich folgendes Script und speicherte das kompilierte Produkt als sol.exe title Solitär |
Zur Erklärung: |
Zeile 1 Der Befehl TITLE
definiert den Text der in Titel- und Task- Leiste
angezeigt wird. |
Zeile 2 Der Befehl REPEAT
leitet eine Schleife ein, die erst durch den Befehl UNTIL beendet
wird, wenn die Bedingungn @equal(%A,bittebitte)
erfüllt ist. Übersetzt würde das soviel heißen wie...
wiederhole definierte Befehle und Funktionen... bis
definierte Bedingung erfüllt ist. |
Zeile 3 Die @INPUT()
Funktion fordert zur Eingabe des Passwortes auf. Die
Benutzereingabe wird in der Variabel %A
gespeichert. |
Zeile 4 Hier wird die Eingabe mit dem Passwort verglichen. Sind Eingabe und Passwort identisch wird die nächste Zeile ausgeführt, anderfalls springt das Script zur Zeile 8. |
Zeile 5 Der Befehl FILE RENAME
benennt die Datei geheim.dat in geheim.exe um. |
Zeile 6 Der Befehl RUN
startet belibige Anwendungen. Der Parameter WAIT hält das
Script solange an, bis die gestartete Anwendung wieder
beendet wird. Erst danach wird das Script weiter
ausgeführt. |
Zeile 7 Nachdem das eigentlich Solitär wieder beendet wurde, wird die Datei geheim.exe wieder in geheim.dat umbenannt. |
Zeile 8 Der ELSE
Teil wird nur ausgeführt wenn ein falsches Passwort
eingegeben wurde. Anderfalls springt das Script zur Zeile
11. |
Zeile 9 Hier wird die Variabel %B
definiert und gleich um eins erhöht. Normalerweise wäre
der Inhalt einer neuen Variabel "0". Durch die
Funktion @SUCC()
wird dieser Wert und eins erhöht. Aus 0 wird also 1, aus
1 wird 2, aus 2 wird 3, und so weiter. Der Fachmann
spricht hier von inkrementieren |
Zeile 10 Diese Zeile zeigt eine Warnung, die aussagt, daß das Passwort falsch ist. Die eingebundene Variabel %B zeigt
zusätzlich die Anzahl der Fehlversuche an. |
Zeile 11 Der Befehl END
schließt die IF
Abfrage ab. |
Zeile 12 Wie oben schon erwähnt wird hier, vorrausgesetzt das richtige Passwort wurde eingegeben, die Repeat-Schleife beendet. Anderfalls springt das Script zurück zur Zeile 1 und die Schleife wird ein weiteres mal durchlaufen. |
Zeile 13 Der Befehl EXIT
beendet das Script. |