Beim Lesen eines Platzhalters mit [Platzhaltername] kann auch direkt eine Nachbearbeitung angegeben werden, deren Ergebnis dann verwendet wird.
Eine solche Anweisung wird hinter dem Variablennamen mit einem Doppelpunkt getrennt, wobei die Groß-/Kleinschreibung keine Rolle spielt.
Auch beim Schreiben können solche Anweisungen verwendet werden - siehe unten.
Ist im Ausdruck ein Formatierungszeichen § enthalten, erfolgt keine Nachbearbeitung.
Soll im Variablennamen ein $ verwendet werden, muss dieses vor dem Doppelpunkt stehen.
Um etwa den Variableninhalt in Kleinbuchstaben zu erhalten, braucht nur angegeben werden
[Platzhaltername:Klein].
Es können auch mehrere Nachbearbeitungs-Funktionen hintereinander gesetzt werden, etwa [Variable:Links(5):Groß].
Hinweis: In der Platzhalter-Auswahl (F6) wird auf Wunsch eine Liste der möglichen Funktionen angezeigt (Symbol "A:X") und bei Anwahl direkt eingesetzt.
Es stehen eine ganze Reihe solcher Anweisungen zur Verfügung:
:Klein | Inhalt in Kleinbuchstaben umwandeln. |
:Groß | Inhalt in Großbuchstaben (auch :Gross) |
:Trimm(z) | Nicht lesbare Zeichen (Leerzeichen, Tabulatoren oder Zeilenumbrüche) an Anfang und Ende entfernen. Wird optional z angegeben, werden nur Zeichen mit dem Code z entfernt (für z siehe auch cX.ASCII oder Tastencode-Anzeige). |
:TrimmL(z) | Trimmen wie oben, aber nur am Anfang (links) |
:TrimmR(z) | Trimmen wie oben, aber nur am Ende (rechts) |
:Kürzen(n) | Ist der Text länger als n Zeichen, wird beim letzten Wort darin abgeschnitten und "..." angehängt (siehe [cX.Kürzen(n)]). |
:LinksBis(X) | Liefert den Anfang des Inhalts bis vor dem/den Zeichen X |
:RechtsNach(X) | Liefert das Ende des Inhalts hinter dem/den Zeichen X |
:InKlammern | liefert den Inhalt des ersten Klammerpaares, also "X" aus "A(X)". Optional können auch alternative Klammerzeichen angegeben werden, etwa :InKlammern(<>) oder ({}). |
:Hex | Liefert den Wert des Inhalts als Hexadezimalzahl |
:AusHex | Liefert den dezimalen Wert der Hexadezimalzahl |
:Links(n) | Liefert die ersten n Zeichen des Inhalts. Ist n negativ, werden die Anzahl Zeichen am Ende entfernt. |
:Rechts(n) | Liefert die letzten n Zeichen des Inhalts. Ist n negativ, werden die Anzahl Zeichen am Anfang entfernt. |
:Mitte(n;l) | Liefert einen Teil des Inhalts ab Position n mit der (optionalen) Länge l. Ist keine Länge angegeben, wird der gesamte Rest geliefert. |
:Leer(X) | Liefert X, wenn der Inhalt leer ist. |
:Länge | Liefert die Länge des Inhalts. |
:Ersetze | :Ersetze(Alt;Neu) ersetzt den Ausdruck 'Alt' gegen 'Neu' |
:Füllen(n;z) | Inhalt am Ende mit Punkten auf n Zeichen auffüllen, wenn er kürzer ist. Ist n negativ, wird vorne aufgefüllt. Wird optional z angegeben, wird mit dem Zeichen mit dem Code z aufgefüllt (z.B. 32 für Leerzeichen). Wird z mit einem " begonnen, wird das folgende Zeichen als Füllzeichen verwendet, z.B. [A:Füllen(8;"x)] |
:Index(X) | Liefert den Index des Begriffs X innerhalb des Variableninhalts oder 0, wenn nicht gefunden (Groß-/Kleinschreibung wird berücksichtigt) |
:LetzterIndexVon(X) | liefert Index 1..n der letzten Fundstelle (0=nicht gefunden) |
:Rechne | Berechnen des Ergebnisses. |
:Vergleiche(Variable2) | Vergleicht den Textinhalt (Var2) mit dem der angegebenen Variable. Das Ergebnis ist -1: Text<Var2, 0: Text=Var2, 1: Text>Var2 Der Vergleich berücksichtigt die Groß-/Kleinschreibung (kann mit :Klein kombiniert werden) und ist die effektivste Art des Variablenvergleichs. |
:Zelle(Zeile;Spalte) | Liefert die angegebene Zelle aus einer 2D-Liste. Ist Zeile oder Spalte leer, wird die ganze Spalte bzw. Zeile geliefert. |
Bei Variablen mit Pfadangaben (Verzeichnis\Datei) können auch Verzeichnis oder Dateiname direkt extrahiert werden:
:Pfad | Verzeichnisname |
:Datei | Dateiname |
In der Pro-Lizenz werden zusätzlich folgende Bearbeitungsfunktionen angeboten:
:CRC32 | CRC32-Wert |
:Base64 | In Base64 codieren |
:AusBase64 | Aus Base64 decodieren |
:Teil(n) | Enthält die Variable eine Liste, wird nur deren Teil n geliefert. Ist n negativ, wird von hinten gezählt, also liefert :Teil(-1) das letzte Teil der Liste. |
:Log | Variablenname und Wert in das Protokoll eintragen. |
Beispiel-Skript:
In diesem Beispiel-Skript werden die verschiedenen Nachbearbeitungs-Funktionen demonstriert, was nach Ablauf gut in der Variablenliste zu sehen ist.
Hinweis: :CRC32 erfordert die Pro-Lizenz und sollten ohne diese hier entfernt werden..
*** Variablen-Nachbereitung beim Lesen
Setze in [a]: ' Test' *** Zeichen an Anfang/Ende entfernen Setze in [trim]: '[a:trimm]' Setze in [a1]: '--Test---' Setze in [trimA145]: '[a1:trimm( 45)]' Setze in [triml]: '[a1:trimml(45)]'
*** Groß-/Kleinschreibung Setze in [ucase]: '[a:groß]' Setze in [ucase]: '[cX.Benutzername:Groß]' Setze in [lcase]: '[a:klein]'
*** Teil des Ergebnisses Setze in [left]: '[a:links(3)]' Setze in [left-2]: '[a:links(-2)]' Setze in [right]: '[a:rechts(3)]' Setze in [mid]: '[a:mitte(3; 2)]' Setze in [midRest]: '[a:mitte(3)]'
*** Auf Länge ergänzen Setze in [pad]: '[a:füllen(8;45)]'
*** Base64 Setze in [base64]: '[a:base64]' Setze in [frombase64]: '[base64:AusBase64]'
*** Checksumme Setze in [crc32]: '[a:crc32]' *** Länge Setze in [len]: '[a:Länge]'
*** Mehrere Nachbearbeitungen auf einmal Setze in [multi]: '[a:Klein:Trimm:Füllen(10)]'
*** Listeneintrag Setze in [b]: 'Test1;Test2;Test3' Setze in [part]: '[b:teil(3)]'
*** Pfad zerlegen Setze in [c]: 'c:\Temp\Test.txt' Setze in [path]: '[c:pfad]' Setze in [file]: '[c:datei]'
*** Berechnen Setze in [d]: '1+2+3' Setze in [calc]: '[d:rechne]' Setze in [calc]: '["1+2+3":rechne]'
*** Name=Wert in Debug-Protokoll eintragen Setze in [log]: '[d:log]'
Meldung 'Die Ergebnisse können unten in der Variablenliste eingesehen werden.', Titel 'Fertig', Buttons 'Nur OK', Symbol 'Information' |
**cx5AR-LC AAAAAAABAC 1l81u00AQg O9IvMPKBxR UuSE_RchJK iX9E6ItFbU A0XJY2xNnl fU67K5F25f hwjNw4pYXY zZ2qO22pGy Ti2OvnZlvZ udv--ehZDO 9-_wZIf29j OtMwm4E_eb yPn-RJgkVk Vo83T6T4te _nsHAMQ8gt EN8uNID5yO VjAYchHtKw 0kAEpjOREw CYAk5BgXCI c1_CjxIZvp 61UfnoJeaH LK8GzjUwc- ERp6BAVJ6l Zwa_Rdg4QQ EoYIMxZiKu HkgIiD4xRi kWM3-AJaWL CmRXVDPrCR fba1slYS5r rHTdd0nsA1 b3Z0KXysHb JDuzktbSiO B3yeVNx4j9 VFhUNu-I5n Of7jNdxyYU OEEYy_A2LP kz0KqoLprs ZGP5G9VoRi i9xm-8mUG6 9ISft4egcj 0DQYcTcA7K nRaSed3bZg a52zE-z4wT iJQ5EDGEAi mFChbbhjrK jZnYqoaHet oNBLd9n0y3 ba1UMniSY1 TQjjRTwFNW FSVmDCtodH pEXtOlPlhU QzvkbuZTBx mY3I8_yliL J4yxpsb6-I 5ozWHjOe_O TaYxpvepur ICLPmddeSN yj-XEbO12y 3byzT5K7Uf MUbZmr0OOk 2ntibQDhVG a5Zsocy7NT SbrG0krYGk geTdfKLKkI ubSMeOwHsO xJIPv5QGeQ DkBkqMCew9 iaU26YxDme sasii1Xm-a aveYZEXrVe byYpjplAv6 tOS2jbVoIR v5pZWz1zbi 2vHukDISmk LPI2daFOV7 WxMI4LNmUN sXdLCEm7oX fqQzC6NB7b 11cqJ9UEn6 ElljPBmCGp dcRivDiVeR NGpmym2YHq m_XBd7g6tr faWbRiFlJf 35SLycq71z nt1LS--Zan uLbjz21ut6 3f1KQ6Ug08 gNWGC7EOQx e6ZTHU6TTk nRWJb7wNP4 6r7cGE9Vpy AUtQUf59po -kQLWDx0qh 9BqWJk0znv wQGE8kMCDG GRiD_Ygpui pixNcazqDn qfQcZgdh2y CjTOhUKg-i _oPHMfHtM7 jeLg_UfHi5 O12EPAAA== *
Beim Schreiben einer Variablen kann ebenfalls durch eine Anweisung nach einem : bewirkt werden, dass die Variable nicht komplett mit dem neuen Inhalt, sondern nur teilweise befüllt wird. Folgende Anweisungen sind hierbei möglich:
:LinksBis(X) | Der Anfang des Inhalts bis zu dem/den Zeichen X wird überschrieben |
:RechtsBis(X) | Das Ende des Inhalts ab dem/den Zeichen X wird überschrieben |
:Links(n) | Die ersten n Zeichen des Inhalts werden überschrieben. Ist n negativ, werden die Anzahl Zeichen am Ende beibehalten. |
:Rechts(n) | Die letzten n Zeichen des Inhalts werden überschrieben. Ist n negativ, werden die Anzahl Zeichen am Anfang beibehalten. |
:Mitte(n;l) | Tauscht einen Teil des Inhalts ab Position n mit der (optionalen) Länge l gegen den neuen Inhalt. |
:Ersetze(X) | Ersetzt den Ausdruck X im Variableninhalt gegen den neuen Inhalt. |
:Leer(X) | Setzt X, wenn der Inhalt leer ist. |
:Pfad | Nur der Verzeichnisname einer vorhandenen Pfadangabe wird ausgetauscht |
:Datei | Nur der Dateiname einer vorhandenen Pfadangabe wird ausgetauscht |
Beispiel-Skript:
In diesem Beispiel-Skript werden die verschiedenen Funktionen beim Schreiben demonstriert, wobei die zu probierende Funktion einkommentiert werden muss:
*** Nachbearbeitung beim Setzen
Setze in [a]: 'abcde'
*** links bis "c" austauschen
( Setze in [a:LinksBis(c)]: 'XYZ'
*** linke 2 Zeichen austauschen
( Setze in [a:Links(2)]: 'XYZ'
*** rechte 2 Zeichen austauschen
( Setze in [a:Rechts(2)]: 'XYZ'
*** 2 Zeichen an Position 3 austauschen
Setze in [a:Mitte(3;2)]: 'XYZ'
Setze in [p]: 'c:\Test1\Test2\Test.txt'
*** Pfad austauschen
( Setze in [p:Pfad]: 'c:\X1\X2'
*** Dateinamen austauschen
Setze in [p:Datei]: 'bla.bmp'
Setze in [r]: 'abcde'
*** Zeichen austauschen
Setze in [r:Ersetze(cd)]: 'CD'
**cx5AR-LC AAAAAAABAC 1lU1PwzAMh u9I_AcrB1Q um9bdum4Ht h2Q-JhYhcq 0S5oaFtGmJ XGljV9P2m2 sgGAC2kNiO 4nePMqH7c- FljmNTk8A_ HGRUKFxFKP f3fvbiSxNu YpNFR1i2Nl gk-OQlQEqY hDgmobshot VhFxHKKlQT 2BtCnOkV1Q Muj8qTdOcN scWWal7riW PEmSw94aMM 7tMkQWxfiR iPKbzCTuR6 tlAJA2cvRQ ZDcTWAPDCk G1idZz_OzT vqhS_kMYR5 zXM8GHB4NL sQDC-Lexgo Iu_oCO4sEB ZUjZH7Lht4 GoUK2qa964 UbQn4nZQrm GVGkswU9Bv BvpZE6PQHX 7nb-yl5bSv hLQM01Kt6t -o7tKZfHtD skccNHEful UIf6cLeMnQ bucUJJ5SKp 408uNyr5Gq sUcI7UZq3e XH6nymuuf- mvak2ZUp3R Fx_uePJXtA WkkPt8Lu7a vMG5xYsdHY GAAA==*
cX-Webseite: http://www.clickexe.net