Zuweisungen und Stackoperationen

Zuweisungen an String- oder Integervariablen

Zuweisungen an String- oder Integervariablen erfolgen über den Zuweisungsoperator ':='.

Syntax:

  • Stringvariable := Stringausdruck
  • Integervariable := Integerausdruck
Ein Stringausdruck ist entweder eine Stringvariable, eine Zeichenkette, oder eine Ausdruck, der ausgewertet eine Zeichenkette ergibt. Zeichenketten werden durch den Delimiter ''' beschränkt. Ein Ausdruck der Form #ABC innerhalb einer Zeichenkette steht stellvertretend für das Zeichen mit ASCII-Code ABC ( 1 <= ABC <= 255).

Ein Integerausdruck ist entwerder eine ganze (ggf. negative Zahl) oder eine Ausdruck, der vollständig ausgewertet eine ganze Zahl ergibt.

Beispiele:

  • A$ := 'Hello World'
  • A$ := intToStr(25)
  • A := 5
  • A := strToInt('25')

  •  

Stackoperationen

Funktionsname Prototyp Beschreibung
push push(String-Stack, String) bzw.
push(Integer-Stack, Integer)
Der übergebene String / der übergebene Integerwert wird auf den Stringstack / Integerstack gelegt. 
pop pop(String-Stack) : String bzw.
pop(Integer-Stack) : Integer
Der oberste Wert des String-/Integer-Stacks wird zurückgegeben.

Beispiele:

push(A%, con('Hello ', B$))
push(A#, cursor.x)
A$ := pop(A%)
A := add(5, pop(A#))

Funktionen

Dieser Abschnitt beschreibt alle Funktionen, die nicht als Methoden der Objekte Cursor, Text, Block, Query und File definiert sind.

Arithmetische Funktionen

Funktionsname Prototyp Beschreibung
add add(Integer, Integer) : Integer Addition
sub sub(Integer, Integer) : Integer Subtraktion
mul mul(Integer, Integer) : Integer Multiplikation
div div(Integer, Integer) : Integer Division, der zweite Parameter muß ungleich 0 sein.

Beispiele:

A := add(A, 2)
A := div(A, 2)
B := add(1, cursor.x)

Stringfunktionen, Stringmanipulation

Funktionsname Prototyp Beschreibung
con con(String, String) :String String-Konkatanation
length length(String) : Integer Ermittelt die Länge eines Strings.
getSlice getSlice(String, Integer, Integer) : String Gibt einen Teil eines Strings zurück. Der erste Integerparameter kennzeichnet die Anfangspoition, der zweite die Endposition des Teilstrings.
deleteSlice deleteSlice(String, Integer, Integer): String Löscht einen Teil eines Strings. Der erste Integerparameter kennzeichnet die Anfangspoition, der zweite die Endposition des zu löschenden Teilstrings.
upcase upcase(String) : String Wandelt alle in einem String enthaltenen Buchstaben in Großbuchstaben um.
lowcase lowcase(String) : String Wandelt alle in einem String enthaltenen Buchstaben in Kleinbuchstaben um.
trim trim(String, String) : String Löscht alle Vorkommen des zweiten Parameters am Anfang und Ende des ersten Parameters. Der zweite String darf nur aus einem Zeichen bestehen. Z.B. ergibt trim('aaHalloaa', 'a') den String 'Hallo'.
trimLeft trimLeft(String, String) : String Wie trim, es wird aber nur am Anfang des ersten Parameters gelöscht.
trimRight trimLeft(String, String) : String Wie trim, es wird aber nur am Ende des ersten Parameters gelöscht.
stringOf stringOf(String, Integer) : String Erzeugt einen String der durch n-malige Konkatenation des ersten Parameters entsteht. n ist der Wert des zweiten Parameters, der erste Parameter darf nur aus einem Zeichen bestehen.

Beispiele:

A$ := con('Hello', ' World')
A$ := upcase(con(A$, '!')))
A$ := getSlice(A$, 2, 10)
A$ := stringOf(getSlice('Hallo', 1, 1), mul(A, 10))

Funktionen zur Suche in einem String

Funktionsname Prototyp Beschreibung
pos pos(String, String) : Integer Gibt die Position des ersten Vorkommen des ersten Argumentes im zweiten Argument zurück. Wird kein Vorkommen gefunden, wird 0 zurückgegeben.
posRight pos(String, String) : Integer Wie pos, es wird aber nach dem letzten Vorkommen gesucht.
regPos regPos(String, String) : Integer Wir pos, das erste Argument wird als regulärer Ausdruck behandelt. Zur Syntax von regulären Ausdrücken in Ed42, vgl.  Abschnitt Reguläre Ausdrücke.
regMatchStart regMatchStart : Integer Nach dem Aufruf von regPos kann - falls nicht 0 zurückgegeben wurde - über regMatchStart die Startpoition des Matches ermittelt werden.
regMatchEnd regMatchEnd : Integer Wie regMatchStart, es wird aber die Endposition des Matches zurückgegeben.

Beispiele:

A := pos('o W', 'Hello World')
A := regPos('[a-z]+', A$)
B := regMatchStart
E := regMatchEnd

Datum-Uhrzeit-Funktionen

Funktionsname Prototyp Beschreibung
datestr datestr : String Gibt das Datum im Format TT.MM.YY zurück.
timestr timestr: String Gibt die Uhrzeit im Format HH:MM:SS zurück.

Beispiele:

A$ := CON(dateStr, CON(' ', timestr))

Eingabefunktionen

Funktionsname Prototyp Beschreibung
inputInt inputInt(String) : Integer Öffnet einen Dialog zur Eingabe einer Zahl. Der übergebene String wird als Erläuterung im Dialogfeld angezeigt.
inputStr inputStr(String) : String Öffnet einen Dialog zur Eingabe einer Zeichenkette. Der übergebene String wird als Erläuterung im Dialogfeld angezeigt.
inputFile inputFile(String) : String Öffnet den Dateidialog zur Eingabe eines Dateinamens (die zugehörige Datei muß existieren). Der übergebene String wird als Titel des Dateidialogs angezeigt. 

Beispiel:

A$ := inputStr('Bitte String eingeben')

Konvertierungsfunktionen

Funktionsname Prototyp Beschreibung
strToInt strToInt(String) : Integer Wandelt einen String in eine Zahl um.
intoStr IntToStr(Integer) : String Wandelt eine Zahl in einen String um.

Beispiel:

A := strToInt(intToStr(100))



Cursoroperationen

Über die Attribute des Objekts cursor kann auf die Position des Cursors im aktuellen Text zugegriffen werden. Die Methoden des Objekts cursor erlauben die Navigation im Text.
 
Attributname Typ Modus Beschreibung
x Integer read only Enthält die Position des Cursors in der aktuellen Zeile.
y Integer read only Enthält die Zeilennummer der aktuellen Zeile.

 
Methodenname Prototyp Beschreibung
goto goto(Integer, Integer) Bewegt den Cursor zur x-ten Position der y-ten Zeile, wobei x der Wert des ersten Parameter und y der Wert des zweiten Parameters ist.
enter enter Entspricht der Betätigung der Eingabetaste über die Tatstatur.
tab tab Entspricht der Betätigung der Tabulator-Taste über die Tatstatur. Vgl. Abschnitt Behandlung von Tabulatoren.
tabBack tabBack Entspricht der Betätigung der Tabulator-Taste in Verbindung mit der Umschalt-Taste über die Tatstatur. Vgl. Abschnitt Behandlung von Tabulatoren.
home home Der Cursor wird auf das erste Zeichen der aktuellen Zeile gesetzt.
end end Der Cursor wird auf das letzte Zeichen (das kein Leerzeichen ist) der aktuellen Zeile gesetzt.
top top Der Cursor wird auf das erste Zeichen der ersten aktuell angezeigten Zeile gesetzt.
bottom bottom Der Cursor wird auf das erste Zeichen der letzten aktuell angezeigten Zeile gesetzt.
up up Wenn der Cursor nicht in der ersten Zeile des aktuellen Dokumentes steht, wird der Cursor um eine Zeile nach oben verschoben.
down down Wenn der Cursor nicht in der letzten Zeile des aktuellen Dokumentes steht, wird der Cursor um eine Zeile nach unten verschoben.
left left Wenn der Cursor nicht in der ersten Spalte der aktuellen Zeile steht, wird er um ein Zeichen nach links verschoben.
right right Der Cursor wird um ein Zeichen nach rechts verschoben (es sei denn, die maximale Zeilenlänge (2048 Zeichen) ist erreicht).
pageDown pageDown Der Cursor wird um eine Bildschirmseite nach unten verschoben. Ist das nicht möglich, wird der Cursor auf die letzte Zeile der aktuellen Datei  gesetzt. Die Spaltenposition bleibt unverändert.
pageUp pageUp Der Cursor wird um eine Bildschirmseite nach oben verschoben. Ist das nicht möglich, wird der Cursor auf die erste Zeile der aktuellen Datei gesetzt. Die Spaltenposition bleibt unverändert.

Beispiele:

X := cursor.x
Y := cursor.y
cursor.goTo(X, add(Y,2))
cursor.right

Manipulation des aktuellen Textes

Über das Objekt text können Attribute des aktuellen Textes bzw. der aktuellen Zeile abgefragt werden; über die Methoden des Objektes text kann der Inhalt der aktuellen Zeile gelesen und verändert werden.
 
Attributname Typ Modus Beschreibung
length Integer read only Enthält die Länge der aktuellen Zeile.
tabWidth Integer read only Enthält die über die Projektoptionen (Registerkarte Tabulatoren) konfigurierte Tabulatorlänge, vgl. Behandlung von Tabulatoren.
insertModus Boolean read only True, wenn der Einfügemodus gleich Insert ist, False sonst.

 
Methodenname Prototyp Beschreibung
insert insert(String) Fügt an der aktuellen Position im Text den übergegenen String ein.
insertLine insertLine(String) Wie insert, es wird zusätzlich das Drücken der Eingabetaste nachempfunden.
setLine setLine(String) Ersezt die aktuelle Textzeile durch den übergebenen String.
deleteLine deleteLine Löscht die aktuelle Textzeile
deleteSlice deleteSlice(Integer, Integer) Löscht einen Auschnitt der aktuellen Zeile. Die Startposition des zu löschenden Ausschnitts ist durch den ersten Parameter festgelegt, die Endposition durch den zweiten Parameter.
deleteToLineEnd deleteToLineEnd Löscht in der aktuellen Zeile alles von der aktuellen Position ab bis zum Zeilenende.
deleteToWordEnd deleteToWordEnd Löscht in der aktuellen Zeile alles von der aktuellen Position ab bis zum Wortende.
cut cut Enthält die aktuelle Zeile ab der aktuellen Position Text, wird dieser Text in eine neue Folgezeile umgehängt. Enthält die aktuelle Zeile ab der aktuellen Position keinen Text, wird der Text der Folgezeile (falls vorhanden) in die aktuelle Zeile hinter die aktuelle Cursorposition umgehängt. Die Folgezeile wird dabei gelöscht.
paste paste Analog zu cut.
getChar getChar : String Liefert das unter dem Cursor stehende Zeichen.
getWord getWord : String Liefert das unter dem Cursor stehende Wort.
getSlice getSlice(Integer, Integer) : String Liefert einen Ausschnitt der aktuellen Zeile. Die Startposition des Ausschnitts ist durch den ersten Parameter festgelegt, die Endposition durch den zweiten Parameter.
line line : String Liefert den gesamten Text der aktuellen Zeile.
setInsertModus setInsertModus Setzt den Einfügemodus auf Insert.
setOverwriteModus setOverwriteModus Setzt den Einfügemodus auf Overwrite.

Beispiele:

A$ := text.line;
A$ := text.getSlice(B,E)
text.deleteSlice(B,E)
text.insert(A$)
text.insertLine('Hallo')



Blockoperationen

Attributname Typ Modus Beschreibung
marked Boolean read only True, wenn im aktuellen Text ein Block markiert ist, False sonst.
startLine Integer read only Die Zeilennummer der Zeile, in welcher der Block beginnt. Nur sinnvoll verwendbar wenn marked = true.
endLine Integer read only Die Zeilennummer der Zeile, in welcher der Block endet. Nur sinnvoll verwendbar wenn marked = true.
startPos Integer read only Die Positon in welcher der Block innerhalb der ersten Blockzeile (vgl. startLine) beginnt. Nur sinnvoll verwendbar wenn marked = true.
endPos Integer read only Die Positon in welcher der Block innerhalb der letzten Blockzeile (vgl. endLine) endet. Nur sinnvoll verwendbar wenn marked = true.

 
Methodenname Prototyp Beschreibung
begin begin Die aktuelle Cursorposition wird zum neuen Blockanfang.
end end Die aktuelle Cursorposition wird zum neuen Blockende.
markWord markWord Das unter dem Cursor stehende Wort wird als Block markiert.
markLine markLine Die aktuelle Zeile wird als Block markiert.
markAll markAll Der gesamte aktuelle Text wird als Block markiert.
unmark unmark Die Blockmarkierung wird aufgehoben. Nur sinnvoll verwendbar wenn marked = true.
toCB toCB Der aktuell markierte Block wird in die Zwischenablage kopiert. Nur sinnvoll verwendbar wenn marked = true.
fromCB fromCB Der aktuelle Inhalt der Zwischenablage wird an die aktuelle Cursorposition kopiert und als Block markiert.
delete delete Der aktuell markierte Block wird gelöscht. Nur sinnvoll verwendbar wenn marked = true.

Beispiele:

if not block.marked
   block.markWord
endIf

if block.marked
   B := block.startPos
   E := block.endPos

   A$ := text.getSlice(B,E)
   A$ := con('htons(', con(A$,')'))

   text.deleteSlice(B,E)
   cursor.goTo(B,cursor.y)
   text.insert(A$)
   block.unmark
endIf



Suchen und Ersetzen

Das Objekt query bietet Attribute und Methoden, die für die Einbindung von Textsuche und das -ersetzung in Makros notwendig sind.
 
Attributname Typ Modus Beschreibung
target String write only Zu suchender Text.
substitute String write only Zu ersetzender Text (irrelevant falls das Attribut replace den Wert false hat)
block Boolean write only true: es wird im markierten Block gesucht; false: es wird im gesamten Text gesucht.
forward Boolean write only true: der Text wird vorwärts durchsucht; false: der Text wird rückwärts durchsucht.
wholeWords Boolean write only true: der zu suchende Text darf nicht Teil eines Wortes sein; false sonst.
startLine Boolean write only true: der gesuchteText muß am Anfang einer Zeile stehen; false sonst.
endLine Boolean write only true: der gesuchteText muß am Ende einer Zeile stehen; false sonst.
ignoreUpperLower Boolean write only true: es wird nicht zwischen Groß- und Kleinschreibung unterschieden; false sonst.
regExp Boolean write only true: Der zusuchende Text wird als regulärer Ausdruck interpretiert; false sonst. Zur Syntax von regulären Ausdrücken vergleiche Abschnitt Reguläre Ausdrücke.
replace Boolean write only true: Der gefundene Text soll mit dem im Attribute subtitute enthaltenen Text ersetzt werden; false sonst.
ask Boolean write only true: Vor einer Ersetzung soll eine Bestätigung durch den Benutzer erfolgen; false sonst.
found Boolean read only true: Die Suche war erfolgreich; false sonst. Der Wert des Attributes wird durch den Aufruf der Methode execute gesetzt.

Zur Verwendung beliebiger ASCII-Codes für Werte der Attribute target und substitute vgl. Abschnitte Suchen im aktuellen Text und Ersetzen im aktuellen Text.
 
Methodenname Prototyp Beschreibung
execute execute Startet den Such- bzw. Ersetzungsvorgang.
reset reset Belegt Attribute mit Standardvorgaben. Entspricht folgenden Zuweisungen:
query.block := false
query.forward := true
query.words := false
query.upcase := true
query.startLine := false
query.endLine := false;
query.regExp := false;
query.replace := false;
match match : String Gibt nach Aufruf der Methode execute den gefundenen Text zurück falls das Attribut found den Wert true enthält.
matchStart matchStart : Integer Gibt  nach Aufruf der Methode execute die Startposition des gefundenen Textes zurück falls das Attribut found den Wert true enthält.
matchEnd matchEnd : Integer Gibt  nach Aufruf der Methode execute die die Endposition des gefundenen Textes zurück falls das Attribut found den Wert true enthält.
subMatchCount subMatchCount : Integer Gibt  nach Aufruf der Methode execute die Anzahl der gefundenen Teilsaudrücke zurück (bei regulärer Suche, vgl. Reguläre Ausdrücke).
subMatch subMatch(Integer) : String Gibt  nach Aufruf der Methode execute den i-ten Teilsausdruck zurück, wobei i die übergebene Zahl bezeichnet (bei regulärer Suche, vgl. Reguläre Ausdrücke).

Beispiele:

makro suchen
   query.reset
   query.target := 'an Br'
   query.execute

   if query.found
      B := query.matchStart
      E := query.matchEnd

      A$ := text.getSlice(B,E)
      A$ := con('test(', con(A$,')'))

      text.deleteSlice(B,E)
      cursor.goTo(B,cursor.y)
      text.insert(A$)
   endIf
endMakro

makro regsuchen
   query.reset
   query.target := '[narB ]+'
   query.regExp := true
   query.execute

   if query.found
      B := query.matchStart
      E := query.matchEnd

      A$ := text.getSlice(B,E)
      A$ := con('test(', con(A$,')'))

      text.deleteSlice(B,E)
      cursor.goTo(B,cursor.y)
      text.insert(A$)
   endIf
endMakro


Dateioperationen

Das Objekt file bietet methoden und Attribute an, die im weitensetn Sinne mit Operationen auf Dateien oder Verzeichnissen verbunden sind. Beispielsweise sind Methoden zum Öffnen und Speichern von Dateien sowie zur Manipulation von Pfadbezeichnern vorhanden.
 
Attributname Typ Modus Beschreibung
name String read only Der Name der aktuellen Datei (incl. Plattenbezeichner, Verzeichnis und Extension).
homeDir String read only Das Home-Directory von Ed42.

 
Methodenname Prototyp Beschreibung
new new Erzeugt einen leeren Text.
load load(String) Lädt die Datei mit dem übergebenen Namen. Ist die Datei bereits geladen, wird zur Datei gewechselt.
save save Speichert die aktuelle Datei ab.
saveAs saveAs(String) Speichert die aktuelle Datei unter dem übergebenen Namen ab. Dem aktuellen Text wird der Name zugeordnet.
close close Schließt die aktuelle Datei.
extractName extractName(String) Gibt aus dem übergebenen Pfadbezeichner den Dateinamen zurück. Falls es sich bei dem übergebenen String nicht um einen korrekten Pfadbezeichner handelt, wird ein Leerstring zurückgegeben.
extractPath extractPath(String) Gibt aus dem übergebenen Pfadbezeichner das Verzeichnis (incl. Plattenbezeichner) zurück. Falls es sich bei dem übergebenen String nicht um einen korrekten Pfadbezeichner handelt, wird ein Leerstring zurückgegeben.
extractExt extractExt(String) Gibt aus dem übergebenen Pfadbezeichner die Extension zurück. Falls es sich bei dem übergebenen String nicht um einen korrekten Pfadbezeichner handelt oder keine Extension enthalten ist, wird ein Leerstring zurückgegeben.
extractDrive extractDrive(String) Gibt aus dem übergebenen Pfadbezeichner den Plattenbezeichner zurück. Falls es sich bei dem übergebenen String nicht um einen korrekten Pfadbezeichner handelt oder keine Plattenangabe enthalten ist, wird ein Leerstring zurückgegeben.
getCurrentDir getCurrentDir : String Liefert das aktuelle Verzeichnis zurück.
setCurrentDir setCurrentDir(String) Setzt das aktuelle Verzeichnis auf den übergebenen Bezeichner. Ist das gewünschte Verzeichnis nicht vorhanden, wird versucht es anzulegen. Handelt es sich bei dem übergebenen Bezeichner um keinen gültigen Verzeichnisbezeichner, bleibt das aktuelle Verzeichnis unverändert.
exists exists(String) Liefert true wenn der übergebene String der Name einer existierenden Datei ist.
dirExists dirExists(String) Liefert true wenn der übergebene String der Name eines existierenden Verzwichnisses ist.
trimName trimName(String) : String Liefert die Zeichnekette die entsteht, in dem jedes Vorkommen von '\\' im übergebenen String durch '\' ersetzt.

Beispiele:

makro filetest
   text.insertLine(file.extractPath(file.name))
   file.saveAs('c:\test.txt')
   text.insertLine(file.extractPath(file.name))
   text.insertLine(file.extractName(file.name))
endMakro

Vergleiche

Vergleiche können in Zusammenhang mit if-Konstrukten oder repeat-until-Schleifen eingesetzt werden.
 
Vergleichsoperator Signatur Beschreibung
< Integer < Integer oder
String < String
Liefert true, wenn der erste Parameter kleiner als der zweite ist; false sonst.
> Integer > Integer oder
String > String
Liefert true, wenn der erste Parameter geöße als der zweite ist; false sonst.
<= Integer <= Integer oder
String <= String
Liefert true, wenn der erste Parameter kleiner oder gleich dem zweiten Parameter  ist; false sonst.
>= Integer >= Integer oder
String >= String
Liefert true, wenn der erste Parameter größer oder gleich dem zweiten Parameter  ist; false sonst.
= Integer = Integer oder
String = String
Liefert true, wenn beide Parameter gleich sind  ist; false sonst.
<> Integer <> Integer oder
String <> String
Liefert true, wenn die Parameter verschieden sind  ist; false sonst.

Beispiele:

I := 1
repeat
   text.insertLine(intToStr(I))
   cursor.right
   I := add(I, 1)
until I > 20

if U <= mul(A,2)
   B$ := con(B$, ' to ')
else
   B$ := con(B$, ' downto ')
endIf
 


If-Then-Else

Über if-then-else-Kontstrukte kann die Durchführung bestimmter Makroabschnitte von Bedingungen abhängig gemacht werden. Der else-Zweig ist optional. If-then-else-Konstrukte können beliebig geschachtelt werden.

Syntax:

if Bedingung
   Kommando_i
   ...
   Kommando_j
else
   Kommando_k
   ...
   Kommando_l
endIf
oder
if Bedingung
   Kommando_i
   ...
   Kommando_j
endIf
Beispiele:
if A < 10
   gotoUp('zurueck')
else
   if A < 20
      gotoDown('vor')
   endIf
endIf

if query.found
   B := query.matchStart
   E := query.matchEnd
endIf
 


Repeat-Until

Über repeat-until-Konstrukte können Schleifen realisiert werden.

Syntax:
   repeat
      Kommando_1
      ...
      Kommando_n
   until Bedingung
 

Beispiele:

repeat
   text.insertLine(intToStr(I))
   cursor.right
   I := add(I, 1)
until I > 20
     A$ = ''
     repeat
        A$ := con(A$,'ab')
     until length(A$) >= 20


Labels und Goto

Über die Befehle label, gotoUp und gotoDown können Sprünge realisiert werden. Über den Befehl label kann ein Sprungziel definiert werden. Der Befehl gotoUp sucht rückwärts im Makrocode nach dem spezifizierten Sprungziel, der Befehl gotoDown sucht vorwärts nach dem spezifizierten Sprungziel. Wird das Sprungiel gefunden, wird mit dem Befehl nach dem Sprungziel fortgefahren. Wird das Sprungzeil nicht gefunden, wird im Falle des Befehl gotoUp mit dem ersten Befehl des Makros fortgefahren, im Falle von gotoDown wird das Makro beendet.

Syntax:

label Sprungziel
gotoUp Sprungziel
gotoDown Sprungziel
Beispiel:
makro checkgoto
   text.insertLine('Start')

   label zurueck

   A := inputInt('Zahl eingeben')
   if A < 10
      gotoUp('zurueck')
   else
      if A < 20
         gotoDown('vor')
      endIf
   endIf

   text.insertLine('Hello')
   gotoDown('ende')

   label vor
   text.insertLine('World')

   label(ende)
endMakro
 


Aufruf und Beenden von Makros

Über die Befehle start und exit können Makros gestartet und beendet werden. Über start kann nur ein Makro aufgerufen werden, das in der gleichen Makrodatei definiert ist.

Syntax:

start Makroname
exit


Beispiele:

makro testB
   B := 5
   exit
   B := 10
endMakro

makro testA
   nonStop
   A$ := 'test'
   start(con(A$, 'B'))
   text.insertLine(intToStr(B))
endMakro
 
 


Sonstiges

Die folgende Tabelle enthält weitere Kommandos und Ausdrücke, die keinem der vorangegangenen Abschnitte zugeordnet werden können.
 
 
Kommando / Ausdruck Prototyp Erläuterung
showText showText Über das Kommando showText kann die Darstellung des aktuellen Textes aktualisiert werden.
exec exec(String, String, String) Erlaubt die Ausführung beliebiger Programme. Der erste String spezifiziert die auszuführende Datei, der zweite String spezifiziert Parameter, der Dritte String das Ausführungsverzeichnis.
nonStop nonStop Wird dieser Befehl angegeben, wird zur Laufzeit des Makros kein Button eingeblendet, der den Abbruch des Makros ermöglicht. Bei kurzen Makros kann dies einen signifikanten Laufzeitvorteil mit sich bringen. 
description description Zeichenkette Die Zeichenkette enthält eine kurze Beschreibung des Makros. Das Kommando wird während der Ausführung von Makros ignoriert; die Beschreibung dient der Anzeige in Menüs oder Auswahllisten, vgl. Sprachabhängige Makros.
true true Die stets ware Bedingung.
false false Die stets falsche Bedingung.
rem rem Zeichenkette Der Befehl rem leitet eine Kommentarzeile ein. 

Beispiele:

nonStop
if true
   showText
else
   rem Hier kommt man nie hin
endif

exec('ed42', 'hello.txt', 'c:\ed42')


Last Change: 27.10.2001
© Copyright by Stefan Brüning. All rights reserved