Hallo Leute, heute lernen wir einige neue Funktionen kennen. Die erste Funktion heißt
@filedlg(). Diese Funktion blendet den Dialog zum öffnen einer Datei ein. Pfad und
Dateiname der ausgewählten Datei können an eine Variabel übergeben oder direkt
genutzt werden. VDS- Funktionen beginnen immer mit einem @ und enden mit zwei Klammern(). In den Klammern kann man je nach Art der Funktion verschiedene Parameter übergeben.
Diese Parameter werden durch Kommas getrennt und identifiziert.
Für die Function @filedlg() wären das der Reihe nach die folgenden Parameter
@filedlg()
1.Dateiendung der zu öffnenden Datei. hier können einzelne oder mehrere Dateitypen
benutzt werden. Bei mehr als einer Endung müssen diese durch den senkrechten Strich
getrennt werden.
z.B. @flidelg(*.txt|*.doc|*.htm)
2.Titel des Dialogs. Dieser Text wird in der Kopfleiste des Fensters angezeigt.
z.B. @filedlg(*.txt,Mein öffnen Fenster,...)
3.Default Dateiname. Trägt eine gewählte Datei als Vorauswahl in das Dialogfenster
ein. Wird dieser Parameter benutzt, muß die angegebene Datei bereits existieren.
Andernfalls kommt es zu einem Fehler.
z.B. @filedlg(*.txt,Datei öffnen,c:\autoexec.bat)
4.erweiterte Parameter.
save blendet anstatt des Datei öffnen Dialoges, den Dialog zum Speichern ein.
multi erlaubt das auswählen mehrerer Dateien gleichzeitig.
z.B. @fildedlg(*.txt,Datei speichern,,save)
Einsetzen könnte man diese Funktion z.B. folgendermaßen.
Die Variabel %A enthält nun Pfad und Dateiname der gewählten Datei
file copy,@filedlg(*.doc,Backup Daten wählen,,multi),c:\backup |
Die ausgewählten Dateien werden in das Verzeichnis backup kopiert
Leider funktioniert die Funktion @filedlg() nur im Zusammenhang mit einem bereits
existierenden VDS-Dialogfenster. Dies kann man aber problemlos mit Dialog-Designer
erledigen.
@len()
1. String oder Variabel
Ermittelt die Länge einer Zeichenfolge (Strings). Damit läßt sich z.B.
zählen, wie viele
Buchstabe ein Benutzer eingegeben hat. Unerlässlich für String Manipulation
%A = "Hirnschlag"
info @len(%A) |
Die Ausgabe wäre "10". Das Wort "Hirnschlag" hat 10 Buchstaben!
@substr()
1. String oder Variabel
2. Startposition des Substrings
3. Endposition des Substrings
Diese Funktion liefert einen definierten Teil einer Zeichenfolge zurück. Nehmen wir
den Satz "Heute ist schönes Wetter.", dann hat dieser Satz 25 Zeichen. Die Länge
des Satzes könnte man mittels "info @len(Heute ist schönes Wetter.)" ermitteln. Ein
Substring diese Satzes wäre z.B. "Heute". Dieser Substring fängt beim Buchstaben 1
an und endet mit dem 5. Buchstaben.
%A = "Heute ist schönes Wetter."
info @substr(%A,1,5)
Die Ausgabe ergibt "Heute"
info @substr(%A,19,24) |
Die Ausgabe ergibt "Wetter". Angenommen wir haben mehrere Strings nach dem Muster
"Name: Andreas Mustermann", dann wäre es sinnvoll aus diesen Strings nur den
wirklichen Namen zu extrahieren. Dazu entfernen wir einfach die ersten 6
Zeichen.
"Name:" plus ein Freizeichen, also 6 Zeichen.
%A = "Name: Andreas Mustermann"
info @substr(%A,6,@len(%A)) |
Die Ausgabe wäre "Andreas Mustermann".
@pos()
1. Zusuchender String
2. String in dem gesucht werden soll
Die Funktion @pos durchsucht einen String nach einem Substring und liefert dessen
Position zurück. Nehmen wir den Satz "Ich habe heute meiner Frau Blumen mit gebracht."
Dann könnte man diesen Satz mit der Funktion @pos() nach dem Substring "Frau"
durchsuchen und dessen Position anzeigen.
%A = "Ich habe heute meiner Frau Blumen mit gebracht."
info @pos(Frau,%A)
Die Ausgabe wäre "23". Das "F" von Frau ist der 23. Buchstabe in unserem Satz!
Anhand dieses Wissens können wir weitere Substrings berechen, den Satz umstellen,
oder den String "Frau" durch einen anderen ersetzen. Wir belassen es jetzt dabei den
String Frau durch Freundin zu ersetzen. Dazu ermitteln wir erstmal die Position des
Wortes "Frau". Anschließend splitten wir den Satz in zwei Teile auf. Dem Teil vor
"Frau" und dem Teil nach "Frau". Anschließend setzen wir die beiden Teile wieder
zusammen und fügen das Wort "Freundin" dazwischen.
%A = "Ich habe heute meiner Frau Blumen mit gebracht."
%B = @pos(Frau,%A)
%C = @substr(%A,1,@fsub(%B,1))
%D = @substr(%A,@fadd(%B,4),@len(%A))
info %C"Freundin"%D |
Unser Satz kann jetzt durch einen beliebigen anderen ersetzt werden, solange das Wort
"Frau" darin vorkommt, wird es immer durch Freundin wird.
Mathematische Funktionen
@fadd()
1. Erste zu addierende Zahl
2. Zweite zu addierende Zahl
Die Funktion addiert zwei Zahlen.
info "3 + 5 ist gleich" @fadd(3,5)
oder
%A = @fadd(3,5)
info %A
oder
%A = 3
%B = 5
info %A "+" %B "ist gleich" @fadd(%A,%B)
|
@fsub()
1. Zahl von der subtrahiert werden soll.
2. Zahl die subtrahiert werden soll.
Dies function dient zur Subtraktion
info "5 - 3 ist gleich" @fsub(5,3) |
@fdiv()
1. Zu teilende Zahl
2. Zahl durch die geteilt werden soll
Diese Funktion dient der Division
info "10 geteilt durch 2 ist gleich" @fdiv(10,2) |
@fmul()
1. Erster Multiplikator
2. Zweiter Multiplikator
Diese Funktion dient der Multiplikation
info "10 x 10 ist gleich" @fmul(10,10) |
@succ()
1. Vorgänger
Diese Funktion dient dem Inkrementieren. Der Zahl oder Variabel wird Eins
hinzugezählt. Vereinfacht die Funktion @fadd(%A,1)
@pred()
1. Vorgänger
Diese Funktion dient dem Dekrementieren. Von der Zahl oder Variabel wird Eins
abgezogen. Vereinfacht die Funktion @fsub(%A,1)
|