Home UDO im Detail Definitionen Symbole
 UDO - Eine kleine Einführung
 UDO - Das Werkzeug für universelle Dokumente
 UDO im Detail

1.2.3 Makros

Makros sind benutzerdefinierte Platzhalter, die man für die verschiedensten Zwecke verwenden kann. Sie werden im UDO-Vorspann definiert und können dann im Hauptteil benutzt werden. Sehen wir uns zunächst mal ein einfaches Beispiel an.


!macro ICH Hans Dampfinallengassen
...
Mein Name ist (!ICH).

UDO würde in diesem Fall exportieren:

Mein Name ist Hans Dampfinallengassen.

Hier hat man also hauptsächlich Tipparbeit gespart, was ja schon ganz nett ist, aber natürlich gibt es viel sinnvollere Möglichkeiten, Makros zu verwenden: Man denke nur an Dokumente, die auf jeder Seite wiederkehrende Elemente verwenden - z.B. eine Navigationsleiste, einen Fußtext o.ä.
Einmal als Makros definiert, kann man sie durch einen simplen Aufruf immer wieder verwenden - und wenn diese Elemente mal geänderten werden müssen, reicht es, die Makro-Definition anzupassen, und nach dem nächsten Übersetzungsdurchgang ist die Änderung auf allen Seiten durchgeführt.



Natürlich kann man auch UDO-Befehle in Makros verwenden - so kann man ganze Befehlsfolgen in einer kleinen Zeichenkette zusammenfassen.
Besonders interessant ist aber auch die Möglichkeit, den Makros Parameter zu übergeben. Auch dazu ein Beispiel:

!macro MOREINFO Besuchen Sie das Kapitel (!1). (!nl)
... (!nl)
Falls Sie mehr wissen wollen: (!nl)
(!MOREINFO [(!nolink [Shareware])])

Die Zeichenfolge (!1) in der Makrodefinition ist der Parameter, der bei der Verwendung des Makros in eckigen Klammern übergeben wird. UDO exportiert in diesem Beispiel also:

Falls Sie mehr wissen wollen:
Besuchen Sie das Kapitel Shareware.

Makros dienen also dazu, Tipparbeit zu ersparen oder Änderungen zu erleichtern. Außerdem können Makros mit der Abfrage von Symbolen (s. nächstes Kapitel) und Zielformaten (s. voriges Kapitel kombiniert werden - so kann man ein Makro unterschiedlich definieren, je nachdem, ob man im HTML-, RTF-, oder ST-Guide-Format exportiert; je nachdem, ob man HTML-Dateien im altmodischen, modernen oder Frame-Layout exportiert (auch darüber wird noch zu lesen sein) usw. Das ist besonders nützlich für das Setzen von Dateipfaden, da diese je nach Zielformat unterschiedlich sein können: Die BMP-Grafiken für WinHelp hat man in einem Pfad, die GIFs für HTML in einem anderen... Im UDO-Quelltext übernimmt die genaue Pfadzuweiseung dann eben ein Makro:

!ifdest [html]
  !macro PICPATH gif/
!else
  !macro PICPATH bmp/
!endif
...
!image (!PICPATH)udopic ...

In diesem Fall wird beim HTML-Export ein Verweis auf die Datei gif/udopic.gif gesetzt, allen anderen Exportformaten hingegen die Datei img/udopic.bmp eingebunden - natürlich nur, sofern die Dateien auch im jew. Pfad vorhanden sind.


Makros können bei richtigem Einsatz eine mächtige Hilfe sein - das ist einer der wesentlichen Vorteile von UDO.


Copyright © tobias@udo-open-source.de
Letzte Aktualisierung am 15. März 2001

Home UDO im Detail Definitionen Symbole