Makro

Home  Zurück  Weiter

Makros sind sehr flexible Werkzeuge, um wiederkehrende Datenbankabfragen oder Funktionsfolgen zu speichern und auf Knopfdruck auszuführen. Erfahrene Anwender können komplexe eigene Funktionen gestalten und im GeoAS Netzwerk nach dem Motto: "Ich brauche da noch einen Knopf ..." zur Verfügung stellen. Ein Makro kann auch als eine Erweiterung des MapBasic-Fensters und des SQL-Auswahl-Fensters verstanden werden.

Mit dem Makro-Manager können unterschiedliche Makros unter verschiedenen Namen gespeichert und bei Bedarf wieder aufgerufen werden.

Die Verwaltung der Makros erfolgt im Makro Manager Makro-Manager.

Dieser Manager verwaltet ausführbare Funktionen, die in Menüs eingebettet oder in Schaltflächenleisten auf eine Schaltfläche gelegt werden können (Ausnahme: MultiEditor). Die Zuordnung erfolgt über die Zuweisung eines existierenden Menünamens und/oder eines Schaltflächenleistennamens mit einem Symbol (Schaltflächen-Symbol).

Managerfunktion
(vergrößern)

Neu

Legt eine neue Manager-Funktion an.

Der Name kann direkt in der Tabelle eingetragen und/oder geändert werden.

Überschreiben

Eine bestehende Manager-Funktion wird mit veränderten Einstellungen überschrieben.

Löschen

Der ausgewählte Eintrag wird gelöscht.

Kopieren

Der ausg

ewählte Eintrag wird mit seinen kompletten Einstellungen kopiert und unter einem neuen Namen gespeichert.

 

Name

Name der Funktion, frei wählbar.

Optional:

Ein "-" (Minuszeichen/kurzer Bindestrich) vor einem Namen erzeugt eine horizontale Trennlinie im Menü und dient zur besseren Abgrenzung. (Ausnahme ist der MultiEdtor, da er nur Hauptmenüs (Automenü) erzeugen kann.)
Funktionen können auch automatisch beim Öffnen oder Schließen einer Datengruppe ausgeführt werden. Dazu muss der Name AutoStart bzw. AutoEnde lauten und eine Gruppe muss zugeordnet sein. Es sind beliebig viele Start- Ende- Funktionen zulässig. AutoStart und AutoEnde können nur in den Managern Darstellung, Ansichten, Thema und Makro eingesetzt werden.
Die Menünamen können auch hmtoggle_plus1 Parameter für die Verwendung der F-Tasten oder STRG-, Alt-, Shift-Tasten beinhalten.

 

Windows Menücode

Anwendung

/W {Buchstabe | %Nummer}

Tastatur-Shortcut für die angegebene Taste

Beispiele: MeinMenü /WZ oder MeinMenü /W%113

/W# {Buchstabe | %Nummer}

Tastatur-Shortcut für die angegebene Taste inkl. die Shift-Taste

Beispiele: MeinMenü /W#Z oder MeinMenü /W#%113

/W@ {Buchstabe | %Nummer}

Tastatur-Shortcut für die angegebene Taste inkl. die Alt-Taste

Beispiele: MeinMenü /W@Z oder MeinMenü /W@%113

/W^ {Buchstabe | %Nummer}

Tastatur-Shortcut für die angegebene Taste inkl. die Strg-Taste

Beispiele: MeinMenü /W^Z oder MeinMenü /W^%113

%Nummer: %112 = F1-Taste, %113 = F2-Taste, usw.

Ordner

Dieses Feld ist nur sichtbar, wenn die Ordner-Option über das Management eingeschaltet ist. Es ist nur lesbar und wird automatisch durch die Auswahl einer Gruppe gefüllt.

Gruppe

Bindung der Funktion an eine Datengruppe. (Ausnahme: MultiSQL und MultiEditor)

Allen berechtigten Benutzern, die diese Gruppe geladen haben, erhalten die Funktion.

Die Zuordnung einer Manager-Funktion zu einer Gruppe ist optional.

Menü

Bindung der Funktion in ein Menü. (Ausnahme: MultiEditor)

Das Menü muss bereits existieren. Es werden keine neuen Menüs angelegt. Erfolgt keine Zuweisung, wird die Funktion unter dem entsprechenden Manager gelistet.

Die Zuordnung einer Manager-Funktion zu einem Menü ist optional.

 

Menünamen können auch Untermenüs enthalten. Beispiel Baum\Suchen. (Ordner und Gruppen müssen spezifiziert werden.)
Das funktioniert aber nur für Untermenüs in Developer-Fachmodulen.

Werkzeugleiste

Bindung der Funktion an eine Schaltfläche in einer Schaltflächenleiste. (Ausnahme: MultiEditor)

Die Schaltflächenleiste muss bereits existieren. Es wird keine neue Schaltflächenleiste angelegt.

Die Zuordnung einer Manager-Funktion zu einer Schaltflächenleiste ist optional.

Werkzeugicon

Aus mehreren Bibliotheken kann ein Symbol/Icon für die Schaltfläche ausgewählt werden. (Ausnahme: MultiEditor)

Die Zuordnung einer Manager-Funktion zu einem Werkzeugicon ist optional.

 

Icon-Bibliothek
(vergrößern)
Managerfunktion in Werkzeugleiste mit Icon
(vergrößern)
Managerfunktion in Menü mit Icon
(vergrößern)

Sort

Bei mehreren Eintragungen kann eine Sortierreihenfolge festgelegt werden.

Der Manager-Funktion, die im Manager-Menü als erstes aufgelistet werden soll, wird eine "1" zugeordnet. Der nächstfolgenden Manager-Funktion wird eine "2" zugeordnet, usw.

Zugriffsrecht / Exklusive Benutzer

Der Ersteller einer Funktion erhält das exklusive Zugriffsrecht. Keinem anderen Benutzer steht die Funktion zur Verfügung. Der Administrator kann über das GeoAS Management jedoch die Exklusivität erweitern oder aufheben. Er kann weitere exklusive Benutzer oder Benutzergruppen zuordnen oder er kann alle zugeordneten Benutzer entfernen und die Funktion dadurch allen Benutzern zur Verfügung stellen.

Symbole_Manager_Zugriffsrechte

Symbol_exklusiver_Benutzer: Dieses Symbol zeigt an, dass die entsprechende Managereinstellung exklusiv einem Benutzer zugeordnet ist.

Symbol_nicht_exklusiver_Benutzer: Dieses Symbol zeigt an, dass die entsprechende Managereinstellung nicht exklusiv einem Benutzer  zugeordnet ist, sondern von mehreren Benutzern ausgeführt werden kann.


Export/Import von Managereinstellungen

Für folgende Manager können die Einstellungen in eine externe Konfigurationsdatei exportiert bzw. wieder importiert werden. (Diese Funktion ist beispielsweise dafür geeignet, Manager-Einstellungen an externe GeoAS Installationen zu übertragen.)

Darstellung
Makro
Ansichten
Thema
Fenster-Set

 

Manager-Eisntellungen exportieren
(vergrößern)

Schaltfläche_Datei_zuordnen Mit der Schaltfläche Datei zuordnen kann eine Konfiguration aus einer externen Datei importiert und dynamisch dem entsprechenden Eintrag zugeordnet werden.

Schaltfläche_Datei_exportieren Mit der Schaltfläche Datei exportieren kann eine Konfiguration in eine externen Datei exportiert werden.

Schaltfläche_Dateizuordnung_entfernen Mit der Schaltfläche Dateizuordnung entfernen kann die dynamische Zuordnung aufgehoben werden.

 

Syntax

Der Makro-Editor ist mit einer erweiterten Syntax für Feldfunktionen, Schlüsselworte und Variablen versehen.

Feldfunktionen sind als Platzhalter zu verstehen und werden mit dem Zeichen # vor und hinter der Feldfunktion vom übrigen Makrotext abgesetzt.
Sämtliche Feldfunktionen eines Makros werden nach Aufruf des Makros in einem Dialog zur Dateneingabe bereitgestellt.
Pro Makro können maximal 10 Feldfunktionen benutzt werden.
Es müssen keine Feldfunktionen benutzt werden.
Die Schlüsselworte lösen bestimmte Ereignisse aus oder steuern den Makroablauf
Variablen dienen der Zwischenpufferung von Werten, auf die im späteren Makroablauf zugegriffen werden kann.
Damit im Makro-Manager auf Grafikattribute (Centroid, Area, ObjectLen, etc.) zugegriffen werden kann, wird beim GeoAS-Start ein globales Koordinatensystem gesetzt, entsprechend dem ersten Layer im Hauptkartenfenster. Sofern dies nicht das gewünschte Koordinatensystem ist, kann es im Makro mit set coordsys... explizit gesetzt werden.

 

hmtoggle_plus1Ein neues Makro speichern

Öffnen Sie den Makro-Manager. Klicken Sie auf Neu und füllen Sie den neuen Datensatz aus. In das Textfeld können Sie den Makrotext direkt eingeben oder aus einer Textdatei einlesen. Über ein Makro kann auch direkt ein Zusatzprogramm (*.mbx, *.wor) gestartet werden. Dazu wird die Programmdatei genauso wie eine Makro-Textdatei ausgewählt.

Um ein Makro auszuführen, wählen Sie über das Menü bzw. die Schaltflächenleiste die gewünschte Funktion aus.

Makros können auch automatisch beim Öffnen oder Schließen einer Datengruppe ausgeführt werden. Dazu muss der Name AutoStart bzw. AutoEnde lauten und eine Gruppe muss zugeordnet sein. Es sind beliebig viele Start- Endemakros zulässig. AutoStart und AutoEnde können in den Managern Darstellung, Ansichten, Thema und Makro eingesetzt werden.

manager_makro_textdatei.zoom50
(vergrößern)
hmtoggle_plus1Feldfunktionen

#Text#

Dialog-Editfeld und Beschriftung 'Text'

#Text:Baum#

Dialog-Editfeld und Beschriftung, aber mit einem voreingetragenem Wert 'Baum' im Editfeld

#selection#

Schlüsselwort! Vor Makroausführung wird gecheckt, ob eine Selektion da ist

#Baum:selection#

Schlüsselwort! Vor Makroausführung wird gecheckt ob eine selection aus der Tabelle 'Baum' da ist

#Text:Baum;Grün;Test#

Dialog-Pulldown-Feld, mit fixer Werteliste

#Text:Baum;Grün;Test:ListBoxHeight=50#

Dialog-Listbox, mit fixer Werteliste und Listboxhöhe (in Pixeln). Beispiel

ControlSpacing=3

TextWidth=60

 

select * from Flurstücke where Gemarkung in ("#Gemarkung:(Gemarkungen.Gemarkung):ListBoxHeight=30#") 

and Flur in ("#Flur:1;2;3;4:ListBoxHeight=40#")

#Text:(Tabelle.Spalte)#

Dialog-Pulldown-Feld, die Werteliste wird aus Tabelle.Spalte bestimmt

#Text:(Tabelle.Spalte):ListBoxHeight=50#

Dialog-Listbox, die Werteliste wird aus Tabelle.Spalte bestimmt, mit Listboxhöhe (in Pixeln). Beispiel

ControlSpacing=3

TextWidth=60

 

select * from Flurstücke where Gemarkung in ("#Gemarkung:(Gemarkungen.Gemarkung):ListBoxHeight=30#") 

and Flur in ("#Flur:1;2;3;4:ListBoxHeight=40#")

#Datum:curdate()#

Dialog-Editfeld und voreingetragenem Systemdatum

#Zeit:time(12)#

Dialog-Editfeld und voreingetragener Systemzeit (12 / 24 Std)

n = vorgegebene Syntax       n = Schlüsselwort       n = Platzhalter     n = frei definierbar

hmtoggle_plus1Schlüsselworte und Variablen

end public

End-Marke des vorgeschalteten 'public' Makro-Blocks.

Das Makro wird in zwei einzeln und nacheinander ausgeführte Teile gesplittet, und es werden zwei separate 'run command' ausgeführt. Der vor end public stehende Teil darf keine Feldfunktionen (#) erhalten. So kann man vorab Bedingungen schaffen, die für den Rest des Makros erforderlich sind, z. B. für die Feldfunktionen im Dialog oder für Description und Helpfile. Ohne end public wird das Makro mit einem einzigen 'run command' ausgeführt.

SelectionCheck(Tabelle)

prüft, ob eine Selektion auf Basis der angegebenen Relation existiert. Gibt eine Meldung aus, wenn dem nicht so ist und bricht die Ausführung des Makros ab. Beispiel: SelectionCheck(Baum)

SelectionCheck(Tabelle:n)

prüft, ob eine Selektion auf Basis der angegebenen Relation existiert mit genau n Zeilen. Gibt eine Meldung aus, wenn dem nicht so ist und bricht die Ausführung des Makros ab. Beispiel: SelectionCheck(Baum:1) -> Es muss genau ein Baum selektiert sein.

Closetable(Tabelle)

schließt die angegebene Relation. Beispiel CloseTable(Baum)

GetUserName

fügt den Username des angemeldeten Benutzers an die Stelle der Feldfunktion ein (Platzhalter, keine Variable). Ggf. müssen daher  "  " gesetzt werden.
Beispiel: str1="GetUserName"  note str1

Autokartei

ruft die Standard-Karteikartenfunkton von GeoAS auf (wie rechte Maustaste)

ZoomSelection

entspricht Auswahl-zentrieren (zoomt auf Objektgröße)

ShowSelection

entspricht Auswahl-suchen (behält den Zoombereich)

SetFrontwindow(Fenstername)

Funktion, um ein existierendes Fenster zum Frontwindow zu machen.

Beispiele:

SetFrontwindow(Hauptfenster)

SetFrontwindow(Bäume Kartenfenster)

PathTemp

Variable, liefert den Temporärpfad zurück

TextWidth

legt die Breiten der Control-Beschriftungen auf dem Auto-Dialog fest (in Pixeln).

Beispiel: TextWidth=30, Default ist 75

EditWidth

legt die Breiten der Editfelder, Pulldowns und Listboxen auf dem Auto-Dialog fest (in Pixeln).

Beispiel: EditWidth=100, Default ist 100

ControlSpacing=3

Abstand zwischen den Controls auf dem Auto-Dialog (in Pixeln)

Description

bringt vor Ausführung des Makros einen Beschreibungstext mit der Möglichkeit die Fortführung abzubrechen. Eine Description kann nur im Public-Bereich definiert werden (also VOR end public)!

 

Beispiel:

description(Wollen Sie wirklich die Festplatte neu formatieren?) 
HelpFile(GeoAS6_Hilfe.pdf) 
end public

 

str1="#Ihr Name lautet#"
note str1+"! Sie haben soeben die Platte neu formatiert!"

 

Helpfile

Auf dem Description-Dialog UND auf dem Feldfunktionen-Dialog erscheint eine [?]-Schaltfläche zum  Öffnen der Hilfedatei. Die Hilfedatei kann ohne Pfadangabe im GeoAS-Dir oder im Help-Dir liegen. Eine Absolutpfadangabe ist auch möglich. Es sind alle Formate zulässig. Die Hilfedatei wird so geöffnet, wie sie auch per Doppelklick im Dateiexplorer geöffnet werden würde.

Ein Helpfile kann nur im Public-Bereich definiert werden (also VOR end public)!

RunGeoASMenu(ID)

Führt eine GeoAS Funktion aus, die eine Menü-ID hat.

Beispiel: RunGeoASMenu(20011), startet die Formularvorlage.

 

hmtoggle_folder1 Liste der Menü-ID's

Menu-ID

GeoAS Funktion

20058

Alle Relationen speichern

21022

Als Formular speichern

202

Ausschneiden

10812

Ausschnittsbereich festlegen

22018

Auswahl editierbar schalten

814

Benutzerdef. Beschrift. löschen

112

Drucken

204

Einfügen

10420

Excel Export....

610

Fenster neuzeichnen

609

Fenster speichern unter...

20011

Formularvorlage

21029

Formularvorlage bearbeiten

22007

Gesamtansicht

20010

Karte plotten

22013

Kartenfenster öffnen

22012

Kartenfenster speichern

22015

Kopie speichern und öffnen

106

Kopie speichern unter...

203

Kopieren

809

Kosmet. Objekte speichern

810

Kosmet. Layer löschen

205

Löschen

304

Markierung aufheben

702

Neue Zeile

206

Nur Kartenobjekte löschen

21028

Plot schließen

21021

Plot-Voreinstellungen

103

Relation schließen

105

Relation speichern

309

Statistik berechnen...

20071

Temp. Relationen schließen

1607

Umwandlung in Bereiche

1604

Umwandlung in Polylinien

119

WFS öffnen…

118

WMS öffnen…

1605

Zusammenfassen...

21100

Text-Label Menü für selektierte Objekte. Das zu beschriftende Fenster muss aktivs ein.

21101

Text-Label Menü für alle Objekte. Das zu beschriftende Fenster muss aktivs ein.

BrowseDialog(Tabelle)

Öffnet den GeoAS Tabellendialog. Der Aufruf muss am Ende des Makros stehen und darf nur einmal vorkommen.

Beispiel:

select * from Gebäude where Beschreibung="Schuppen" into test

BrowseDialog(test)

BeginSQL

... FROM {Tabelle}

... INTO NeuerName

... NoSelect

... DoLink

... Hide

... Autocol

EndSQL

Sofern Daten aus einer externen Datenbank geöffnet sind, kann der SQL-Befehl auch direkt an die Datenbank geschickt werden. Besonders bei großen Datenmengen ist dies bedeutend performanter, als die heruntergeladenen Daten zu benutzen. Zur Nutzung solcher SQL-Befehle müssen die Daten in einer Datengruppe des GeoAS Managements enthalten sein. Zunächst ist unter Pfade ein Datenbankpfad zum SQL-Server einzutragen, der auf die zu öffnenden SQL-Daten verweist. Danach sind die Tabellen per Datenbankpfad zu einer Datengruppe hinzuzufügen. Durch Öffnen der Datengruppe in GeoAS ergibt sich automatisch ein Live-Zugriff mit Cache, der für einen folgend beschriebenen SQL-Befehl benötigt wird.Die Anweisung kann in jedes beliebige Makro integriert werden. Mehrere Anweisungen hintereinander sind zulässig. Achtung: Innerhalb des Begin-End-Blocks muss die Syntax der jeweiligen Datenbank berücksichtigt werden.

 

FROM: Der SQL-Befehl benötigt zwingend mindestens eine FROM Anweisung mit Angabe der Tabelle in geschweiften Klammern. Bsp. FROM {Altlasten}

INTO: Mit INTO wird nicht wie bei einer Datenbank üblich ein physikalischer View erzeugt sondern lediglich der Name der Query in GeoAS festgelegt (MapInfo Logik).

NoSelect (optional): Ist der Parameter NoSelect gesetzt, wird das Ergebnis in GeoAS nicht selektiert.

Hide (optional): Ist der  Parameter Hide gesetzt, wird das Ergebnis nur in der Datenbank unter dem vergebenem Namen (Into) vorgehalten und nicht in GeoAS geöffnet. Diese Variante kann für Zwischenergebnisse benutzt werden, wenn mehrere SQL-Befehle abgesetzt werden und ein Folgebefehl auf dieses Zwischenergebnis zugreifen soll.

DoLink (optional): Als Standard wird die Abfrage als neue, temporäre Tabelle geöffnet. Der optionale Parameter DoLink überträgt die Selektion wieder auf die Ausgangstabelle, die temporäre Tabelle wird geschlossen. Dolink funktioniert nur mit kartierbaren Relationen. DoLink und Hide schließen sich gegenseitig aus.

Autocol (optional): Das Schlüsselwort Autocol wird mit allen im GeoAS Management für die angefragte Tabelle definierten Spalten als Auflistung ersetzt. Auf diese Weise wird sichergestellt, dass keine unzulässigen Spalten zurückgegeben werden.

 

Variablen: Die Verwendung der Makro-Variablen (z.B. int1) ist zulässig. Damit die Datenbank diese erkennen kann, müssen Sie durch ein vorangestelltes '@'-Zeichen gekennzeichnet werden. Das '@'-Zeichen darf nur innerhalb der BeginSQL-EndSQL-Anweisung verwendet werden.

 

Beispiel:

SelectionCheck(Flurstücke:1)

str1=Selection.Index1

BeginSQL

    Select * FROM {Altlasten} where index1=@str1 INTO Test NoSelect DoLink

EndSQL

browse * from test

 

Beispiel Versiegelung:

SELECT * FROM Versiegelung_Flächen

Kann in GeoAS nicht geöffnet werden, da zwei grafische Spalten existieren.

SELECT autocol FROM Versiegelung_Flächen

Funktioniert, weil die zweite grafische Spalte im GeoAS Management als versteckt deklariert wurde.

AutoShade(...)

AutoShade erzeugt eine dynamische thematische Karte für Flächen- oder Linienobjekte. Dazu kann entweder eine Farbtabelle oder ein automatischer Farbverlauf benutzt werden. Vor und nach AutoShade sind auch andere Kommandos zulässig. AutoShade darf aber nur einmal innerhalb eines Makros vorkommen.

Farbtabelle: Die Farbtabelle ist eine MapInfo-Tabelle und fix vorgegeben:  \Lib\Shade\ColorTable.tab. Sie kann zusätzlich zur ID-Spalte beliebig viele Spalten haben. Jede Spalte entspricht einer eigenen Farbtabelle und enthält die Farbwerte gemäß der Brush/Pen-Definition von MapInfo. Die Farbwerte sind NICHT attributgebunden. Sie werden nacheinander benutzt, sortiert nach der Spalte ID. Die Anzahl der (gefüllten) Zeilen ist unerheblich, es kann lange und kurze Farbtabellen geben. Übersteigt die Anzahl der Attribute die Anzahl der verfügbaren Farbwerte, wird wieder von oben angefangen. Mit dem Zusatzprogramm UpdateColorTable.MBX (liegt im GeoAS Hauptverzeichnis) können thematische Karten aus dem Thema-Manager in die ColorTable überführt werden.

Farbverlauf: Durch Angabe zweier MapInfo-Farbwerte (von - nach) kann jeder beliebige Farbverlauf erzeugt werden. Die gesetzten Farbwerte können über das GeoAS Menü Optionen > Zusatzprogramme > aktiven Stil zeigen ermittelt werden.

 

Syntax 1: AutoShade(Tabellenname,Spaltenname,Spaltename in Farbtabelle)

Syntax 2: AutoShade(Tabellenname,Spaltenname,vonFarbwert,nachFarbwert)

 

Beispiel 1: Fartabelle

AutoShade(Flurstücke,Flur,Solid)

Flur ist eine Spalte der Tabelle Flurstücke. Solid ist eine Spalte in der ColorTable.

 

Beispiel 2: Farbverlauf

AutoShade(Flurstücke,Flur,255,13172735)            Dunkelblau -> Hellblau

AutoShade(Flurstücke,Flur,16711680,65280)        Rot -> Grün

 

Beispiel 3: Sämtliche Möglichkeiten eines Makros stehen zu Verfügung. Der Aufruf könnte also auch mit Feldfunktionen kombiniert werden und so aussehen:

AutoShade(#Tabelle:Flurstücke#,#Spalte:Flur#,#Farbtabelle:Full;Solid;Light#)

Variable

Datentyp

Str1 – Str9

String

Int1 – Int9

Integer

Dec1 – Dec9

Float

Dat1 – Dat9

Date

Log1 – log9

Logical

Ali1 – Ali9

Alias

Obj1 – Obj9

Object

Im Makro stehen eine Anzahl bereits vordefinierter Variablen zur Verfügung. Diese Variablen können direkt genutzt werden und müssen nicht per dim- /undim-Anweisung verwaltet werden. Pro Datentyp sind 9 Variablen definiert. Innerhalb einer BeginSQL-EndSQL-Anweisung muss den Variablebnamen ein '@' vorangestellt werden.

 

 

n = Schlüsselwort       n = Platzhalter       n = Variable

hmtoggle_plus1Kommentare im Makro

In einen Makro-Code können beliebige Kommentare in eckigen Klammern […] eingefügt werden, die sich nicht auf den Makrolauf auswirken.

Nach jeder öffnenden Klammer "[" wird die nächstfolgende schließende Klammer "]" gesucht. Wenn eine schließende Klammer fehlt, wird am Makroende eine temporäre schließende Klammer gesetzt und der gesamte Text bis zum Makroende als Kommentar interpretiert.

Beipiel:

[Makro zur Ermittlung der Hoehendifferenz]

Int1=100

Select * from MeineTabelle where H=#Hoehe

[Hoehe ist Integer]

Int2=selection.H-int1 [Das ist das Endergebnis]

Note int2

hmtoggle_plus1Beispiele

Beispiel 1

Es soll ein beliebiges Anzeigefenster geöffnet werden (vergleichbar mit <Fenster><Neues Anzeigefenster>):

browse * from #Tabelle#

 

Manager_Makro1a

 

Manager_Makro1b

 

Beispiel 2

Es soll ein bestimmtes Anzeigefenster geöffnet werden

Browse * from #Tabelle:Baum#

Im Textfeld ist die vordefinierte Relation bereits eingetragen

 

Manager_Makro2a

 

Manager_Makro2b

 

Beispiel 3

Eine Selektion soll mit bestimmten Werten aktualisiert werden

update #Bäume:selection# set Prüfer="#Prüfung durch:Fritz Müller;Peter Meier#",

Prüfdatum="#Prüfdatum:CurDate()#",Uhrzeit="#Zeit:time(24)#",Bemerkung="#Bemerkung#"

(Vor Ausführung wird geprüft, ob tatsächlich Bäume selektiert sind.)

 

Manager_Makro3a

 

Manager_Makro3b

 

Beispiel 4

Eine Datenbankabfrage soll flexibel sein

select Baumnummer,Baumart,Strasse from Bäume where Vitalität="#Vitalität:gesund;geschädigt;abgängig#" and Prüfdatum<"#Prüfung vor dem#" into Vitalitätsliste noselect

browse * from Vitalitätsliste

 

Manager_Makro4a

 

Manager_Makro4b

 

Beispiel 5

In manchen Fällen müssen die Felder der Makro-Steuerelemente mit Werten gefüllt werden, die beim Öffnen des Makro-Eingabedialogs noch nicht bekannt sind. Daher kann man im Makros einen Teil abgrenzen, der vorab ausgeführt wird. Das Schlüsselwort 'end public' schließt diesen Teil ab.

Mit der Verwendung der vordefinierten Variablen lassen sich Werte zwischenpuffern und im weiteren Makroverlauf wieder anwenden.

 

Manager_Makro5a