MultiExec

Top  Previous  Next

Es wird ein Befehl für mehrere Datensätze durchgeführt.

MultiExec erwartet mindestens 2 Parameter. Der erste Parameter Befehl wird als Funktion interpretiert (z.B. Alias, Funktion, Prozedur). Alle nachfolgenden Parameter der MultiExec-Funktion werden als Werte an den ersten Parameter weitergegeben. Die Funktion im ersten Parameter wird mit jedem nachfolgenden Parameter erneut ausgeführt. Dabei wird jedes Auftreten von %0 .. %99 durch aktuelle Werte ersetzt. Die Funktion wird so oft aufgerufen, bis sie für alle Werte durchgeführt wurde

Voraussetzung

Angabe von mindestens 2 Parametern.

Parameter

Befehl

Befehlsstring mit der Funktion, die mehrfach ausgeführt werden soll, und den Platzhaltern (%0-%99) für die variablen Parameter, die in jedem Durchlauf mit den Werten aufgefüllt werden. Die Ersetzung der Platzhalter erfolgt übrigens unabhängig davon, ob sich andere Zeichen direkt an den Platzhalter anschließen oder nicht: Sie müssen nicht frei stehen.

Werte

Jeder Parameter ab dem zweiten wird in einzelne Worte zerlegt. Das erste Wort ist Ersatz für %0 im Befehl. Das zweite Wort ist Ersatz für %1, usw. Dabei werden “ “ um die Worte entfernt.

/REVERSE

Wenn dieser Parameter gesetzt werden soll, muß er noch vor den beiden anderen an erster Stelle stehen. Der Parameter bewirkt, daß die Bearbeitung und somit auch die Ausgabe der Werte in umgekehrter Reihenfolge erfolgt.

/MULTILINE

Wenn dieser Parameter gesetzt werden soll, muß er noch vor den beiden anderen an erster Stelle stehen. Es können dann auch mehrzeilige Parameterwerte verarbeitet werden, die unter Befehl aufgeführte Zeichenkette ist dann aber keine Befehlsfolge, sondern eine einzelne Befehlszeile.

Rückgabewert

Wert

Beschreibung

0

Aufruf wurde erfolgreich durchgeführt

sonst

Fehler aufgetreten

Dialog

keiner

Beispiel

MultiExec „Echo %0 %1 <%2>“ „Dies ist ein Parameter“

-> Dies ist <ein>

In diesem Beispiel wurde nur ein Werteparamter mit angegeben, um die Ersetzung der Platzhalter zu verdeutlichen, die auch für jeden weiteren Werteparameter erfolgen würde. Im folgenden Beispiel sind nun zwei Werteparamter angegeben.

MultiExec „Echo %0 %1 <%2>“ „Dies ist ein Parameter“ „Und noch einer“

-> Und noch <einer>

-> Dies ist <ein>

Auch für den zweiten Wertparameter erfolgt die Ausgabe in der gleichen Form. Die <>-Zeichen sind korrekt um das dritte Wort im Wertparameter gesetzt worden.

MultiExec „Echo %0 %1 <%2>“ „Dies ist ““ein Parameter“““

-> Dies ist <ein Parameter>

Im obigen Beispiel ist das dritte Wort im Wertparamter mit Hilfe der innen liegenden Hochkommata anders definiert worden (innen liegende Hochkommata werden auch hier gedoppelt).

MultiExec „Echo %0 %1 <%2>“ „Dies“

-> Dies <>

Wenn keine Werte für die Platzhalter geliefert werden, bleiben sie leer.

MultiExec /REVERSE „m_mul(m_add(%0 %2) %1)” “1 2 3” “4 5 6” “7 8 9”

-> 8

-> 50

-> 128

Der Parameter /REVERSE sorgt dafür, daß die Rückgabewerte in der gleichen Reihenfolge zurückkommen wie die Werteparametern eingegeben werden.

 

Oder in Verbindung mit einer Datenbankabfrage

MultiExec "Echo ""%0 %1 %2"""  SQLquery (xtcgausz "select r,g,b from xtccolour" /NOQ)

Bemerkung

soll hinter %1 als Parameter sofort eine Ziffer folgen, dann muß die Parameterangabe 2-stellig erfolgen.

Siehe auch