GGMan   -  Testen und Manipulieren von Geograf-Daten

Skript   Factories   Filter   Grabber   Funktionen   Macros   Utils   Files   GUI   Typen   Elemente  

Funktionen

Allgemeines
Typen der Funktionen
verfügbare Funktionen

Allgemeines

Die Factories halten Steuerparameter, Ein-, Zwischen- und Ausgabewerte in Variablen vor. Um den Auswerteprozess für den Anwender frei konfigurierbar zu halten, kann auf diese Variablen mit Funktionen zugegriffen werden.

Funktionen können im Skript innerhalb der Factory-Definition, aber auch bei Wertzuweisungen von Variablen vereinbart werden.

$startnr = @Counter(99990000000)
new Factory ReaderFactory
   name = PunktArtPrüfer
   filter = new Filter ArtFilter
      range = 452
   end
   function = @Log(WARNING, "Punktart 452 ist nicht zu verwenden")
   finally  = @Log("&count fehlerhafte Punkte gefunden")
end

Funktionen werden immer mit dem Präfix '@' und dem Funktionsnamen vereinbart. Es folgen in runden Klammern eines oder mehrere Argumente. Mehrere Argumente werden mit Komma getrennt angegeben.

@Log(WARNING, "Punktart 452 ist nicht zu verwenden")

Die Funktionen können eine feste oder variable Anzahl von Argumenten besitzen. Die zulässige Anzahl und die Bedeutung entnehmen Sie bitte der Beschreibung der einzelnen Funktionen.

Die Anzahl der Argumente wird beim Start von GGMan getestet. Sollten einer Funktion eine nicht erlaubte Anzahl von Argumenten übergeben worden sein, meldet GGMan dieses als Fehler unter Angabe der Zeilennummer im Skript. Die Programmausführung wird sofort beendet.

Der Inhalt der Argumente wird größtenteils erst zur Laufzeit geprüft. Sollte eine Funktion auf ein nicht auswertbares Argument treffen, wird dies als Fehlermeldung in der Logdatei ausgegeben, die Programmausführung wird aber fortgesetzt. So erzeugen mathematische Funktionen (z.B. @Sin) eine Fehlermeldung, wenn das übergebene Argument nicht als Fließkommazahl interpretiert werden kann.

Die Argumente werden von Links nach Rechts ausgewertet. Bei nicht interpretierbaren Argumenten bricht die Funktion die Auswertung ab.

Als Argumente einer Funktion können wiederum Funktionen angegeben werden. Diese Möglichkeit der Verschachtelung ermöglicht sehr komplexe Auswerteszenarien. So schreibt die folgende Funktion nur einen LogText, wenn der Textvergleich @Equals("ja", "nein") wahr ergibt.

@If( @Equals("ja", "nein") , @Log("Dieser Text erscheint nie in der Logdatei") )
WENN "ja" GLEICH "nein" DANN Schreibe "Dieser Text erscheint nie in der Logdatei"

Beim Schreiben eines Skriptes ist besonders auf die korrekte Setzung der Klammern zu achten.

Typen der Funktionen

GGMan unterscheidet zwei wesentliche Typen von Funktionen. Einerseits gibt es Funktionen ohne Rückabewert (VoidFunction), andererseits Funktionen mit Rückgabewert.

VoidFunction

Die sogenannten VoidFunctions haben keinen Rückgabewert. Sie werden aufgerufen, um eine Tätigkeit auszuführen. Innerhalb einer Factory können nur diese VoidFunctions vereinbart werden.


function = @Log(WARNING, "Punktart 452 ist nicht zu verwenden")
finally  = @Log("&count fehlerhafte Punkte gefunden")
Die beiden hier vereinbarten Funktionen @Log sind VoidFunctions. Sie schreiben einen Text in die LogDateien.

ValueFunction

Alle ValueFunctions haben einen vereinbarten Rückgabewert. Sie werden verwendet, um einen Wert zu erzeugen und weiterzuverarbeiten. In der Regel werden diese Funktionen benutzt, um bedingungsabhängige Argumente innerhalb anderer Funktionsaufrufe zu erzeugen. So erzeugt der Aufruf @Add(&var1, &var2) die Summe zweier Variablen, diese Summe kann z.B. in der @Log-Funktion verwendet werden, um Sie zu einem Fehlertext zusammenzubauen:

@Concat( "Die Summe beträgt: ", @Add(&var1, &var2) )

Die ValueFunctions haben einen Standardrückgabetyp. Diesen Standardtyp zeigen Sie dem Aufrufer durch Ihren Funktionstyp an. Folgende Funktionstypen kann kann eine Funktion haben:

Diesen Standardwert erzeugen die Funktionen beim Aufruf. Verlangt die aufrufende Funktion einen anderen als den Standardtyp, wird dieser von der Funktion automatisch konvertiert und zurückgegeben.

@Add( @Concat("1", "2"), 3.0) )

Die Funktion @Add verlangt per Definition als Argumente DoubleValues. Die Funktion @Concat ist aber vom Typ StringFunction, sie liefert also regelmäßig einen StringValue zurück.

Beim Aufruf der Funktion @Concat werden die beiden Texte "1" und "2" zu dem Text "12" zusammenkopiert und dann automatisch zu der Zahl 12. konvertiert. Damit kann dann die Funktion @Add die Summe bilden, als Ergebnis wird 15. zurückgeliefert.

Solle die Konvertierung nicht möglich sein, wird von der Funktion eine Fehlermeldung erzeugt. GGMan protokolliert diese dann in der LogDatei. Der Aufruf @Add( @Concat("a", "b"), 3.0) ) wird mit Fehlermeldungen quittiert, da die Funktion @Concat den Text "ab" nicht in eine Zahl umwandeln kann.

verfügbare Funktionen

thematische Liste der Funktionen

mathematische Funktionen
grundsätzliche Operationen
Add Berechnet die Summe von Werten
Subtract Berechnet die Differenz von Werten
Multiply Berechnet das Produkt von Werten
Divide Berechnet den Quotienten von zwei Werten
Negate Ändert das Vorzeichen eines Wertes
Incr Erhöht einen Wert
Decr Verringert einen Wert
Vergleiche von Werten
Eq Vergleicht zwei Werte, Gleich
Lt Vergleicht zwei Werte, Kleiner als
LtEq Vergleicht zwei Werte, KleinerGleich als
Gt Vergleicht zwei Werte, Größer als
GtEq Vergleicht zwei Werte, GrößerGleich als
UnEq Vergleicht zwei Werte, Ungleich
DEq Vergleicht zwei Fließkommazahlen mit anzugebender Genauigkeit
Max Gibt den größeren von zwei Werten zurück
Min Gibt den kleineren von zwei Werten zurück
InList Gibt an, ein Wert in einer Aufzählung enthalten ist
InRange Gibt an, ein Wert in einem Bereich enthalten ist
Runden von Fließkommazahlen
Ceil Berechnet den kleinsten Ganzzahlwert
Floor Berechnet den größten Ganzzahlwert
Rint Rundet einen Wert auf eine Ganzzahl
Round Rundet einen Wert auf Nachkommastellen
Winkelfunktionen
Sin Berechnet den Sinus eines Wertes
ASin Berechnet den Arcus Sinus eines Wertes
Cos Berechnet den Cosinus eines Wertes
ACos Berechnet den Arcus Cosinus eines Wertes
Tan Berechnet den Tangens eines Wertes
ATan Berechnet den Arcus Tangens eines Wertes
ATan2 Berechnet den Arcus Tangens aus kartesische Koordinaten
ArcNorm Normiert eine Winkelangabe
weitere mathematische Funktionen
Pow Berechnet die Potenz a hoch b
Sqrt Berechnet die Quadratwurzel eines Wertes
Exp Berechnet den Wert E hoch a
NLog Berechnet den natürlichen Logarithmus eines Wertes
Abs Berechnet den Absolutbetrag eines Wertes
Mod Berechnet den ganzzahligen Rest eines Quotienten
Distance Berechnet die Strecke zwischen Punkten
Distance3D Berechnet die dreidimensionale Strecke zwischen Punkten
Rand Berechnet eine Zufallszahl
Sgn Ermittelt das Vorzeichen eines Wertes
Slope Ermittelt die Neigung aus einer Höhendifferenz
Operatoren
And Logisches UND
Not Logisches NOT
OR Logisches OR
Cond Bedingte Wertzuweisung
Zugriffe auf Arrays
A Erzeugt einen neuen Array
ArraySize Gibt die Anzahl der im Array enthaltenen Values zurück
AppendArray Gibt einen um Werte erweiterten Array zurück
ForArray Iteriert über einen Array
ArrayValue Gibt einen Value aus einem Array zurück
GetArrayValue Gibt einen Value aus einem Array zurück
SetArrayValue Setzt einen Value in einem Array
FilterArrayValue Gibt einen durch einen Filter bestätigten Value aus einem Array zurück
FilterArrayValuesGibt die durch einen Filter bestätigten Values aus einem Array zurück
SubArray Gibt einen neuen Array aus Teilen eines Arrays zurück
FilterArray Gibt die Anzahl der Elemente eines Arrays zurück, die von einem Filter bestätigt werden
GetArray Stellt einen Array von Attributen von mehreren GeografElementen zusammen
ArraySort Sortiert einen Array
ReverseArray Kehrt die Reihenfolge in einem Array um
ArrayEquals Vergleicht die Elemente eines Arrays
CloneArray Erzeugt eine Kopie eines Arrays
Zugriffe auf Attribute von Geograf-Elementen
CreateElement Erzeugt ein neues Geografelement
StoreElement Speichert ein GeografElement
AddSubElement Fügt einem GeografElement ein SubElement hinzu
GetSubElement Holt ein SubElement aus einem GeografElement
CountSubElemenets Gibt die Anzahl der SubElemente eines GeografElements zurück
Get Holt ein Attribut aus einem Geografelement
GetArray Stellt einen Array von Attributen von mehreren GeografElementen zusammen
Set Setzt ein Attribut in einem Geograf-Element
ExistData Gibt an, ob eine Geograf-Element ein Sachdatensatz besitzt
GetData Holt einen Sachdatensatz aus einem Geograf-Element
SetData Speichert einen Sachdatensatz in ein Geograf-Element
CreateData Erzeugt einen Array mit der ElementAnzahl einer Sachdatendefinition
Ablaufkontrolle
Aufruf und Abbruch von Routinen
Call Ruft Funktionen auf
Sub Ruft eine Subroutine auf
Return Setzt den Rückgabewert eines Macros
Break Bricht die Funktionsaufrufe einer Factory ab
Bedingte Ausführung
If Bedingte Ausführung von Funktionen
IfThenElse Bedingte Ausführung von Funktionen
Switch Bedingte Ausführung von Funktionen
While Bedingte mehrmalige Ausführung von Funktionen
String-Funktionen
Test von Zeichenketten
Equals Vergleicht zwei Strings, Gleich
UnEquals Vergleicht zwei Strings, Ungleich
EqualsIgnoreCase Vergleicht zwei Strings, Groß- und Kleinschreibung wird ignoriert
EqualsPattern Vergleicht ein String mit einem Muster
StartsWith Prüft den Anfang eines Strings
EndsWith Prüft das Ende eines Strings
HasString Gibt an, ob ein String eine Zeichenkette enthält
HasChars Gibt an, ob ein String eine Auswahl an Zeichen enthält
HasOnlyChars Gibt an, ob ein String nur aus einer Auswahl aus Zeichen besteht
HasLetter Gibt an, ob ein String Buchstaben enthält
HasNumber Gibt an, ob ein String Ziffern enthält
Length Gibt die Länge eines Strings zurück
IndexOf Gibt die Position eines Teilstrings in einem SuchString zurück
IndexOfChars Gibt die Position des ersten gefundenen Zeichens aus einer Zeichenliste zurück
IndexOfNumber Gibt die Position der ersten gefundenen Nummer zurück
IndexOfLetter Gibt die Position des ersten gefundenen Buchstabens zurück
IndexOfLower Gibt die Position des ersten Kleinbuchstabens zurück
IndexOfUpper Gibt die Position des ersten Großbuchstabens zurück
IndexOfNonNumber Gibt die Position des ersten Zeichens zurück, welches keine Nummer ist
IndexOfNonLetter Gibt die Position des ersten Zeichens zurück, welches kein Buchstabe ist
IndexOfNonLower Gibt die Position des ersten Zeichens zurück, welches kein Kleinbuchstabe ist
IndexOfNonUpper Gibt die Position des ersten Zeichens zurück, welches kein Großbuchstabe ist
LastIndexOf Gibt die Position eines Teilstrings in einem SuchString zurück
CountTokens Zählt in einem String die Teilstrings
IsNumber Gibt an, ob ein String nur Ziffern enthält
IsDigit Gibt an, ob ein String eine Zahl enthält
IsFormat Gibt an, ob ein String einer Formatierung entspricht
IsLetter Gibt an, ob ein String nur Buchstaben enthält
IsLowerCase Gibt an, ob ein String nur Kleinbuchstaben enthält
IsUpperCase Gibt an, ob ein String nur Großbuchstaben enthält
IsSpace Gibt an, ob ein String nur Leerzeichen enthält
IsVoid Gibt an, ob ein String leer ist
HasValue Gibt an, ob ein String nicht leer ist
Veränderung von Zeichenketten
Trim Schneidet die Leerzeichen am Anfang und am Ende des Strings ab
TrimSize Formatiert einen String auf eine vorzugebende Länge
ReplaceChar Ersetzt einzelne Zeichen
ReplaceString Ersetzt eine Zeichenkette
Encode Ersetzt einzelne Zeichen anhand einer Codierungsvorschrift
ToLowerCase Wandelt einen String in Kleinbuchstaben
ToUpperCase Wandelt einen String in Großbuchstaben
ToString Konvertiert einen Value in einen String
RomanToNumber Konvertiert eine Römische Zahl in einen LongValue
Format Formatiert einen Zahlenwert
Zusammenfügen von Zeichenketten
Concat Setzt einen String aus mehreren Einzelstrings zusammen
Extraktion aus Zeichenketten
CharAt Gibt ein einzelnes Zeichen aus einem String zurück
Letters Holt alle Buchstaben aus einem String
FirstLetters Holt die ersten Buchstaben aus einem String
LastLetters Holt die letzten Buchstaben aus einem String
Numbers Holt alle Ziffern aus einem String
FirstNumbers Holt die ersten Ziffern aus einem String
LastNumbers Holt die letzten Ziffern aus einem String
Digits Holt alle Fließkommazahlen aus einem String
FirstDigits Holt die erste Fließkommazahl aus einem String
LastDigits Holt die letzte Fließkommazahl aus einem String
Substring Holt einen Teilstring aus dem String
SubstringOf Holt einen Teilstring aus dem String
ToEncodeArray Gibt ein Array mit den Zahlenwerten der Zeichen eines String zurück
Token Zerlegt den String in Teilstrings
Extract Holt Teilstrings aus einem String anhand von Trennzeichen
Sectstring Holt Teilstrings aus einem String anhand von Kennzeichen
Arbeiten mit List, Map und Filter
Abfragen
Contains Gibt wahr zurück, wenn ein Value in einem Container enthalten ist
Filter Gibt wahr zurück, wenn ein Value in einem Filter enthalten ist
Size Gibt die Anzahl der enthaltenen Objekte zurück
Durchlaufen
HasMore Gibt an, ob eine Collection über weitern Inhalt verfügt
Next Gibt den nächsten verfügbaren Wert einer Collection zurück
Reset Setzt den Zähler einer Collection oder eines CountFilters zurück
Flush Leert eine Collection
Werte holen und eingeben
Put Fügt Werte in einen Container ein
Map Holt einen Wert zu einem Schlüssel
Match Holt einen ähnlichen String aus einer Collection
MatchList Erzeugt einen sortierten Array mit ähnlichen String aus einer Collection
Wandeln
ToList Wandelt eine Collection in eine List um
Wertkonvertierung
A Erzeugt einen neuen Array aus Werten
D Konvertiert einen Wert in einen DoubleValue
L Konvertiert einen Wert in einen LongValue
ToString Konvertiert einen Value in einen String
RomanToNumber Konvertiert eine Römische Zahl in einen LongValue
Eingaben, Ausgaben
Logging
Log Schreibt eine Meldung in die LogDatei
Konsole
Print Gibt einen Text auf der Konsole aus
PrintLine Gibt eine Textzeile auf der Konsole aus
PrintStack Gibt den Java-Stacktrace in der Konsole aus
Datei
ListFiles Erzeugt einen Array mit den Dateinamen des aktuellen Verzeichnisses
Open Öffnet eine Datei zum Lesen oder Schreiben
Read Liest den nächsten verfügbaren Wert aus einer Datei
Write Schreibt einen Wert in eine Datei
WriteLine Schreibt eine Zeile in eine Datei
Close Schlißt eine Datei
sonstiges
Counter Ein Zähler
Nbz Erzeugt aus einem Koordinatenpaar den Nummerierungsbezirk
CopyFile Kopiert eine Datei
FindFile Sucht eine Datei im aktuellen Verzeichnis und im Java-Classpath
Store Speichert Werte in Variablen
Swap Tauscht den Inhalt von Variablen aus
Global Speichert Werte in globalen Variablen
Exist Gibt an, ob eine Variable verfügbar ist
Clone Eine Kopie von einem Objekt wird angelegt.


Beschreibung der Funktionen

A

ArrayFunction @A([ v1, ..., vn])

Erzeugt einen neuen Array und fügt die Values v1 bis vn hinzu. Wenn keine Werte angegeben werden, wird ein Array der Länge 0 erzeugt.

v : Werte, die dem Array hinzugefügt werden sollen

@A("aa", "bb", "cc")

aa, bb, cc

@ArrayValue

Abs

DoubleFunction @Abs(DoubleValue d)

Berechnet den Absolutbetrag eines Wertes. Alle Eingabewerte werden in einen positiven Zahlenwert gewandelt.

d : Wert, von dem der Absolutbetrag berechnet werden soll

@Abs(-1)

1.

@Negate

ACos

DoubleFunction @ACos(DoubleValue d)

Berechnet den Arcus Cosinus eines Wertes

d : Wert, von dem der Arcus Cosinus berechnet werden soll

@ACos(1.)

0.0

@Cos

Add

DoubleFunction @Add(DoubleValue d1, d2[, ..., dn])

Berechnet die Summe von mehreren Werten

d1 ... dn : Werte, die aufsummiert werden sollen

@Add(1., 2.)

3.0

@Subtract, @Multiply, @Divide

AddSubElement

VoidFunction @AddSubElement(ObjectValue elem, ObjectValue sub1, ..., subn)

Fügt einem Geografelement ein oder mehrere SubElemente hinzu. Nur ausgewählte GeografTypen können SubElemente aufnehmen. So enthalten Texte (Typ TE) einzelne TextZeilen (Typ TA) als SubElemente. Die SubElemente können mit der Funktion CreateElement erzeugt und mit AddSubElement einem Element hinzugefügt werden.

elem : Ein GeografElement, welches die SubElemente aufnehmen soll.

sub1...subn : Die SubElemente, die hinzugefügt werden sollen.

@AddSubElement(@text, &zeile1, &zeile2)

Fügt einem TextElement zwei TextZeilen hinzu.

@CreateElement, @GetSubElement, @CountSubElements

And

BooleanFunction @And(BooleanValue b1, b2[, ..., bn])

Logisches UND

b1 ... b1 : BooleanValues, @And gibt true zurück, wenn alle Argumente den Wert true besitzen. Die Auswertung wird beim ersten Argument abgebrochen, der den Wert false besitzt. In diesem Fall gibt @Add false zurück.

@And(@Equals(1., 1.), @Equals("text1", "text2"), @Equals("000", "111"))

false

@Not, @Or

AppendArray

ArrayFunction @AppendArray(ArrayValue a, Value v1[, ..., vn])

Gibt einen neuen Array erweiterten Array zurück. Es wird ein neuer Array mit den Elementen des Quellarrays a und den Elementen v1 bis v n zurück gegeben. Der neue Array hat die Länge @ArraySize(a) + n.

a : der Quellarray.

v1 ... bn : Values, die angehängt werden.

@AppendArray(&array, "A", "B")

Ein neuer Array mit den Elementen aus &array und die Werte "A" und "B".

@ArraySize, @ArrayValue

ArcNorm

DoubleFunction @ArcNorm(DoubleValue d [, StringValue s])

Normiert eine Winkelangabe

d : Wert, der normiert werden soll

s : Art der Winkelangabe:

Soweit die Angabe s fehlt, wird Radiant (rad) angenommen.

@ArcNorm(4.5)

1.3584

@ArcNorm(500., "grad")

100.

ArrayEquals

BooleanFunction @ArrayEquals(ArrayValue a)

Gibt wahr zurück, wenn alle Elemente des Arrays gleich sind.

a : der zu untersuchende Array

@Equals($ebenenDerElemente)

false

Equals

ArraySize

LongFunction @ArraySize(ArrayValue a)

Gibt die Anzahl der im Array enthaltenen Values zurück.

a : der Array, dessen Größe zurückgegeben werden soll

@ArraySize(&outLines)

3

@ForArray, @ArrayValue

ArraySort

VoidFunction @ArraySort(ArrayValue a[, StringValue m])

Sortiert einen Array.

a : der Array, der sortiert werden soll

m : ein Zeichen, dass den Sortiermodus vorgibt:

Bei Angabe des jeweiligen Kleinbuchstabens wird die Sortierung umgekehrt.

@ArraySort(&testArray)

aa, ab, bb

ArrayValue

ObjectFunction @ArrayValue(ArrayValue a, LongValue i)

Gibt einen Value aus dem Array a zurück.

a : der Array, aus dem ein Wert entnommen werden soll.

i : der Indes des Wertes, der aus dem Array entnommen werden soll. Die Zählung beginnt mit 0. Der Wert kann auch negativ angegeben werden, dann wird vom Ende aus gezählt

@ArrayValue(&outLines, 1)

einWert

@ForArray, @ArraySize, @GetArrayValue, @SetArrayValue

ASin

DoubleFunction @ASin(DoubleValue d)

Berechnet den Arcus Sinus eines Wertes

d : Wert, von dem der Arcus Sinus berechnet werden soll

@ASin(1.)

1.5707

@Sin

ATan

DoubleFunction @ATan(DoubleValue d)

Berechnet den Arcus Tangens eines Wertes

d : Wert, von dem der Arcus Tangens berechnet werden soll

@ATan(1.)

0.7853

@Tan

ATan2

DoubleFunction @ATan2(DoubleValue a, DoubleValue b)

Berechnet den Arcus Tangens eines Quotienten, der in der Regel aus kartesische Koordinaten gebildet wird

a : 1. Koordinatenkomponente, in der Regel Hochwertdifferenz

b : 2. Koordinatenkomponente, in der Regel Rechtswertdifferenz

@ATan2(1., 2.)

0.4636

@Tan

Break

VoidFunction @Break()

Bricht die Funktionsaufrufe einer Factory ab


@If("true", @Break())
@Log("Dieser Text wird nicht mehr dokumentiert")

ohne

@Return

Call

VoidFunction @Call(VoidFunction f1[, ..., fn])

Ruft mehrere Funktionen auf

f1 ... fn : Funktionen, die nacheinander aufgerufen werden. Die Funktionen müssen vom Typ Void sein.

@Call(@Log("Dies"), @Log("ist ein Logtext"))

ohne

Ceil

DoubleFunction @Ceil(DoubleValue d)

Berechnet den kleinsten Ganzzahlwert, der größer oder gleich dem Argument d ist

d : Wert, von dem der Ganzzahlwert berechnet werden soll

@Ceil(1.6)

2.0

CharAt

StringFunction @CharAt(StringValue s, LongValue i)

Gibt ein einzelnes Zeichen aus einem String zurück

s : der String, aus dem das Zeichen entnommen wird

i : der Index des Zeichens, das erste Zeichen des Strings hat den Index 0

Es wird eine Exception ausgelöst, wenn der String kürzer ist, als i+1

@CharAt("Text", 1)

e

Clone

ObjectFunction @Clone(ObjectValue obj)

Legt eine Kopie eines Objektes an.

obj : die zu kopierende Objekt

Die Funktion Clone kann einen Fehler erzeugen, wenn das Objekt selbst keine Kopiermöglichkeit vorsieht.

@Clone(&ggPunkt)

Änderungen, die an der Kopie von ggPunkt vorgenommen werden, haben keine Auswirkung auf die Daten im Datenstrom, soweit das kopierte Objekt nicht explizit in den Ausgabestrom zurückgespeichert wird.

@CloneArray

CloneArray

ArrayFunction @CloneArray(ArrayValue a)

Legt eine Kopie eines Arrays an. Dabei wird von allen ArrayInhalten auch eine Kopie angelegt.

a : der zu kopierende Array

Die Funktion CloneArray kann einen Fehler erzeugen, wenn eines der Objekte des Arrays selbst keine Kopiermöglichkeit vorsieht.

@Clone(&ggPunkte)

Änderungen, die an den Kopien von ggPunkte vorgenommen werden, haben keine Auswirkung auf die Daten im Datenstrom, soweit die kopierten Objekte nicht explizit in den Ausgabestrom zurückgespeichert werden.

@Clone

Close

VoidFunction @Close(ObjectValue file)

Schließt eine Datei.

file : die zu schließende Datei

@Close(&inFile)

@Open

Concat

StringFunction @Concat(StringValue s1, s2[,..., sn])

Setzt einen String aus mehreren Einzelstrings zusammen

s1 ... sn : die einzelnen Strings

@Concat("Das ", "ist ", "ein ", "Text.")

Das ist ein Text.

Cond

ObjectFunction @Cond(BooleanValue b, ObjectValue o1, ObjectValue o2)

Bedingte Wertzuweisung

b : Boolean, Wahrheitswert

o1 : wird zurückgegeben, wenn b wahr

o2 : wird zurückgegeben, wenn b unwahr

@Cond("true", 1., 2.)

1.

Contains

BooleanFunction @Contains(ObjectValue c, ObjectValue v)

Gibt wahr zurück, wenn der Value v in dem Container c enthalten ist

c : der ObjectValue muss einen ValueContainer (List, Map oder Filter) enthalten, es wird wahr zurückgegeben, wenn der Wert v in c enthalten ist

v : der gesuchte Wert

Es wird eine Exception ausgelöst, wenn das Objekt c kein ValueContainer ist

@Contains($longHash, 1)

true

@Put

@Map

@Match

CopyFile

VoidFunction @CopyFile(StringValue src, StringValue dst)

Kopiert eine Datei. Wenn die Zieldatei vorhanden ist, wird sie ohne Nachfrage überschrieben.

src : der vollständige Pfad der Quelldatei

dst : der vollständige Pfad der Zieldatei

@CopyFile("c:\daten.txt", "c:\sicherung.txt")

@FindFile

Cos

DoubleFunction @Cos(DoubleValue d)

Berechnet den Cosinus eines Wertes

d : Wert im Bogenmaß, von dem der Cosinus berechnet werden soll

@Cos(0.)

1.0

@ACos

Counter

LongFunction @Counter(LongValue i)

Ein Zähler

i : Startnummer der Zählung

@Counter(1)

1...

CountSubElements

LongFunction @CountSubElements(ObjectValue o)

Gibt die Anzahl der SubElemente zurück, die in einem GeografElement enthalten sind.

o : das Objekt, dessen SubElemente gezählt werden

@CountSubElements(&inObject)

3

@GetSubElement

CountTokens

LongFunction @CountTokens(StringValue s, StringValue t)

Zählt in einem String s die Teilstrings. Als Trennzeichen dienen die Zeichen im String t.

s : der String, der zerlegt werden soll

t : Zeichen, die als Trenner dienen sollen.

@CountTokens("Eins|Zwei|Drei", "|")

3

@Token

CreateData

ArrayFunction @CreateData(LongValue a])

Erzeugt einen leeren Sachdatensatz aufgrund einer Sachdatendefinition.

a : die Art-Nummer des Sachdatensatzes

@GetData(1)

ein Array mit der Elementanzahl der Sachdatendefinition 1

@ExistData, @SetData, @GetData

CreateElement

ObjectFunction @CreateElement(StringValue type)

Erzeugt ein neues Geografelement.

type : EinString mit der Kennung des Geograftyps. Die möglichen GeografTypen sind beim ElementIdFilter gelistet.

@Store(&ks, @CreateElement(pk))

In &ks wird ein neuer Punkt gespeichert.

StoreElement

D

DoubleFunction @D(ObjectValue o)

Konvertiert einen Wert in einen DoubleValue
Diese Konvertierung ist nur in Ausnahmefällen notwendig, da Funktionen die Argumente automatisch umwandeln

o : Wert, der als DoubleValue zurückgegeben werden soll

@D(1)

1.0

Decr

VoidFunction @Decr(ObjectValue v1[, DoubleValue d1[,...,ObjectValue vn, ObjectValue dn]] )

Verringert den Wert in v um den Wert d und speichert ihn. In der Variablen o muß ein Zahlenwert enthalten sein. Es können mehrere Variablen und Werte angegeben werden.
Ist nur die Variable v1 ohne dazugehörigen Wert d angegeben, wird die Variable um 1 verringert.
Eine Variablenbezeichner beginnt mit dem Zeichen '&'.

vn : Variablenbezeichner

on : Wert, um den der Inhalt in v erhöht wird

@Store(&fehlernummer, 5)
@Decr(&fehlernummer)

Die Variable &fehlernummer enthält 4

@Store(&index, 0, nextIndex, 5)
@Decr(&index, 1, &nextIndex, 3)

Die Variable &index enthält -1, &nextIndex enthält 2

@Incr, @Subtract

DEq

BooleanFunction @DEq(DoubleValue a, DoubleValue b, DoubleValue dist)

Vergleicht zwei Fließkommawerte mit der anzugebenden Genauigkeit d

a :DoubleValue

b :DoubleValue

d :DoubleValue, DEq gibt true zurück, wenn a und b sich um weniger als den Betrag von d unterscheiden.

@Eq(10.00, 10.01, 0.05)

true

@Eq, @UnEq

Digits

StringFunction @Numbers(StringValue s)

Holt alle Fließkommawerte aus dem String s. Es werden alle Ziffern, und die Zeichen '+-.,' aus dem String zusammengesetzt. Das Komma wird dabei als Punkt interpretiert. Die Funktion stellt nicht sicher, das der entstehende String als Zahl interpretiert werden kann. Sind mehrere Kommas oder Punkte enthalten, kann entstehende String nicht als DoubleValue benutzt werden.

s : der String, aus dem der Zahlenwert geholt werden soll

@Digits("Höhe 125,0 über DHHN")

125.0

@Digits("Dimension 12.0/15.2")

12.015.2

@FirstDigits, @LastDigits

Distance

DoubleFunction @Distance(ArrayValue pn)

DoubleFunction @Distance(ObjectValue pa, ObjectValue pe)

DoubleFunction @Distance(DoubleValue ya, DoubleValue xa, DoubleValue ye, DoubleValue xe)

Berechnet die Strecke zwischen Punkten

pn : Ein Array, der GeografPunkte enthält. Es wird die Länge des Polygons über die enthaltenen Punkte bestimmt.

pa : Erster GeografPunkt.

pe : Zweiter GeografPunkt. Es wird die Strecke zwischen pa und pe bestimmt.

ya : Rechtswert des Anfangspunktes

xa : Hochwert des Anfangspunktes

ye : Rechtswert des Endpunktes

xe : Hochwert des Endpunktes. Es wird die Strecke zwischen yxa und yxe bestimmt.

@Distance(1000., 500., 1010., 500.)

10.0

Distance3D

DoubleFunction @Distance3D(ArrayValue pn)

DoubleFunction @Distance3D(ObjectValue pa, ObjectValue pe)

DoubleFunction @Distance3D(DoubleValue ya, DoubleValue xa, DoubleValue za, DoubleValue ye, DoubleValue xe, DoubleValue ze)

Berechnet die dreidimensionale Strecke zwischen Punkten. Wenn ein Punkt den z-Koordinate = 0.0 besitzt, wird die Länge 0 zurückgegeben.

pn : Ein Array, der GeografPunkte enthält. Es wird die 3D-Länge des Polygons über die enthaltenen Punkte bestimmt.

pa : Erster GeografPunkt.

pe : Zweiter GeografPunkt. Es wird die 3D-Strecke zwischen pa und pe bestimmt.

ya : Rechtswert des Anfangspunktes

xa : Hochwert des Anfangspunktes

za : Höhe des Anfangspunktes

ye : Rechtswert des Endpunktes

xe : Hochwert des Endpunktes.

ze : Höhe des Endpunktes. Es wird die 3D-Strecke zwischen yxza und yxze bestimmt.

@Distance(1000., 500., 50., 1010., 500., 60.)

14.142

Divide

DoubleFunction @Divide(DoubleValue a, DoubleValue b)

Berechnet den Quotienten von a / b

a : DoubleValue

b : DoubleValue

@Divide(1., 2.)

0.5

@Add, @Subtract, @Multiply

Encode

StringFunction @Encode(StringValue s, LongValue c1, c2[, ..., cn, cn+1])

Ersetzt im String s einzelne Zeichen. Es wird der veränderte String zurückgegeben.

s : der String, in dem die Zeichen ersetzt werden sollen

cn : der Zahlenwert des zu ersetzenden Zeichens

cn+1 : der Zahlenwert des Zeichens, das als Ersatz eingefügt wird

@Encode("Text", 120, 115)

Test

@ReplaceChar

EndsWith

BooleanFunction @EndsWith(StringValue s1, StringValue s2)

Gibt wahr zurück, wenn der String s1 mit der Zeichenfolge s2 endet

s1 : der zu untersuchende String

s2 : die gesuchte Zeichenfolge

@EndsWith("Text", "xt")

true

@StartsWith, @Equals

Eq

BooleanFunction @Eq(DoubleValue a, DoubleValue b)

Gibt wahr zurück, wenn der Wert a gleich dem Wert b ist

a :DoubleValue

b :DoubleValue

@Eq(2., @Add(1., 1.))

true

@UnEq

Equals

BooleanFunction @Equals(StringValue s1, StringValue s2)

Gibt wahr zurück, wenn der String s1 mit der String s2 übereinstimmt
Groß- und Kleinschreibung wird unterschieden

s1 : der zu untersuchende erste String

s2 : der zu untersuchende zweite String

@Equals("Text", "TEXT")

false

UnEquals,EqualsIgnoreCase, @StartsWith, @EndsWith

EqualsIgnoreCase

BooleanFunction @EqualsIgnoreCase(StringValue s1, StringValue s2)

Gibt wahr zurück, wenn der String s1 mit der String s2 übereinstimmt
Groß- und Kleinschreibung wird ignoriert

s1 : der zu untersuchende erste String

s2 : der zu untersuchende zweite String

@EqualsIgnoreCase("Text", "TEXT")

true

EqualsPattern

BooleanFunction @EqualsPattern(StringValue pattern, StringValue s)

Ermöglicht einen Mustervergleich. Gibt wahr zurück, wenn der String s mit dem Muster pattern übereinstimmt.

pattern : das Suchmuster
folgende Zeichen sind dienen der Mustersuche:
*   (Sternchen): beliebig viele Zeichen, auch keines
~   (Tilde): beliebig viele Zeichen, mindestens eines
?   (Fragezeichen): ein beliebiges Zeichen
#   (Hashzeichen): eine Ziffer
^   (Circumflex): ein beliebiger Buchstabe
<   (kleiner als): ein beliebiger Kleinbuchstabe
>   (größer als): ein beliebiger Großbuchstabe
alle anderen Zeichen im Muster müssen mit denen im Suchstring s übereinstimmen. Groß- und Kleinbuchstaben werden unterschieden.

s : der zu untersuchende String

@Equals("*flo?", "kopflos")

true

Equals, EqualsIgnoreCase, @StartsWith, @EndsWith

Exist

BooleanFunction @Exist(Value v1 [,..,vn])

Gibt true zurück, wenn die Variablen vn verfügbar sind

v : eine Variable

@If( @Exist(&text), @Log("Variable existiert"))

Variable existiert

ExistData

BooleanFunction @ExistData(ObjectValue o, LongValue a)

Gibt true zurück, wenn ein Geografelement einen Sachdatensatz mit der Art a besitzt

o : ein ObjectValue der ein Geografelement enthalten muss

a : die Art des gefragten Sachdatensatzes

@If( @Exist(&p, 1), @Log("Punkt besitzt einen Sachdatensatz der Art 1"))

true

@GetData, @SetData

Exp

DoubleFunction @Exp(DoubleValue a)

Berechnet den Wert E hoch a, E ist die Basis des natürlichen Logarithmus

a : DoubleValue

@Exp(2.)

7.3890

Extract

StringFunction @Extract(StringValue s, StringValue t [, StringValue order])

Holt einen Teilstring aus dem String s. Als Trennzeichen dienen die Zeichen im String t. Mit order kann gesteuert werden, welcher Teilstring zurückgegeben wird.

s : der String, aus dem der Teilstring geholt werden soll

t : Zeichen, die als Trenner dienen sollen.

order : legt fest, welcher Teilstring zurückgegeben wird:

@Extract("Länge -25.55- ", "-")

25.55

@Extract("Länge -25.55- ", "-", EXTRACT_DELIMS)

-25.55-

@Token, @Sectstring

Filter

BooleanFunction @Filter(ObjectValue f, ObjectValue o)

Gibt wahr zurück, wenn das Objekt o von dem Filter f bestätigt wird.

f : ObjectValue, muss einen Filter enthalten

o : ObjectValue, muss ein GeografElement enthalten

@Filter($punktFilter, &in)

true

@FilterArray

FilterArray

LongFunction @FilterArray(ObjectValue f, ArrayValue a)

Gibt die Anzahl der Elemente des Arrays a zurück, die von dem Filter f bestätigt werden.

f : ObjectValue, muss einen Filter enthalten

o : ArrayValue, muss ein Array aus GeografElementen enthalten

@Filter($punktFilter, &outArray)

2

@Filter

FilterArrayValue

ObjectFunction @FilterArrayValue(ObjectValue f, ArrayValue a)

Gibt das erste Element des Arrays a zurück, das von dem Filter f bestätigt wurde.

f : ObjectValue, muss einen Filter enthalten

o : ArrayValue, muss ein Array aus GeografElementen enthalten

@FilterArrayValue($punktFilter, &outArray)

den ersten Punkt, der durch den punktFilter bestätigt wird

@Filter, @FilterArray, @FilterArrayValues

FilterArrayValues

ArrayFunction @FilterArrayValues(ObjectValue f, ArrayValue a)

Gibt die Elemente des Arrays a zurück, das von dem Filter f bestätigt wurden.

f : ObjectValue, muss einen Filter enthalten

o : ArrayValue, muss ein Array aus GeografElementen enthalten

@FilterArrayValues($punktFilter, &outArray)

die Punkte, die durch den punktFilter bestätigt werden

@Filter, @FilterArray, @FilterArrayValue

FindFile

StringFunction @FindFile(StringValue name)

Sucht eine Datei im aktuellen Verzeichnis und im Java-Classpath. Wenn eine Datei gefunden wurde, wird der vollständige Dateipfad zurückgegeben. Wenn keine Datei gefunden wurde, wird eine Fehlermeldung erzeugt.

name : Dateiname

@FindFile("params.txt")

c:\programme\ggman\params.txt

FirstDigits

StringFunction @FirstDigits(StringValue s)

Holt die erste Fließkommazahl aus dem String s.

s : der String, aus dem die Nummern geholt werden sollen

@FirstDigits("-123.0aaa456")

-123.0

@Digits, @LastDigits

FirstLetters

StringFunction @FirstLetters(StringValue s)

Holt die ersten Buchstaben aus dem String s.

s : der String, aus dem der Teilstring geholt werden soll

@FirstLetters("aaa123bbb")

aaa

@Letters, @LastLetters

FirstNumbers

StringFunction @FirstNumbers(StringValue s)

Holt die ersten Ziffern aus dem String s.

s : der String, aus dem die Nummern geholt werden sollen

@FirstNumbers("123aaa456")

123

@Numbers, @LastNumbers

Floor

DoubleFunction @Floor(DoubleValue a)

Berechnet den größten Ganzzahlwert, der nicht größer ist als das Argument a

a : DoubleValue

@Exp(1.7)

1.

Flush

VoidFunction @Flush(ObjectValue c)

Leert eine Collection um Speicher frei zu geben

c : der ObjectValue muss einen Collection enthalten, es wird der gesamte Inhalt geleert

Es wird eine Exception ausgelöst, wenn das Objekt c kein Collection ist

@Flush($collection)

ForArray

VoidFunction @ForArray(ArrayValue a, StringValue n, VoidFunction f1[, ..., fn])

Iteriert über einen Array. Der jeweils aktuelle Value des Arrays wird unter dem Namen n gespeichert. Es werden nacheinander alle Funktionen f aufgerufen.

a : der Array, über den iteriert wird.

n : der Name, unter dem der jeweils aktuelle Value des Array gespeichert wird.

f1 ... fn : Funktionen, die auf jedes ArrayElement aufgerufen werden.

@ForArray(&punktArray, &einzelPunktDesArray, @Log("Der Punkt &einzelPunktDesArray wird dokumentiert") )

Format

StringFunction @Format(StringValue f, ObjectValue o)

Formatiert einen Zahlenwert

f : FormatString, das Zeichen '#' gibt die Anzahl der Stellen an, das Zeichen '.' die Kommastelle
Wird keine Kommastelle angegeben, wird die Zahl ganzzahlig formatiert

o : der zu formatierende Zahlenwert

@Format("#.##", 1.234567)

1.23

@Format("#", 1.234567)

1

@IsFormat

Get

StringFunction @Get(ObjectValue o, StringValue s)

Holt ein Attribut aus einem Geografelement

o : ObjectValue, muss ein GeografElement enthalten,
aus diesem wird der Wert zum Attribut s geholt

s : das ElementAttribute

@Get(&in, "ebene")

50

@Set

GetArray

ArrayFunction @GetArray(ArrayValue a, StringValue s)

Stellt einen Array von Attributen von mehreren GeografElementen zusammen. Die GeografElemente sollen in dem Array a vorliegen.

a : ArrayValue, muss ein GeografElemente enthalten. Aus jeden Element wird der Wert zum Attribut s geholt und in dem AusgabeArray gespeichert.

s : das ElementAttribute

@GetAttay(&inArray, "ebene")

ein Array mit den Ebenen der GeografElemente

@Get

GetArrayValue

ObjectFunction @GetArrayValue(ArrayValue a, LongValue i)

Diese Funktion ist identisch mit der Funktion @ArrayValue

Gibt einen Value aus dem Array a zurück.

a : der Array, aus dem ein Wert entnommen werden soll

i : der Indes des Wertes, der aus dem Array entnommen werden soll. Die Zählung beginnt mit 0. Der Wert kann auch negativ angegeben werden, dann wird vom Ende aus gezählt

@ArrayValue(&outLines, 1)

einWert

@ForArray, @ArraySize, @ArrayValue, @SetArrayValue

GetData

ArrayFunction @GetData(ObjectValue o[, LongValue a])

Holt ein Sachdatensatz aus einem Geografelement. Es wird ein Array aus dem Sachdatensatz zusammengestellt.
Die Function kann einerseits dazu benutzt werden, die Datensätze einer Sachdatendefinition (Element DDEF) zu holen. Dann muss in o eine DDEF-Element enthalten sein, die Art a wird dann nicht angegeben.
Andererseits kann die Funktion dazu benutzt werden, den Inhalt eines Sachdatensatzes mit Art a aus einem Geografelement zu holen. Die Art a muss dann angegeben werden.

o : ObjectValue, muss ein GeografElement enthalten,
aus diesem wird der Sachdatensatz geholt

a : die Art-Nummer des Sachdatensatzes

@GetData(&in)

Dimension[d],Material[s5],Laenge[f],Gefaelle[s6]

@GetData(&in, 1)

200,STZ,12.2,1:530

@ExistData, @SetData

GetSubElement

ObjectFunction @GetSubElement(ObjectValue elem, LongValue idx)

Holt ein SubElement aus einem Geografelement

o : ObjectValue, muss ein GeografElement enthalten,
aus diesem wird das SubElement geholt

idx : Index des SubElements

@Get(&inText, 1)

TA(zweite Zeile)

@AddSubElement, @CountSubElements

Global

VoidFunction @Global(ObjectValue v1, ObjectValue o1 [,...,ObjectValue vn, ObjectValue on] )

Speichert den Wert o in einer globalen Variablen v. Es können mehrere Variablen und Werte angegeben werden.
Eine Variablenbezeichner beginnt mit dem Zeichen '&'. Die Funktion @Global speichert die Variable objektübergreifend, sie kann in jeder folgenden Factory abgerufen werden.

vn : Variablenbezeichner

on : Wert, der der Variablen vn zugewiesen wird

@Global(&ErrorCount, 0)

Speichert den Wert 1 unter dem Bezeichner &ErrorCount

@Store

Gt

BooleanFunction @Gt(DoubleValue a, DoubleValue b)

Gibt wahr zurück, wenn der Wert a größer ist als der Wert b

a :DoubleValue

b :DoubleValue

@Gt(2., 1.)

true

@GtEq, @Lt

GtEq

BooleanFunction @GtEq(DoubleValue a, DoubleValue b)

Gibt wahr zurück, wenn der Wert a größer oder gleich dem Wert b ist

a :DoubleValue

b :DoubleValue

@GtEq(2., 1.)

true

@Gt

HasChars

BooleanFunction @HasChars(StringValue s, StringValue c)

Gibt an, ob im String s alle Zeichen aus c, unabhängig von ihrer Position, enthalten sind.

s : StringValue, der untersucht werden soll

c : Auswahl an Zeichen, die in s enthalten sein müssen

@HasChars("xyzABC012abc", "1A")

true

@HasString, @HasOnlyChars

HasMore

BooleanFunction @HasMore(ObjectValue c)

Gibt true zurück, wenn der Iterator einer Collection über ein weiteres Element verfügt.

c : ObjectValue, muss eine Collection enthalten

@If( @HasMore(&list), @Log(@Concat("Die Liste hat einen weiteren Wert:", @Next(&list) ) )

Die Liste hat einen weiteren Wert: wert

@Next, @Reset

HasLetter

BooleanFunction @HasLetter(StringValue a)

Gibt wahr zurück, wenn der String a die Buchstaben enthält.

a :StringValue

@HasLetter("123a")

true

@HasNumber

HasNumber

BooleanFunction @HasNumber(StringValue a)

Gibt wahr zurück, wenn der String a Ziffern enthält.

a :StringValue

@HasNumber("123a")

true

@HasLetter

HasString

BooleanFunction @HasString(StringValue a, StringValue b1[, ..., bn])

Gibt wahr zurück, wenn der String a die Teilstrings bn enthält.

a :StringValue

bn :StringValue

@HasString("Das ist ein Text", "a", "Text")

true

@Substring

HasOnlyChars

BooleanFunction @HasOnlyChars(StringValue s, StringValue c)

Gibt an, ob der String s nur aus den Zeichen in c besteht.

s : StringValue, der untersucht werden soll

c : Auswahl an Zeichen

@HasChars("182.3", ".0123456789")

true

@HasString, @HasChars

HasValue

BooleanFunction @HasValue(StringValue s)

Gibt wahr zurück, wenn der String nicht leer ist (eine Länge größer 0 hat)

s : der zu untersuchende String

@HasValue("aaa")

true

@IsVoid

If

VoidFunction @If(BooleanValue b, VoidFunction f1[, ..., fn])

Bedingte Ausführung von Funktionen

b : BooleanValue, Wahrheitswert

f1 ... fn : Funktionen, die nacheinander aufgerufen werden, wenn b wahr ergibt.
Die Funktionen müssen vom Typ Void sein.

@If( @Equals(&in, "test"), @Log("Die Variable 'in' hat den Wert 'test'") )

Die Variable 'in' hat den Wert 'test'

@IfThenElse, @Call, @Switch

IfThenElse

VoidFunction @IfThenElse(BooleanValue b, VoidFunction f1, VoidFunction f2)

Bedingte Ausführung von Funktionen

b : BooleanValue, Wahrheitswert

f1 : Funktionen, die aufgerufen wird, wenn b wahr ergibt

f2 : Funktionen, die aufgerufen wird, wenn b unwahr ergibt
Die Funktionen müssen vom Typ Void sein.

@If( @Equals(&in, "tttt"), @Log("Die Variable 'in' hat den Wert 'test'"), @Log("Die Variable 'in' hat NICHT den Wert 'test'") )

Die Variable 'in' hat den NICHT Wert 'test'

@If, @Call, @Switch

Incr

VoidFunction @Incr(ObjectValue v1[, DoubleValue d1 ,...,[ObjectValue vn, ObjectValue dn]] )

Erhöht den Wert in v um den Wert d und speichert ihn. In der Variablen o muß ein Zahlenwert enthalten sein. Es können mehrere Variablen und Werte angegeben werden.
Ist nur die Variable v1 ohne dazugehörigen Wert d angegeben, wird die Variable um 1 erhöht.
Eine Variablenbezeichner beginnt mit dem Zeichen '&'.

vn : Variablenbezeichner

on : Wert, um den der Inhalt in v erhöht wird

@Store(&fehlernummer, 5)
@Incr(&fehlernummer)

Die Variable &fehlernummer enthält 6

@Store(&index, 0, nextIndex, 5)
@Incr(&index, 1, &nextIndex, 3)

Die Variable &index enthält 1, &nextIndex enthält 8

@Decr, @Add

IndexOf

LongFunction @IndexOf(StringValue s1, StringValue s2 [, LongValue i] )

Gibt die Position eines Teilstrings in einem SuchString zurück.
Es wird die erste Position im zu untersuchenden String zurückgegeben, die Zählung beginnt mit 0.
Wenn der Teilstring nicht gefunden wird, ergibt die Funktion -1

s1 : der zu untersuchende String

s2 : der zu suchende String

i : Startindex, ab dem gesucht wird.
Dieses Argument ist optional, wenn es nicht angegeben wird, sucht @IndexOf ab dem ersten Zeichen des Strings s1

@IndexOf("TestTest", "st")

2

@IndexOf("TestTest", "st", 4)

6

@LastIndexOf

IndexOfChars

LongFunction @IndexOf(StringValue s1, StringValue s2 [, LongValue i] )

Gibt die Position des eines Zeichens zurück.
In dem String s1 wird nach allen Einzelzeichen gesucht, die in dem String s2 enthalten sind. Es wird die erste Position im zu untersuchenden String zurückgegeben, die Zählung beginnt mit 0.
Wenn keines der angebotenen Zeichen gefunden wird, ergibt die Funktion -1

s1 : der zu untersuchende String

s2 : die zu suchenden Zeichen

i : Startindex, ab dem gesucht wird.
Dieses Argument ist optional, wenn es nicht angegeben wird, sucht @IndexOfChars ab dem ersten Zeichen des Strings s1

@IndexOfChars("TestTest", "te")

1

@IndexOf("TestTest", "te", 4)

5

@IndexOf

IndexOfLetter

LongFunction @IndexOfLetter(StringValue s [, LongValue i] )

Gibt die Position des ersten Buchstabens in einem SuchString zurück.
Es wird die erste gefundene Position im zu untersuchenden String zurückgegeben, die Zählung beginnt mit 0.
Wenn kein Buchstabe gefunden wird, ergibt die Funktion -1

s : der zu untersuchende String

i : Startindex, ab dem gesucht wird.
Dieses Argument ist optional, wenn es nicht angegeben wird, sucht @IndexOfLetter ab dem ersten Zeichen des Strings s

@IndexOfLetter("11TestTest")

2

@IndexOf, @IsLetter

IndexOfLower

LongFunction @IndexOfLower(StringValue s [, LongValue i] )

Gibt die Position des ersten Kleinbuchstabens in einem SuchString zurück.
Es wird die erste gefundene Position im zu untersuchenden String zurückgegeben, die Zählung beginnt mit 0.
Wenn kein Kleinbuchstabe gefunden wird, ergibt die Funktion -1

s : der zu untersuchende String

i : Startindex, ab dem gesucht wird.
Dieses Argument ist optional, wenn es nicht angegeben wird, sucht @IndexOfLower ab dem ersten Zeichen des Strings s

@IndexOfLower("TestTest")

1

@IndexOfLower("TestTest", 4)

5

@IndexOf, @IndexOfUpper

IndexOfNonLetter

LongFunction @IndexOfNonLetter(StringValue s [, LongValue i] )

Gibt die Position des ersten Zeichens in einem SuchString zurück, welches kein Buchstabe ist.
Es wird die erste gefundene Position im zu untersuchenden String zurückgegeben, die Zählung beginnt mit 0.
Wenn nur Buchstaben gefunden werden, ergibt die Funktion -1

s : der zu untersuchende String

i : Startindex, ab dem gesucht wird.
Dieses Argument ist optional, wenn es nicht angegeben wird, sucht @IndexOfNonLetter ab dem ersten Zeichen des Strings s

@IndexOfNumber("Test1111")

4

@IndexOfLetter, @IsLetter

IndexOfNonLower

LongFunction @IndexOfNonLower(StringValue s [, LongValue i] )

Gibt die Position des ersten Zeichens in einem SuchString zurück, welches kein Kleinbuchstabe ist.
Es wird die erste gefundene Position im zu untersuchenden String zurückgegeben, die Zählung beginnt mit 0.
Wenn nur Kleinbuchstaben gefunden werden, ergibt die Funktion -1

s : der zu untersuchende String

i : Startindex, ab dem gesucht wird.
Dieses Argument ist optional, wenn es nicht angegeben wird, sucht @IndexOfNonLower ab dem ersten Zeichen des Strings s

@IndexOfNonLower("tesT")

3

@IndexOfLower, @IsLowerCase

IndexOfNonNumber

LongFunction @IndexOfNonNumber(StringValue s [, LongValue i] )

Gibt die Position des ersten Zeichens in einem SuchString zurück, welches keine Nummer ist.
Es wird die erste gefundene Position im zu untersuchenden String zurückgegeben, die Zählung beginnt mit 0.
Wenn nur Nummer gefunden werden, ergibt die Funktion -1

s : der zu untersuchende String

i : Startindex, ab dem gesucht wird.
Dieses Argument ist optional, wenn es nicht angegeben wird, sucht @IndexOfNumber ab dem ersten Zeichen des Strings s

@IndexOfNumber("1111Test")

4

@IndexOfNumber, @IsNumber

IndexOfNonUpper

LongFunction @IndexOfNonUpper(StringValue s [, LongValue i] )

Gibt die Position des ersten Zeichens in einem SuchString zurück, welches kein Großbuchstabe ist.
Es wird die erste gefundene Position im zu untersuchenden String zurückgegeben, die Zählung beginnt mit 0.
Wenn nur Großbuchstaben gefunden werden, ergibt die Funktion -1

s : der zu untersuchende String

i : Startindex, ab dem gesucht wird.
Dieses Argument ist optional, wenn es nicht angegeben wird, sucht @IndexOfNonUpper ab dem ersten Zeichen des Strings s

@IndexOfNonUpper("Test")

2

@IndexOfUpper, @IsUpperCase

IndexOfNumber

LongFunction @IndexOfNumber(StringValue s [, LongValue i] )

Gibt die Position der ersten Nummer in einem SuchString zurück.
Es wird die erste gefundene Position im zu untersuchenden String zurückgegeben, die Zählung beginnt mit 0.
Wenn keine Nummer gefunden wird, ergibt die Funktion -1

s : der zu untersuchende String

i : Startindex, ab dem gesucht wird.
Dieses Argument ist optional, wenn es nicht angegeben wird, sucht @IndexOfNumber ab dem ersten Zeichen des Strings s

@IndexOfNumber("Test1Test")

4

@IndexOf, @IsNumber

IndexOfUpper

LongFunction @IndexOfLower(StringValue s [, LongValue i] )

Gibt die Position des ersten Großbuchstabens in einem SuchString zurück.
Es wird die erste gefundene Position im zu untersuchenden String zurückgegeben, die Zählung beginnt mit 0.
Wenn kein Großbuchstabe gefunden wird, ergibt die Funktion -1

s : der zu untersuchende String

i : Startindex, ab dem gesucht wird.
Dieses Argument ist optional, wenn es nicht angegeben wird, sucht @IndexOfUpper ab dem ersten Zeichen des Strings s

@IndexOfUpper("TestTest")

0

@IndexOfUpper("TestTest", 1)

4

@IndexOf, @IndexOfLower

InList

BooleanFunction @InList(DoubleValue a, DoubleValue b1[, ..., bn])

Gibt wahr zurück, wenn der Wert a einem der Werte bn entspricht.

a :DoubleValue

bn :DoubleValue

@InList(2., 1., 2., 3.)

true

@InRange

InRange

BooleanFunction @InRange(DoubleValue a, DoubleValue b1, DoubleValue b2)

Gibt wahr zurück, wenn der Wert a innerhalb bzw. auf dem Rand des Bereichs b1 - b2 liegt.

a :DoubleValue

b1, 2 :DoubleValue

@InRange(2., 1., 2.)

true

@InList

IsDigit

BooleanFunction @IsDigit(StringValue s)

Gibt wahr zurück, wenn der String eine Zahl enthält

s : der zu untersuchende String

@IsDigit("1234.12")

true

@IsNumber

IsFormat

BooleanFunction @IsFormat(StringValue f, StringValue s)

f : ein FormatString entsprechend der Function @Format

s : der zu untersuchende String

@IsFormat("RO #0.00", "RO 125.12")

true

@Format

IsLetter

BooleanFunction @IsLetter(StringValue s)

Gibt wahr zurück, wenn der String nur Buchstaben enthält

s : der zu untersuchende String

@IsLetter("Test")

true

@IsNumber, @IsLowerCase, @IsUpperCase

IsLowerCase

BooleanFunction @IsLowerCase(StringValue s)

Gibt wahr zurück, wenn der String nur Kleinbuchstaben enthält

s : der zu untersuchende String

@IsLowerCase("test")

true

@IsLetter, @IsUpperCase

IsNumber

BooleanFunction @IsNumber(StringValue s)

Gibt wahr zurück, wenn der String nur Ziffern enthält

s : der zu untersuchende String

@IsNumber("1234")

true

@IsDigit

IsSpace

BooleanFunction @IsSpace(StringValue s)

Gibt wahr zurück, wenn der String nur Leerzeichen enthält

s : der zu untersuchende String

@IsUpperCase(" TEST ")

false

@IsLetter

IsUpperCase

BooleanFunction @IsUpperCase(StringValue s)

Gibt wahr zurück, wenn der String nur Großbuchstaben enthält

s : der zu untersuchende String

@IsUpperCase("TEST")

true

@IsLetter, @IsLowerCase

IsVoid

BooleanFunction @IsVoid(StringValue s)

Gibt wahr zurück, wenn der String leer ist (die Länge 0 hat)

s : der zu untersuchende String

@IsVoid("")

true

@HasValue

L

DoubleFunction @L(ObjectValue o)

Konvertiert einen Wert in einen LongValue.
Diese Konvertierung ist nur in Ausnahmefällen notwendig, da Funktionen die Argumente automatisch umwandeln

o : Wert, der als LongValue zurückgegeben werden soll

@D(1.2)

1

@D

LastIndexOf

LongFunction @LastIndexOf(StringValue s1, StringValue s2 [, StringValue s3] )

Gibt die Position eines Teilstrings in einem SuchString zurück.
Es wird die letzte Position im zu untersuchenden String zurückgegeben, die Zählung beginnt mit 0.
Wenn der Teilstring nicht gefunden wird, ergibt die Funktion -1

s1 : der zu untersuchende String

s2 : der zu suchende String

s3 : Endindex, bis zu dem gesucht wird.
Dieses Argument ist optional, wenn es angegeben wird, beendet @LastIndexOf die Suche beim Zeichen i

@LastIndexOf("TestTest", "st")

6

@LastIndexOf("TestTest", "st", 4)

2

@IndexOf

LastDigits

StringFunction @LastDigits(StringValue s)

Holt die letzte Fließkommazahl aus dem String s.

s : der String, aus dem die Zahl geholt werden sollen

@LastNumbers("123aaa456,0")

456.0

@Digits, @FirstDigits

LastLetters

StringFunction @LastLetters(StringValue s)

Holt die letzten Buchstaben aus dem String s.

s : der String, aus dem der Teilstring geholt werden soll

@LastLetters("aaa123bbb")

bbb

@Letters, @FirstLetters

LastNumbers

StringFunction @LastNumbers(StringValue s)

Holt die letzten Ziffern aus dem String s.

s : der String, aus dem die Nummern geholt werden sollen

@LastNumbers("123aaa456")

456

@Numbers, @FirstNumbers

Length

LongFunction @Length(StringValue s)

Gibt die Länge (Zeichenanzahl) eines String zurück.

s : der zu untersuchende String

@IndexOf("Test")

4

Letters

StringFunction @Letters(StringValue s)

Holt alle Buchstaben aus dem String s.

s : der String, aus dem der Teilstring geholt werden soll

@Letters("aaa123bbb")

aaabbb

@FirstLetters, @LastLetters

ListFiles

ArrayFunction @ListFiles([StringValue e1, ..., en])

Gibt einen Array mit den Dateinamen des aktuellen Verzeichnisses zurück. Wenn Dateierweiterungen mit en vorgegeben werden, werden nur die entsprechenden Dateien gelistet.

en : Dateierweiterungen

@ListFiles("tfw")

[bild1.tfw, bild2.tfw]

Log

VoidFunction @Log([StringValue e], [ObjectValue o] , StringValue t )

Schreibt eine Meldung in die LogDatei. Die Funktion @Log kann nur innerhalb einer Factory bzw. in einem in einer Factory eingebundenen Macro bzw. Sub aufgerufen werden.

e : Art der Meldung, es können folgende Werte angegeben werden:

Das Argument e ist optional, wenn es nicht angegeben wird, erzeugt GGMan eine Standardmeldung (MESSAGE).

o : ObjektValue, optionales Argument, wenn es angegeben wird, muss ein Geograf-Element enthalten sein.
Wenn das Argument angegeben wird, erzeugt GGMan einen Eintrag in der Geograf-Stapeldatei. Damit können in Geograf die Fehlermeldungen Elementbezogen abgearbeitet werden.

t : Text der Meldung.

@Log(WARNING, &in, "Eine Warnmeldung")

WARNING: Eine Warnmeldung

Lt

BooleanFunction @Lt(DoubleValue a, DoubleValue b)

Gibt wahr zurück, wenn der Wert a kleiner ist als der Wert b

a :DoubleValue

b :DoubleValue

@Lt(1., 2.)

true

@LtEq, @Gt

LtEq

BooleanFunction @LtEq(DoubleValue a, DoubleValue b)

Gibt wahr zurück, wenn der Wert a kleiner oder gleich dem Wert b ist

a :DoubleValue

b :DoubleValue

@Lt(1., 2.)

true

@Lt

Map

ObjectFunction @Map(ObjectValue o, ObjectValue k)

Holt einen Wert zu einem Schlüssel

o : ObjectValue, muss eine Map enthalten. Es wird der Wert aus der Map geholt, der dem Schlüssel k zugeordnet ist.

k : Schlüssel

@Map($artMap, 101)

9123

@Contains

@Put

Match

StringFunction @Match(ObjectValue o, StringValue m)

Holt einen String aus einer Collection, der dem String m am ähnlichsten ist.

o : ObjectValue, muss eine Collection enthalten. Es wird der Wert aus der Collection geholt, der dem Wert m am ähnlichsten ist.

m : Vergleichswert


   $dims = new List StringList
      list = "50x2,0", "100x3,1", "200x4,2"
   end
   @Match($dims, 100x3,2)

100x3,1

@Contains

@Map

MatchList

ArrayFunction @MatchList(ObjectValue o, StringValue m [, LongValue c])

Holt eine Anzahl von Strings aus einer Collection, die dem String m am ähnlichsten ist. Die Strings werden nach Ähnlichkeit sortiert.

o : ObjectValue, muss eine Collection enthalten. Es werden die Werte aus der Collection geholt, die dem Wert m am ähnlichsten sind.

m : Vergleichswert

c : Elementanzahl des erzeugten Arrays. Wenn der Parameter nicht angegeben ist, wird ein Array der Länge 5 erzeugt.

@Match

Max

DoubleFunction @Max(DoubleValue a, DoubleValue b)

Gibt den größeren der beiden Argumente a und b zurück.

a : DoubleValue

b : DoubleValue

@Max(1., 2)

2

@Min

Min

DoubleFunction @Min(DoubleValue a, DoubleValue b)

Gibt den kleineren der beiden Argumente a und b zurück.

a : DoubleValue

b : DoubleValue

@Min(1., 2)

1

@Max

Mod

LongFunction @Mod(LongValue a, LongValue b)

Berechnet den ganzzahligen Rest des Quotienten von a / b

a : LongValue

b : LongValue

@Mod(12, 10)

2

@Divide

Multiply

DoubleFunction @Multiply(DoubleValue a, DoubleValue b)

Multipliziert die Argumente a und b

a : DoubleValue

b : DoubleValue

@Multiply(2., 4.)

8

@Add, @Subtract, @Divide

Nbz

LongFunction @Nbz(DoubleValue y, DoubleValue x)

Erzeugt aus dem Koordinatenpaar y,x den resultierenden 8-stelligen Nummerierungsbezirk

y : DoubleValue

x : DoubleValue

@Nbz(3479512.123, 5758543.210)

34795758

Negate

DoubleFunction @Negate(DoubleValue d)

Ändert das Vorzeichen eines Zahlenwertes

d : DoubleValue

@Negate(1.)

-1

@Abs

Next

ObjectFunction @Next(ObjectValue c)

Gibt den nächsten verfügbaren Wert einer Collection zurück.

c : ObjectValue, muss eine Collection enthalten

@If( @HasMore(&list), @Log(@Concat("Die Liste hat einen weiteren Wert:", @Next(&list) ) )

Die Liste hat einen weiteren Wert: wert

@HasMore, @Reset

NLog

DoubleFunction @NLog(DoubleValue d)

Berechnet den natürlichen Logarithmus von d

d : DoubleValue

@NLog(2.)

0.3010

Not

BooleanFunction @Not(BooleanValue b)

Logisches NOT

b : BooleanValue, der Wahrheitswert b wird umkekehrt

@Not(@Equals("Text", "Text"))

false

@And, @Or

Numbers

StringFunction @Numbers(StringValue s)

Holt alle Ziffern aus dem String s.

s : der String, aus dem die Nummern geholt werden sollen

@Numbers("123aaa456")

123456

@FirstNumbers, @LastNumbers

Open

ObjectFunction @Open(StringValue n [, StringValue mode])

Öffnet eine Datei mit den Namen n und gibt sie als ObjectValue zurück. Es kann der Zugriffsmodus vorgegeben werden.

n : der Dateiname

mode : Zugriffsmodus

@Store(&inFile, @Open("Textdatei.txt"))

@Close

Or

BooleanFunction @Or(BooleanValue b1, b2[, ..., bn])

Logisches OR

b1 ... b1 : BooleanValues, @Or gibt true zurück, wenn eines der Argumente den Wert true besitzt. Die Auswertung wird beim ersten Argument abgebrochen, des den Wert true besitzt.

@Or(@Equals(1., 1.), @Equals("text1", "text2"), @Equals("000", "111"))

true

@And, @Not

Pow

DoubleFunction @Pow(DoubleValue a, DoubleValue b)

Berechnet die Potenz a hoch b

a : DoubleValue

@Pow(2., 4.)

16.

Print

VoidFunction @Print(StringValue s)

Gibt einen Text in der Konsole aus.

s : StringValue, der Text der ausgegeben werden soll.

@Print("ein Ausgabetext")

ein Ausgabetext

@PrintLine, @PrintStack

PrintLine

VoidFunction @PrintLine(StringValue s)

Gibt eine Textzeile in der Konsole aus.

s : StringValue, der Text der ausgegeben werden soll.

@Print("ein Ausgabetext")

ein Ausgabetext

@Print, @PrintStack

PrintStack

VoidFunction @PrintStack([StringValue s])

Gibt den Java-Stacktrace in der Konsole aus. Diese Funktion dient der Fehlersuche beim Schreiben des Skripts.

s : StringValue, wird der Konsolenausgabe vorangestellt.

@PrintStack("ein Ausgabetext")


de.geocalc.ggman.functions.StackMessage: ein Ausgabetext
at de.geocalc.ggman.functions.PrintStack.call(PrintStack.java:33)
at de.geocalc.ggman.functions.FunctionVector.call(FunctionVector.java:77

@Print, @PrintLine

Put

VoidFunction @Put(ObjectValue c, ObjectValue o1[, ..., on])

VoidFunction @Put(ObjectValue c, ObjectValue o1, o2[, ..., on, on+1])

Fügt einen oder mehrere Werte in einen Container ein

c : der ObjectValue muss eine der Collections List oder Map enthalten. In diese Collection werden die folgenden Schlüssel bzw. Werte eingefügt.

o1 ... bn : die einzufügenden Werte,

Es wird eine Exception ausgelöst, wenn das Objekt c keine Collection ist.

Es wird eine Exception ausgelöst, wenn einer Map eine ungerade Anzahl von Werten übergeben wird.

@Put(&stringList, "aa", "bb", "cc")

Einer StringList werden die Werte 'aa', 'bb', 'cc' hinzugefügt.

@Put(&stringMap, "aa", 1, "bb", 2)

Einer StringMap werden die Schlüssel-Wert-Paare 'aa | 1' und 'bb | 2' hinzugefügt.

@Contains, @Map

Rand

DoubleFunction @Rand([DoubleValue from] [, DoubleValue to])

gibt eine Zufallszahl im Bereich zwischen 0. und 1. zurück

from : ist der optionale Parameter from angegeben, wird eine Zufallszahl im Bereich zwischen from und from+1. zurückgegeben.

from : ist zusätzlich der optionale Parameter to angegeben, wird eine Zufallszahl im Bereich zwischen from und to. zurückgegeben.

@Rand(2., 3.)

2.1298

Read

StringFunction @Read(ObjectValue file)

Liest den nächsten verfügbaren Wert aus einer Datei. Welchen Umfang der Rückgabewert hat, hängt vom Typ des Inputfiles ab.

file : der ObjectValue muss ein InputFile sein

Es wird eine Exception ausgelöst, wenn das Dateiende ereicht ist.

@Read(&file)

DateiInhalt

@Write

ReplaceChar

StringFunction @ReplaceChar(StringValue s, StringValue c1, c2[, ..., cn, cn+1])

Ersetzt im String s einzelne Zeichen. Es wird der veränderte String zurückgegeben.

s : der String, in dem die Zeichen ersetzt werden sollen

cn : das zu ersetzende Zeichen

cn+1 : Zeichen, das als Ersatz eingefügt wird

Es wird eine Exception ausgelöst, wenn c kein einzelnes Zeichen ist.

@ReplaceChar("Text", "x", "s")

Test

ReplaceString

StringFunction @ReplaceString(StringValue s, StringValue from, StringValue to)

Ersetzt im String s den Teilstring from durch den Teilstring to. Ist der Teilstring from nicht im Original s enthalten, wird das Original zurückgegeben.

s : der String, in dem der Teilstring ersetzt werden sollen

from : der zu ersetzende Teilstring

to : der Teilstring, der als Ersatz eingefügt wird

@ReplaceString("Test", "est", "yp")

Typ

Reset

VoidFunction @Reset(ObjectValue c)

Setzt den Zähler einer Collection oder eines CountFilters zurück.

c : ObjectValue, muss eine Collection enthalten

@If( @Not( @HasMore(&list) ), @Reset(&list) )

ohne

@HasMore, @Next

Return

VoidFunction @Return(Value v)

Die Funktion Return setzt den Rückgabewert innerhalb eines ValueMacros und unterbricht die Funktionsaufrufe.

v : Value, Rückgabewert


new Macro BooleanMacro
   @Return("true")
end

Unterbricht das Macro und setzt den Rückgabewert auf "true"

@Break

ReverseArray

ArrayFunction @ReverseArray(ArrayValue a)

Gibt einen Array zurück, der die umgekehrte Reihenfolge des Arrays a aufweist. Der Array a bleibt unverändert.

a : der umzukehrende Array

@ReverseArray(&ggPolygon)

@CloneArray

Rint

DoubleFunction @Rint(DoubleValue d)

Berechnet den dem Argument d am nächsten gelegenen Ganzzahlwert. Wenn zwei Ganzzahlwerte gleich weit von d entfernt sind, wird der gerade Wert zurückgegeben.

d : DoubleValue

@Rint(2.5)

2.

RomanToNumber

LongFunction @RomanToNumber(StringValue s)

Konvertiert eine Römische Zahl s in einen LongValue

s : String mit einer römischen Zahl

Es wird eine Exception ausgelöst, wenn s nicht den Konventionen der römischen Zahlenschreibweise entspricht.

@RomanToNumber("XIV")

14

Round

DoubleFunction @Round(DoubleValue d, DoubleValue n)

Rundet die Zahl d auf n Nachkommastellen.

d : wert der gerundet werden soll

n : Anzahl der Nachkommastellen

@Round(2.123456, 2)

2.1200

Sectstring

StringFunction @Sectstring(StringValue s, StringValue t1 [, StringValue t2][, StringValue order])

Holt einen Teilstring aus dem String s. Als Anfangskennzeichen dient der String t1. Optional kann das Endekennzeichen t2 angegeben werden. Mit order kann gesteuert werden, welcher Teilstring zurückgegeben wird.

s : der String, aus dem der Teilstring geholt werden soll

t1 : String, die als AnfangsTrenner dienen sollen.

t2 : String, die als EndeTrenner dienen sollen.

order : legt fest, welcher Teilstring zurückgegeben wird:

@Sectstring("Höhe OK45.55 über NN", "OK")

45.55 über NN

@Sectstring("Höhe OK45.55 über NN", "OK", " ")

45.55

@Sectstring("Höhe OK45.55 über NN", "OK", " ", REMAIN_FIRST)

Höhe

@Token, @Extract

Set

VoidFunction @Set(ObjectValue o, StringValue s1, ObjectValue v1[, ..., sn, vn] )

Setzt ein Attribut aus einem Geograf-Element

o : ObjectValue, muss ein GeografElement enthalten
aus diesem wird der Wert zum Attribut s geholt

sn : das ElementAttribute

vn : der zu setztende Wert

@Set(&in, "ebene", 1, "art", 101)

Setzt in dem GeografElement &in die ElementAttribute "ebene" auf 1 und "art" auf 101

@Get

SetArrayValue

VoidFunction @SetArrayValue(ArrayValue a, LongValue i, ObjectValue v)

Setzt in dem Array a an der Position i den Wert v.

a : der Array, in dem ein Wert gesetzt werden soll

i : der Index des Wertes, der in dem Array gesetzt werden soll. Die Zählung beginnt mit 0

v : der Wert, der im Array gespeichert werden soll

@SetArrayValue(&data, 1, "AA")

Setzt in &data am Index 1 (das zweite ArrayElement) den Wert auf "AA"

@GetArrayValue

SetData

VoidFunction @SetData(ObjectValue o, ArrayValue array [, LongValue art])

Setzt die Elemente eines Sachdatensatzes zu einem Geografelement. Es wird ein Sachdatensatz aus dem Inhalt des Arrays array erzeugt.
Die Funktion kann dazu benutzt werden, die Datensätze einer Sachdatendefinition (Element DDEF) zu ändern. In o muss ein Element DDEF enthalten sein, art ist nicht anzugeben.
Die Funktion kann auch die Datensätze eines Sachdatensatzes zu einem Geografelement ändern bzw. soweit nicht vorhanden auch neu erzeugen. In o muss ein GeografElement (Punkt, Linie, Text oder Objekt) enthalten sein. Die Art-Nummer des Sachdatensatzes muss angegeben werden. Ein existierender Sachdatensatz wird überschrieben. Wenn das Element noch keinen Sachdatensatz der Art art besitzt, wird ein neuer Sachdatensatz gespeichert.
Beim Speichern wird nicht geprüft, ob eine Sachdatendefinition vorliegt oder ob die Inhalte korrespondieren.

o : ObjectValue, muss ein GeografElement enthalten,
aus diesem werden die Werte des Arrays a gespeichert

array : der Array, aus dem die Sachdaten geholt werden

art : die Art-Nummer des Sachdatensatzes

@SetData(&ddef, @A(Dimension[d],Material[s5],Laenge[f],Gefaelle[s6]))

Speichert eine Sachdatendefinition

@SetData(&in, @A(200,STZ,12.2,1:530), 1)

Speichert zum Element &in den Sachdatensatz mit der Art 1

@ExistData, @GetData

Sgn

LongFunction @Sgn(DoubleValue d)

Stellt das Vorzeichen des Zahlenwertes d fest.

d : der auszuwertende Zahlenwert

@Sgn(-12.123)

-1

Sin

DoubleFunction @Sin(DoubleValue d)

Berechnet den Sinus eines Wertes

d : Wert im Bogenmaß, von dem der Sinus berechnet werden soll

@Sin(3.141592)

0.

@ASin

Size

LongFunction @Size(ObjectValue c)

Gibt die Anzahl der in einer Collection enthaltenen Objekte zurück.

c : der ObjectValue muss einen Collection enthalten,

@Size($elementCollection)

5

Slope

StringFunction @Slope(DoubleValue dh, DoubleValue dl [, StringValue m])

Ermittelt eine Neigungsangabe aus einer Höhendifferenz und der dazugehörigen Länge. Es wird ein formatierterStringValue erzeugt.

dh : die Höhendifferenz

dl : die dazugehörigen Länge

m : ein Angabe, die die Art der Neigungsangabe vorgibt.

@Slope(0.5, 113, NEIG)

1:230

Sqrt

DoubleFunction @Sqrt(DoubleValue d)

Berechnet die Quadratwurzel des Wertes d

d : Wert, von dem die Quadratwurzel berechnet werden soll

@Sqrt(4.)

2.

StartsWith

BooleanFunction @EndsWith(StringValue s1, StringValue s2)

Gibt wahr zurück, wenn der String s1 mit der Zeichenfolge s2 beginnt.

s1 : der zu untersuchende String

s2 : die gesuchte Zeichenfolge

@StartsWith("Text", "Te")

true

@EndsWith, @Equals

Store

VoidFunction @Store(ObjectValue v1, ObjectValue o1 [,..., vn, on] )

Speichert den Wert o in einer Variablen v. Es können mehrere Variablen und Werte angegeben werden.
Eine Variablenbezeichner beginnt mit dem Zeichen '&'. Die Funktion @Store speichert die Variable in dem ihr umgebenden Objekt, dies wird in der Regel eine Factory sein.

vn : Variablenbezeichner

on : Wert, der der Variablen vn zugewiesen wird

@Store(&fehlernummer, 1)

Speichert den Wert 1 unter dem Bezeichner &fehlernummer

@Global

StoreElement

VoidFunction @StoreElement(ObjectValue elem1, ..., elemn)

Speichert ein Geografelement in den Ausgabedaten der aktuellen Pipline.

elem : Ein oder mehrere GeografElemente, die gespeichert werden sollen.

@StoreElement(@CreateElement(pk))

In wird ein neuer Punkt in den Ausgabedaten gespeichert.

@CreateElement

Sub

ObjectFunction @Sub(ObjectValue sub [, Value vn, ...])

Ruft eine Subroutine auf und übergibt ihr die Werte vn

sub : eine Subroutine

vn : Die Werte, die an die Subroutine übergeben werden sollen. Die Anzahl der übergebenen Werte muss mit der Anzahl der bei der Subroutinendefinition vereinbarten Namen übereinstimmen.


$testSub = new Sub StringSub(&s1, &s2)
   function = @Return(@Concat(&s1, " - ", &s2))
end

@Sub($testSub, "Text1", "Text2")

Text1 - Text2

SubArray

ArrayFunction @SubArray(ArrayValue a, LongValue from [, LongValue to])

Holt einen TeilArray aus dem Array a. Der TeilArray wird mit den Indexwerten from und to angegeben. Die Zählung beginnt mit 0.

a : der Array, aus dem der TeilArray geholt werden soll

from : Startindex des TeilArrays, der erste Value im Array a hat den Index 0

to : Endindex des TeilArrays, wird das optionale Argument to nicht angegeben, wird der TeilsArray vom from-Index bis zum Ende des Arrays a zurückgegeben

Die beiden Werte from und to können auch negativ angegeben werden, dann wird der Index vom Arrayende an gerechnet.

@SubArray(&array, 1)

@Substring(&array, 1, 3)

Substring

StringFunction @Substring(StringValue s, LongValue from [, LongValue to])

Holt einen Teilstring aus dem String s. Der Teilstring wird mit den Indexwerten from und to angegeben. Die Zählung beginnt mit 0.

s : der String, aus dem der Teilstring geholt werden soll

from : Startindex des Teilstrings, das erste Zeichen im String s hat den Index 0

to : Endindex des Teilstrings, wird das optionale Argument to nicht angegeben, wird der Teilstring vom from-Index bis zum Ende des Strings s zurückgegeben

Die beiden Werte from und to können auch negativ angegeben werden, dann wird der Index vom Stringende an gerechnet.

@Substring("Test", 1)

est

@Substring("Test", 1, 3)

es

@HasString, @SubstringOf

SubstringOf

StringFunction @SubstringOf(StringValue s, StringValue first [, StringValue last])

Holt einen Teilstring aus dem String s. Der Teilstring wird durch die Strings from und to markiert.

s : der String, aus dem der Teilstring geholt werden soll

first : String, der den Anfang des Rückgabestrings markiert.

last : String, der das Ende des Teilstrings markiert. Wird das optionale Argument last nicht angegeben, wird der Teilstring bis zum Ende des Strings s zurückgegeben

@SubstringOf("Hier ist ein (Teil) angegeben", "(", ")")

Teil

@SubstringOf("Hier ist ein (Teil) angegeben", "(")

Teil) angegeben

@Substring

Subtract

DoubleFunction @Subtract(DoubleValue d1, d2[,..., dn])

Berechnet die Differenz von mehreren Werten.

d1 : Werte, von dem die Folgewerte abgezogen werden

... dn : Werte, die subtrahiert werden sollen

@Subtract(5., 2., 1.)

2.0

@Add, @Multiply, @Divide

Swap

VoidFunction @Swap(ObjectValue v1, ObjectValue v2, ..., vn, vn+1)

Tauscht die Inhalte von jeweils zwei Variablen aus.

vn, vn+1 : die zu tauschenden Werte

@Swap(&punkt1, &punkt2)

Nach dem Aufruf sind die Inhalte von &punkt1 und &punkt2 getauscht.

@Store

Switch

VoidFunction @Switch(BooleanValue bed1, VoidFunction f1, ..., bedn, fn [,VoidFunction default])

Ermöglicht eine bedingte Ausführung von Funktionen. Es können mehrere Bedingungen festgelegt werden, der jeweils eine Funktion zugeodnet ist. Die erste erfüllte Bedingung führt die zugeordnete Funktion aus. Dann wird die Auswertung abgebrochen. Wird keine Bedingung erfüllt, wird die Default-Funktion ausgeführt, soweit sie definiert ist.

bedn : die n-te Bedingung

fn : die der Bedingung zugeordnete Funktion

default: die Funktion, die ausgeführt wird, wenn keine Bedingung erfüllt ist

@Switch(Equals(&in, 1), @Log("1"), @Equals(&in, 2), @Log("2"), @Log("anderer Wert")

@If, @IfThenElse

Tan

DoubleFunction @Tan(DoubleValue d)

Berechnet den Tangens eines Wertes

d : Wert im Bogenmaß, von dem der Tangens berechnet werden soll

@Tan(1.)

0.0174

@ATan

ToEncodeArray

ArrayFunction @ToEncodeArray(StringValue s, [LongValue from [, LongValue to]])

Wandelt einen String in einen Array um. Dieser enthält die Zahlenwerte jedes einzelnen Zeichens. Mit den Indexwerten from und to kann ein Teilbereich des Strings angegeben werden. Die Zählung beginnt mit 0.

s : der String, aus dem der Array geholt werden soll

from : Startindex des TeilString, das erste Zeichen im String s hat den Index 0

to : Endindex des TeilStrings, wird das optionale Argument to nicht angegeben, wird der TeilsString vom from-Index bis zum Ende des Strings s zurückgegeben

Die beiden Werte from und to können auch negativ angegeben werden, dann wird der Index vom Stringende an gerechnet.

@ToEncodeArray("Text")

84,101,120,116

ToList

ObjectFunction @ToList(ObjectValue c [, StringValue typ [, StringValue mode]])

Wandelt eine Collection in eine List um

c : die Collection, die umgewandelt werden soll.

typ: ein Zeichen, dass den Typ der zu erzeugenden List

mode: Wenn eine Map umgewandelt werden soll, kann angegeben werden, ob die Schlüssel oder die Werte in die zu erzeugende Liste eingetragen werden sollen.

@ToList($stringMap, S, VALUES)

Token

StringFunction @Token(StringValue s, StringValue t, LongValue i)

Zerlegt den String s in Teilstrings. Als Trennzeichen dienen die Zeichen im String t. Es wird der i-te Teilstring zurückgegeben.

s : der String, aus dem der Teilstring geholt werden soll

t : Zeichen, die als Trenner dienen sollen.

i : Index des zurückzugebenden Teilstrings. Die Zählung beginnt mit 1.

@Token("Eins|Zwei|Drei", "|", 2)

Zwei

@Token("Eins|Zwei#Drei", "|#", 2)

Zwei

@CountTokens, @Extract, @Sectstring

ToLowerCase

StringFunction @ToLowerCase(StringValue s)

Wandelt einen String in Kleinbuchstaben.

s : der String, der umgewandelt werden soll

@ToLowerCase("DasIstEinTest")

dasisteintest

@ToUpperCase

ToString

StringFunction @ToString(Value v)

Wandelt einen Value in einen lesbaren String um. ArrayValues werden zu einer mit Kommas getrennten Liste zusammengestellt.

v : der Value, der umgewandelt werden soll

@ToValue(@GetArray(&outLines, "art"))

1001, 1050, 1089

ToUpperCase

StringFunction @ToUpperCase(StringValue s)

Wandelt einen String in Großbuchstaben.

s : der String, der umgewandelt werden soll

@ToLowerCase("DasIstEinTest")

DASISTEINTEST

@ToLowerCase

Trim

StringFunction @Trim(StringValue s [, StringValue c])

Schneidet Leerzeichen oder andere Zeichen am Anfang und am Ende des Strings s ab.

s : der String, der umgewandelt werden soll

c : Mit dem String c kann ein Satz von Zeichen angegeben werden, die am Anfang und Ende des Strings s abgeschnitten werden sollen.
Wenn c nicht angegeben ist, werden nur Leerzeichen abgeschnitten.

@Trim(" Test Test ")

'Test Test'

@Trim("-Test-", "-")

'Test'

@TrimSize

TrimSize

StringFunction @TrimSize(StringValue s, LongValue l [, StringValue ori [, StringValue c]])

Formatiert einen String s auf die Länge l. Hat der String s mehr als l Zeichen, wird der String abgeschnitten. Wenn der String s aus weniger Zeichen besteht, wird mit Leerzeichen aufgefüllt.

s : der String, der umgewandelt werden soll

l : die Länge des zu erzeugende Strings

ori : gibt die Orientierung des erzeugten Strings an.

c : ein Zeichen, mit dem der Leerraum aufgefüllt wird, als Standard wird das Lerzeichen die Länge des zu erzeugende Strings

@TrimSize("Test", 10)

'Test      '

@TrimSize("Test", 10, "RIGHT")

'      Test'

@TrimSize("Test", 10, "CENTER", _)

'___Test___'

@Trim

UnEq

BooleanFunction @UnEq(DoubleValue a, DoubleValue b)

Gibt wahr zurück, wenn der Wert a ungleich dem Wert b ist

a :DoubleValue

b :DoubleValue

@Eq(2., @Add(1., 1.))

false

@Eq

UnEquals

BooleanFunction @UnEquals(StringValue s1, StringValue s2)

Gibt wahr zurück, wenn der String s1 mit der String s2 nicht übereinstimmt
Groß- und Kleinschreibung wird unterschieden

s1 : der zu untersuchende erste String

s2 : der zu untersuchende zweite String

@UnEquals("Text", "TEXT")

true

Equals

While

VoidFunction @While(BooleanValue b, VoidFunction f1 [, ..., fn])

Bedingte mehrmalige Ausführung von Funktionen, While führt die Funktionen f1...n solange nacheinander aus, wie der BooleanValue b wahr ergibt.

b : BooleanValue, Wahrheitswert

f1 ... fn : Funktionen, die nacheinander aufgerufen werden, wenn b wahr ergibt.
Die Funktionen müssen vom Typ Void sein.

@While( @HasMore(&list), @Print( @Next(&list) ) )

Ein Inhalt einer Liste wird in der Konsole ausgegeben.

Write

VoidFunction @Write(ObjectValue file, ObjectValue o1 [, ..., ObjectValue on])

Schreibt Objekte in eine Datei.

file : der ObjectValue muss ein OutputFile enthalten.

on : die Objekte, die in die Datei geschrieben werden sollen. Je nach Dateityp werden verschiedene Ausgaben erzeugt.

@Write(&file, "Dieser Text wird in das File geschrieben")

ohne

@Read, @WriteLine

WriteLine

VoidFunction @WriteLine(ObjectValue file, ObjectValue o1 [, ..., ObjectValue on])

Schreibt Objekte in eine Datei und fügt einen Zeilenumbruch hinzu.

file : der ObjectValue muss ein OutputFile enthalten.

on : die Objekte, die in die Datei geschrieben werden sollen. Je nach Dateityp werden verschiedene Ausgaben erzeugt.

@Write(&file, "Dieser Text wird in das File geschrieben")

ohne

@Read, @WriteLine

GGMan © 2009, Jörg Schröder, WWW: GeoCalc - Softwareentwicklung Jörg Schröder, Mail: info@geocalc.de
Impressum und Hinweise: Impressum
weitere Informationen bei: Vermessungsbüro M. Wolf - J. Schröder