VDS- Tutorial - zweiter Teil

 

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.

%A = @filedlg(*.txt)

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)

%A = 10
info @succ(%A)


@pred() 
1. Vorgänger

Diese Funktion dient dem Dekrementieren. Von der Zahl oder Variabel wird Eins 
abgezogen. Vereinfacht die Funktion @fsub(%A,1)

%A = 10
info @pred(%A)