OBS/Makros: Unterschied zwischen den Versionen

Aus OBS Wiki
Zur Navigation springen Zur Suche springen
(Die Seite wurde neu angelegt: „Makros werden an vielen Stellen im OBS genutzt, um zur Laufzeit des Programms kunden- oder benutzerbezogene Funktionalitäten auszuführen. Dies beinhaltet u.…“)
Keine Bearbeitungszusammenfassung
Zeile 1: Zeile 1:
Makros werden an vielen Stellen im OBS genutzt, um zur Laufzeit des Programms kunden- oder benutzerbezogene Funktionalitäten auszuführen. Dies beinhaltet u. a. das Verändern (z. B. Kalkulation von Preislisten) oder die Anzeige (z. B. {{OBS/Eingabemasken/Positionen#Zus.C3.A4tzliche_Vorgangs_Information|zusätzliche Vorgangsinformationen in Positionserfassung}}) von Daten innerhalb des Programms. Auch das Drucksystem von OBS arbeitet mit Makros. Die Makros im OBS orientieren sich an der Syntax der Sprache [https://de.wikipedia.org/wiki/Pascal_%28Programmiersprache%29 Pascal].
Makros werden an vielen Stellen im OBS genutzt, um zur Laufzeit des Programms kunden- oder benutzerbezogene Funktionalitäten auszuführen. Dies beinhaltet u. a. das Verändern (z. B. Kalkulation von Preislisten) oder die Anzeige (z. B. [[OBS/Eingabemasken/Positionen#Zus.C3.A4tzliche_Vorgangs_Information|zusätzliche Vorgangsinformationen in Positionserfassung]]) von Daten innerhalb des Programms. Auch das Drucksystem von OBS arbeitet mit Makros. Die Makros im OBS orientieren sich an der Syntax der Sprache [https://de.wikipedia.org/wiki/Pascal_%28Programmiersprache%29 Pascal].
=Syntax=
=Syntax=
==Variablen-Typen==
==Variablen-Typen==
Zeile 7: Zeile 7:
Variablen des Typs ''integer'' enthalten Ganzzahlen wie 2, 15 oder 1538.
Variablen des Typs ''integer'' enthalten Ganzzahlen wie 2, 15 oder 1538.
===double===
===double===
Variablen des Typs ''double''
Variablen des Typs ''double'' enthalten Dezimalzahlen. Hier ist zu beachten, dass das Trennzeichen bei der Angabe von Dezimalstellen immer ein Punkt ist.<br />
Beispiel:
Preis := 10.95;
===boolean===
===boolean===
Variablen dieses Typs enthalten Wahrheitswerte. Sie können entweder wahr oder falsch sein. Der Wert lässt sich direkt mit ''true'' oder ''false'' setzen. Es können aber Bedingungen für die Zuweisung verwendet werden. Boolsche Variablen lassen sich in bedingten Anweisungen des Typs ''if'' auch ohne Vergleichswert nutzen.<br />
Variablen dieses Typs enthalten Wahrheitswerte. Sie können entweder wahr oder falsch sein. Der Wert lässt sich direkt mit ''true'' oder ''false'' setzen. Es können aber Bedingungen für die Zuweisung verwendet werden. Boolsche Variablen lassen sich in bedingten Anweisungen des Typs ''if'' auch ohne Vergleichswert nutzen.<br />
Zeile 77: Zeile 79:
===for===
===for===
===repeat until===
===repeat until===
=Übersicht Makro-Funktionen=
 
=Übersicht Konstanten=
Konstanten sind feste vordefinierte Werte.
 
==CRLF==
Erklärung: CRLF steht für "carriage return" und "line feed". Die Konstante kann verwendet werden, um einen Zeilenumbruch in eine Zeichenkette einzufügen.<br />
Beispiel:
cText := 'Dies ist Zeile 1' + CRLF + 'Und das hier Zeile 2';
 
=Übersicht Funktionen=
Hier finden Sie einige nützliche Befehle/Funktionen, die Sie in den Makros verwenden können, um das gewünschte Ergebnis zu erzielen.
Hier finden Sie einige nützliche Befehle/Funktionen, die Sie in den Makros verwenden können, um das gewünschte Ergebnis zu erzielen.


==ExtractFileName==
==ExtractFileName==
Verwendung: Dateinamen aus Dateipfad auslesen.
Verwendung: Dateinamen aus Dateipfad auslesen.<br />
Parameter: string
Parameter: string<br />
Rückgabe: string
Rückgabe: string<br />
Beispiel:<br />
Beispiel:<br />
  cDatei := 'c:\\Ordner\Datei.txt';
  cDatei := 'c:\\Ordner\Datei.txt';
Zeile 90: Zeile 101:


==StrTran==
==StrTran==
Verwendung: Sucht einen Text innerhalb eines Textes und ersetzte diesen durch einen andren Text (Suchen und ersetzen).
Verwendung: Sucht einen Text innerhalb eines Textes und ersetzte diesen durch einen andren Text (Suchen und ersetzen).<br />
Parameter: string, string, string
Parameter: string, string, string<br />
Rückgabe: string
Rückgabe: string<br />
Beispiel:<br />
Beispiel:<br />
  cDatei := 'Datei.txt';
  cDatei := 'Datei.txt';
Zeile 99: Zeile 110:


==Length==
==Length==
Verwendung: Ermittelt die Länge einer Zeichenkette.
Verwendung: Ermittelt die Länge einer Zeichenkette (string).<br />
Parameter: string
Parameter: string<br />
Rückgabe: integer
Rückgabe: integer<br />
Beispiel:<br />
Beispiel:<br />
  cDatei  := 'Datei';
  cText  := 'Dies ist ein Beispiel.';
  nLaenge := Length(cDatei);
  nLaenge := Length(cText);
Erklärung: Der String-Variable ''cDatei'' wird der Wert ''Datei'' zugewiesen. Mit ''Length'' wird die Länge ermittelt. Das Wort "Datei" hat 5 Buchstaben. ''nLaenge'' hat also den Wert ''5''.
Erklärung: Der String-Variable ''cText'' wird der Wert ''Dies ist ein Beispiel.'' zugewiesen. Mit ''Length'' wird die Länge ermittelt. Der Satz "Dies ist ein Beispiel." hat 22 Zeichen. ''nLaenge'' hat also den Wert ''22''.


===LeftStr/RightStr===
==LeftStr/RightStr==
Verwendung: Gibt den linken/rechten Teil einer Zeichenketten zurück. Es werden dabei maximal soviele Zeichen zurückgegeben, wie im zweiten Parameter angegeben.
Verwendung: Gibt den linken/rechten Teil einer Zeichenketten zurück. Es werden dabei maximal soviele Zeichen zurückgegeben, wie im zweiten Parameter angegeben.<br />
Parameter: string, integer
Parameter: string, integer<br />
Rückgabe: string
Rückgabe: string<br />
Beispiel:<br />
Beispiel:<br />
  cText  := 'Dies ist ein Beispiel';
  cText  := 'Dies ist ein Beispiel';
Zeile 118: Zeile 129:
{{Hinweis|Sollten mehr Zeichen ermittelt werden, als der ursprüngliche Wert Zeichen hat, so ist das Ergbenis gleich dem Ursprung. LeftStr(cDatei,50) hätte z. B. dazu geführt, dass cLeft ebenfalls ''Dies ist ein Beispiel'' enthält.}}
{{Hinweis|Sollten mehr Zeichen ermittelt werden, als der ursprüngliche Wert Zeichen hat, so ist das Ergbenis gleich dem Ursprung. LeftStr(cDatei,50) hätte z. B. dazu geführt, dass cLeft ebenfalls ''Dies ist ein Beispiel'' enthält.}}


===UpperCase/LowerCase===
==UpperCase/LowerCase==
Verwendung: Umwandeln einer Zeichenkette in Großbuchstaben/Kleinbuchstaben.
Verwendung: Umwandeln einer Zeichenkette in Großbuchstaben/Kleinbuchstaben.<br />
Parameter: string
Parameter: string<br />
Rückgabe: string
Rückgabe: string<br />
Beispiel:<br />
Beispiel:<br />
  cText  := 'Beispiel';
  cText  := 'Beispiel';
Zeile 128: Zeile 139:
Erklärung: Der String-Variable ''cText'' wird der Wert ''Beispiel'' zugewiesen. Mit ''UpperCase'' und ''LowerCase'' wird die Zeichenkette umgewandelt. ''cUpper'' enthält danach den Wert ''BEISPIEL'' und ''cLower'' den Wert ''beispiel''.
Erklärung: Der String-Variable ''cText'' wird der Wert ''Beispiel'' zugewiesen. Mit ''UpperCase'' und ''LowerCase'' wird die Zeichenkette umgewandelt. ''cUpper'' enthält danach den Wert ''BEISPIEL'' und ''cLower'' den Wert ''beispiel''.


===Token===
==Token==
Verwendung: Teilt eine Zeichenkette anhand eines Zeichens auf und gibt den engebenen Teil zurück.
Verwendung: Teilt eine Zeichenkette anhand eines Zeichens auf und gibt den engebenen Teil zurück.<br />
Parameter: string, string, integer
Parameter: string, string, integer<br />
Rückgabe: string
Rückgabe: string<br />
Beispiel:<br />
Beispiel:<br />
  cDatei := 'Datei_Name_Mit_Unterstrichen.txt';
  cDatei := 'Datei_Name_Mit_Unterstrichen.txt';
  cTeil  := Token(cDatei,'_',2);
  cTeil  := Token(cDatei,'_',2);
Erklärung: Der String-Variable ''cDatei'' wird der Wert ''Datei_Name_Mit_Unterstrichen.txt'' zugewiesen. Mit ''Token'' wird die Zeichenkette aufgeteilt. Als Teiler ist ein Unterstrich angeben. Dies führt im angegebenen Beispiel zu vier Teilen: ''Datei'', ''Name'', ''Mit'' und ''Unterstrichen.txt''. Es wird der zweite Teil gefordert. Die Variable ''cTeil'' enthält demnach den Wert ''Name''.
Erklärung: Der String-Variable ''cDatei'' wird der Wert ''Datei_Name_Mit_Unterstrichen.txt'' zugewiesen. Mit ''Token'' wird die Zeichenkette aufgeteilt. Als Teiler ist ein Unterstrich angeben. Dies führt im angegebenen Beispiel zu vier Teilen: ''Datei'', ''Name'', ''Mit'' und ''Unterstrichen.txt''. Es wird der zweite Teil gefordert. Die Variable ''cTeil'' enthält demnach den Wert ''Name''.
==NumToken==
Verwendung: Ermittelt die Anzahl der Teile einer Zeichenketten, wenn diese an den Stelle mit dem Zeichen, das als Parameter übergeben wird, geteilt wird.<br />
Parameter: string, string<br />
Rückgabe: integer<br />
Beispiel:<br />
cDatei := 'Datei_Name_Mit_Unterstrichen.txt';
nTeile := NumToken('_',cDatei);
Erklärung: Der String-Variable ''cDatei'' wird der Wert ''Datei_Name_Mit_Unterstrichen.txt'' zugewiesen. Mit ''NumToken'' wird die Anzahl der Teil-Zeichenketten der Zeichenkette cDatei ermittelt. Als Trennzeichen wurde ein Unterstrich angegeben. Dies führt im angegebenen Beispiel zu vier Teilen: ''Datei'', ''Name'', ''Mit'' und ''Unterstrichen.txt''. Die Variable ''nTeile'' entspricht also dem Wert 4.
==AllTrim==
Verwendung: Entfernt Umbrüche und Leerzeichen am Anfang und Ende einer Zeichenkette.<br />
Parameter: string<br />
Rückgabe: string<br />
Beispiel:<br />
cText := '  Dies ist ein Beispiel.      ';
cText := AllTrim(cText);
Erklärung: Der String-Variable ''cText'' wird der Wert "''  Dies ist ein Beispiel.      ''" zugewiesen. Mit ''AllTrim'' werden die unnötigen Leerzeichen am Anfang und Ende der Zeichenkette entfernt. Die Variable ''cText'' entspricht also dem Wert "''Dies ist ein Beispiel.''".
==iVal==
Verwendung: Wandelt die angegebene Zeichenkette in einen Ganzzahlwert um.<br />
Parameter: string<br />
Rückgabe: integer<br />
Beispiel:<br />
cZahl := '4';
nZahl := iVal(cZahl);
Erklärung: Der String-Variable ''cZahl'' wird der Wert ''4'' zugewiesen. Mit ''iVal'' wird die Zeichenkette in die entsprechende Ganzzahl umgewandelt. Die Variable ''nZahl'' entspricht also dem Wert 4.
==fVal==
Verwendung: Wandelt die angegebene Zeichenkette in eine Dezimalzahl um.<br />
Parameter: string<br />
Rückgabe: double<br />
Beispiel:<br />
cZahl := '1234,56';
nZahl := fVal(cZahl);
Erklärung: Der String-Variable ''cZahl'' wird der Wert ''1234,56'' zugewiesen. Mit ''fVal'' wird die Zeichenkette in die entsprechende Dezimalzahl umgewandelt. Die Variable ''nZahl'' entspricht also dem Wert 1234,56.
==Roundy==
Verwendung: Runden eines Dezimalwerts (Typ: Double)<br />
Parameter: double, integer<br />
Rückgabe: double<br />
Aufruf:
nDezimalwert := 1234.5678;
nGerundeterWert := Roundy(nDezimalwert,2);
Erklärung: Der zu rundende Wert wird mit Parameter 1 übergeben. Die gewünschte Anzahl an Nachkommastellen wird in Parameter 2 angegeben. Die Funktion rundet dann den Wert auf die angegebene Anzahl an Dezimalstellen und gibt das Ergebnis wieder zurück. Die Variable ''nDezimalwert'' wird auf den Wert 1234,5678 gesetzt. Anschließend wird der Wert auf zwei Nachkommastellen gerundet. Die Variable ''nGerundeterWert'' entspricht also 1234,57.
==Trunc==
Verwendung: Abschneiden der Nachkommastellen eines Dezimalwerts<br />
Parameter: double<br />
Rückgabe: integer<br />
Aufruf:
nDezimalwert := 1234.5678;
nWert := Trunc(nDezimalwert);
Erklärung: Der Dezimalwert ist als Parameter zu übergeben. Als Ergbnis werden die Vorkommastellen zurückgegeben. Die Variable ''nDezimalwert'' wird auf den Wert 1234,5678 gesetzt. Anschließend wird der Wert auf zwei Nachkommastellen gerundet. Die Variable ''nWert'' entspricht also 1234.

Version vom 15. Februar 2018, 16:25 Uhr

Makros werden an vielen Stellen im OBS genutzt, um zur Laufzeit des Programms kunden- oder benutzerbezogene Funktionalitäten auszuführen. Dies beinhaltet u. a. das Verändern (z. B. Kalkulation von Preislisten) oder die Anzeige (z. B. zusätzliche Vorgangsinformationen in Positionserfassung) von Daten innerhalb des Programms. Auch das Drucksystem von OBS arbeitet mit Makros. Die Makros im OBS orientieren sich an der Syntax der Sprache Pascal.

Syntax

Variablen-Typen

string

Variablen des Typs string enthalten Zeichenketten (Text) wie z. B. 'Max Mustermann' oder 'Musterweg 1a'.

integer

Variablen des Typs integer enthalten Ganzzahlen wie 2, 15 oder 1538.

double

Variablen des Typs double enthalten Dezimalzahlen. Hier ist zu beachten, dass das Trennzeichen bei der Angabe von Dezimalstellen immer ein Punkt ist.
Beispiel:

Preis := 10.95;

boolean

Variablen dieses Typs enthalten Wahrheitswerte. Sie können entweder wahr oder falsch sein. Der Wert lässt sich direkt mit true oder false setzen. Es können aber Bedingungen für die Zuweisung verwendet werden. Boolsche Variablen lassen sich in bedingten Anweisungen des Typs if auch ohne Vergleichswert nutzen.
Beispiel:

Vorbelegung:

Verglichen = false;
A_ist_kleiner_B = false;


Abfrage:

if Verglichen then begin
    A_ist_kleiner_B := A < B;
    Verglichen := true;
end;

Methoden

Es gibt zwei Typen: Prozedur und Funktion. Der Unterschied dabei ist, dass Funktionen einen Rückgabewert haben. Die Definition einer Methode erfolgt in der Reihenfolge Typ-Anweisung, Methodenname, Parameter und bei Funktionen der Typ des Rückgabewerts. Mehrere Parameter sind mit Semikolon zu trennen
Beispiel Prozedur:

procedure Name(cParameter1: string; nParameter2: integer);

Beispiel funktion:

function Name(cParameter1: string; nParameter2: integer): boolean;

Bedingte Anweisungen

Bedingte Anweisungen machen es möglich einen Teil des Makros nur ausführen zu lassen, wenn etwas bestimmtes zutrifft. In Pascal gibt es dafür if und case. Die case-Anweisung unterliegt dabei allerdings im Vergleich zur if-Anweisung einiger Einschränkungen.

if

if Bedingung then begin
    Befehl 1;
    Befehl 2;
    ...
end;

Es ist auch möglich mehrere Bedingungen zu definieren. Dabei lässt sich bestimmen, ob nur eine, alle oder ein Teil der Bedingung zutreffen muss, um den Teil des Makros auszuführen. Das kann hilfreich sein, wenn in mehreren Fällen das gleiche passieren soll.
Alle Bedingungen sollen zutreffen:

if Bedingung1 and Bedingung2 then begin

Nur eine Bedingung muss zutreffen:

if Bedingung1 or Bedingung2 then begin

Nur Bedingung 1 oder Bedingung 2 und 3 (hier ist die Klammer wichtig!):

if Bedingung1 or (Bedingung2 and Bedingung 3) then begin

case

Die case-Anweisung prüft den Wert einer Variablen ab und und führt dann den - sofern vorhanden - dazu passenden Fall aus. Dies funktioniert jedoch nur mit einem ordinalen Typ (z. B. Ganzzahl oder einzelnes Zeichen).
Struktur:

case Wert of
    Fall1 : Anweisung;
    Fall2 : Anweisung;
    Fall3 : begin
        Anweisung 1;
        Anweisung 2;
    end;
else
    Standard-Anweisung
end;

Es können als Bedingung (Fall) auch mehrere Angaben erfolgen oder Bereiche angegeben werden.
Beispiel:

case Monat of
    1,3,5,7..8,10,12 : Tage := 31;
    2 : begin
        if Schaltjahr then begin
            Tage := 29;
        end else begin
            Tage := 28;
        end;
    end;
else
    Tage := 30;
end;

Schleifen

Schleifen ermöglichen die mehrfache Ausführung eines Teils des Makros.

while

for

repeat until

Übersicht Konstanten

Konstanten sind feste vordefinierte Werte.

CRLF

Erklärung: CRLF steht für "carriage return" und "line feed". Die Konstante kann verwendet werden, um einen Zeilenumbruch in eine Zeichenkette einzufügen.
Beispiel:

cText := 'Dies ist Zeile 1' + CRLF + 'Und das hier Zeile 2';

Übersicht Funktionen

Hier finden Sie einige nützliche Befehle/Funktionen, die Sie in den Makros verwenden können, um das gewünschte Ergebnis zu erzielen.

ExtractFileName

Verwendung: Dateinamen aus Dateipfad auslesen.
Parameter: string
Rückgabe: string
Beispiel:

cDatei := 'c:\\Ordner\Datei.txt';
cDatei := ExtractFileName(cDatei);

Erklärung: Der String-Variable cDatei wird der Wert c:\\Ordner\Datei.txt zugewiesen. Mit ExtractFileName wird der Dateiname herausgesucht und zurückgegeben. Danach enthält cDatei nur noch den Wert Datei.txt.

StrTran

Verwendung: Sucht einen Text innerhalb eines Textes und ersetzte diesen durch einen andren Text (Suchen und ersetzen).
Parameter: string, string, string
Rückgabe: string
Beispiel:

cDatei := 'Datei.txt';
cName  := StrTran(cDatei ,'.txt','');

Erklärung: Der String-Variable cDatei wird der Wert Datei.txt zugewiesen. Mit StrTran wird im Text der Variable cDatei nach .txt gesucht. Der gefundene Teil wird mit einer leeren Zeichenkette ersetzt. Danach enthält cDatei nur noch den Wert Datei.

Length

Verwendung: Ermittelt die Länge einer Zeichenkette (string).
Parameter: string
Rückgabe: integer
Beispiel:

cText   := 'Dies ist ein Beispiel.';
nLaenge := Length(cText);

Erklärung: Der String-Variable cText wird der Wert Dies ist ein Beispiel. zugewiesen. Mit Length wird die Länge ermittelt. Der Satz "Dies ist ein Beispiel." hat 22 Zeichen. nLaenge hat also den Wert 22.

LeftStr/RightStr

Verwendung: Gibt den linken/rechten Teil einer Zeichenketten zurück. Es werden dabei maximal soviele Zeichen zurückgegeben, wie im zweiten Parameter angegeben.
Parameter: string, integer
Rückgabe: string
Beispiel:

cText  := 'Dies ist ein Beispiel';
cLeft  := LeftStr(cText,2);
cRight := RightStr(cText,5);

Erklärung: Der String-Variable cText wird der Wert Dies ist ein Beispiel zugewiesen. Mit LeftStr und RightStr werden jeweils die ersten zwei Zeichen von Links und Rechts zurückgegeben. cLeft enthält danach den Wert Di und cRight den Wert spiel.

HINWEIS: Sollten mehr Zeichen ermittelt werden, als der ursprüngliche Wert Zeichen hat, so ist das Ergbenis gleich dem Ursprung. LeftStr(cDatei,50) hätte z. B. dazu geführt, dass cLeft ebenfalls Dies ist ein Beispiel enthält.

UpperCase/LowerCase

Verwendung: Umwandeln einer Zeichenkette in Großbuchstaben/Kleinbuchstaben.
Parameter: string
Rückgabe: string
Beispiel:

cText  := 'Beispiel';
cUpper := UpperCase(cText);
cLower := LowerCase(cText);

Erklärung: Der String-Variable cText wird der Wert Beispiel zugewiesen. Mit UpperCase und LowerCase wird die Zeichenkette umgewandelt. cUpper enthält danach den Wert BEISPIEL und cLower den Wert beispiel.

Token

Verwendung: Teilt eine Zeichenkette anhand eines Zeichens auf und gibt den engebenen Teil zurück.
Parameter: string, string, integer
Rückgabe: string
Beispiel:

cDatei := 'Datei_Name_Mit_Unterstrichen.txt';
cTeil  := Token(cDatei,'_',2);

Erklärung: Der String-Variable cDatei wird der Wert Datei_Name_Mit_Unterstrichen.txt zugewiesen. Mit Token wird die Zeichenkette aufgeteilt. Als Teiler ist ein Unterstrich angeben. Dies führt im angegebenen Beispiel zu vier Teilen: Datei, Name, Mit und Unterstrichen.txt. Es wird der zweite Teil gefordert. Die Variable cTeil enthält demnach den Wert Name.

NumToken

Verwendung: Ermittelt die Anzahl der Teile einer Zeichenketten, wenn diese an den Stelle mit dem Zeichen, das als Parameter übergeben wird, geteilt wird.
Parameter: string, string
Rückgabe: integer
Beispiel:

cDatei := 'Datei_Name_Mit_Unterstrichen.txt';
nTeile := NumToken('_',cDatei);

Erklärung: Der String-Variable cDatei wird der Wert Datei_Name_Mit_Unterstrichen.txt zugewiesen. Mit NumToken wird die Anzahl der Teil-Zeichenketten der Zeichenkette cDatei ermittelt. Als Trennzeichen wurde ein Unterstrich angegeben. Dies führt im angegebenen Beispiel zu vier Teilen: Datei, Name, Mit und Unterstrichen.txt. Die Variable nTeile entspricht also dem Wert 4.

AllTrim

Verwendung: Entfernt Umbrüche und Leerzeichen am Anfang und Ende einer Zeichenkette.
Parameter: string
Rückgabe: string
Beispiel:

cText := '  Dies ist ein Beispiel.       ';
cText := AllTrim(cText);

Erklärung: Der String-Variable cText wird der Wert " Dies ist ein Beispiel. " zugewiesen. Mit AllTrim werden die unnötigen Leerzeichen am Anfang und Ende der Zeichenkette entfernt. Die Variable cText entspricht also dem Wert "Dies ist ein Beispiel.".

iVal

Verwendung: Wandelt die angegebene Zeichenkette in einen Ganzzahlwert um.
Parameter: string
Rückgabe: integer
Beispiel:

cZahl := '4';
nZahl := iVal(cZahl);

Erklärung: Der String-Variable cZahl wird der Wert 4 zugewiesen. Mit iVal wird die Zeichenkette in die entsprechende Ganzzahl umgewandelt. Die Variable nZahl entspricht also dem Wert 4.

fVal

Verwendung: Wandelt die angegebene Zeichenkette in eine Dezimalzahl um.
Parameter: string
Rückgabe: double
Beispiel:

cZahl := '1234,56';
nZahl := fVal(cZahl);

Erklärung: Der String-Variable cZahl wird der Wert 1234,56 zugewiesen. Mit fVal wird die Zeichenkette in die entsprechende Dezimalzahl umgewandelt. Die Variable nZahl entspricht also dem Wert 1234,56.

Roundy

Verwendung: Runden eines Dezimalwerts (Typ: Double)
Parameter: double, integer
Rückgabe: double
Aufruf:

nDezimalwert := 1234.5678;
nGerundeterWert := Roundy(nDezimalwert,2);

Erklärung: Der zu rundende Wert wird mit Parameter 1 übergeben. Die gewünschte Anzahl an Nachkommastellen wird in Parameter 2 angegeben. Die Funktion rundet dann den Wert auf die angegebene Anzahl an Dezimalstellen und gibt das Ergebnis wieder zurück. Die Variable nDezimalwert wird auf den Wert 1234,5678 gesetzt. Anschließend wird der Wert auf zwei Nachkommastellen gerundet. Die Variable nGerundeterWert entspricht also 1234,57.

Trunc

Verwendung: Abschneiden der Nachkommastellen eines Dezimalwerts
Parameter: double
Rückgabe: integer
Aufruf:

nDezimalwert := 1234.5678;
nWert := Trunc(nDezimalwert);

Erklärung: Der Dezimalwert ist als Parameter zu übergeben. Als Ergbnis werden die Vorkommastellen zurückgegeben. Die Variable nDezimalwert wird auf den Wert 1234,5678 gesetzt. Anschließend wird der Wert auf zwei Nachkommastellen gerundet. Die Variable nWert entspricht also 1234.