Über spezielle Optionen im Setze-Befehl kann ein Text durchsucht, verändert oder zerlegt werden. Als Ergebnis wird in der angegebenen Variablen der gewünschte Teil des Ausdruckes zurückgeliefert.
Wird ein Text in das Feld Suchen nach eingetragen, liefert die Funktion im Normalfall in der angegebenen Variablen 0 (Text nicht enthalten) oder die Position des Suchtextes (1-n) innerhalb des zu durchsuchenden Textes zurück. Die Groß-Kleinschreibung wird nur optional berücksichtigt. Wird zusätzlich ein Text in Ersetzen durch eingetragen, werden alle Vorkommnisse des zu suchenden in den zu ersetzenden Text ausgetauscht (Löschen des Teilstücks durch Angabe von [] im Ersetzen-Text).
Die Option Suchen von hinten sucht den Begriff rückwärts, findet also das letzte Vorkommen des Suchbegriffes.
Ist Groß-/Kleinschreibung aktiviert, wird beim Suchen die Groß-Kleinschreibung beachtet, sonst nicht.
Wird bei einer Suche eine Start-Position angegeben, beginnt die Suche an dieser Position im Text.
Textzerlegung bzw. Herausnehmen eines Textteils
Durch Angabe eines Trennzeichens oder einer Position im Text kann der Text aufgesplittet werden. Als Ergebnis kann dann je nach gewählter Textzerlegung der links bzw. rechts von dem gesuchten Zeichens bzw. der angegebenen Position stehende Textteil zurückgegeben werden.
links davon | liefert den Textteil links von der Trennposition |
rechts davon | liefert den Textteil rechts von der Trennposition |
Teilstück Nr. | liefert den durch die Trennzeichen begrenzten Teil des Textes. Hierdurch kann etwa ein Text, der aus mehreren mit dem angegebenen Trennzeichen oder Semikolon getrennten Teilen besteht, in die einzelnen Bestandteile zerlegt werden. Wird als Index ein negativer Wert angegeben, zählt dieser vom Ende der Liste an (-1 liefert das letzte Teil). Über die Angabe Max. Länge kann die maximale Länge des zu liefernden Ergebnisses bestimmt werden. |
Text zwischen Trennzeichen | sind 2 Zeichen in "Trennzeichen" angegeben, wird der erste Text zwischen diesen beiden Zeichen herausgeholt, etwa wenn Trennzeichen="()" der Inhalt der Klammern. Ist zusätzlich ein Eintrag unter "Ersetzen" vorhanden, wird nicht der eingefasste Begriff geliefert, sondern der Ursprungstext, bei dem der erste eingefasste Begriff ersetzt wurde. |
Liste der Teile | liefert eine Liste aller Teilstücke, die im Text zwischen Suchbegriff und Trennzeichen enthalten sind. Dies kann z.B. für die Ermittlung von Einträgen in einer XML-Liste verwendet werden, wenn diese zwischen <Teil> (Suchbegriff) und </Teil> (Trennzeichen) eingefasst sind. |
ganze Zeile | liefert die komplette Textzeile, in der die Trennposition liegt |
Zerlegung nach Bytedefinition | ermöglicht die Zerlegung einer binären Datenzeile anhand einer Byte-Definition, die unter Trennzeichen angegeben wird. Diese Definition gibt an, welchen binären Aufbau die Zeile hat und welche Datenteile herausgelesen werden sollen. Die resultierenden Daten werden als Liste zurückgeliefert. Mögliche Zeichen in diesem Definitionstext sind (Leerzeichen werden ignoriert und dienen der besseren Lesbarkeit): X: Datenteil, der zurückzugeben ist (Text oder Zahl). Dieser Text muss entweder mit einer vorangesetzten Länge definiert (siehe "L") oder mit einem 0-Zeichen abgeschlossen werden. L: Binäre Längenangabe für den folgenden Text. Je nach Größe dieser Längenangabe werden entsprechend viele "L"-Zeichen angegeben, also ein L = 1 Byte (1-255), LL = 16 Bit (1-65535) oder LLLL für 64 Bit. Hiernach muss dann ein X folgen. Zahl: zu überspringende Bytes (ignorieren) W: Wert mit der Anzahl Bytes entsprechend der Anzahl der W-Zeichen. Dahinter muss dann ein X folgen. FFFF oder FFFFFFFF (gefolgt von X) : 4- bzw. 8-Byte Fließkommawert (Single / Double) |
Hinweise:
- Bei Auswahl von "links davon" kann direkt eine Variable für den rechten Teil angegeben werden.
- Das mit Links, Rechts oder Teilstück ermittelte Teil des Textes kann wahlweise gegen den unter Ersetzen durch angegebenen Text ersetzt werden.
- Wird ein Suchbegriff und ein Trennzeichen angegeben, kann über die Funktion Teilstücks Nr die Nummer des Teilstücks ermittelt werden, das den Suchbegriff enthält. Ist bei Start eine Zahl eingetragen, bezeichnet diese die Nummer des ersten zu prüfenden Teilstücks.
Beispiel:
Setze in [NameWert]: 'MeinName=Meier'
Setze in [Name]: '[NameWert]' , Trenner '=', links davon, rechter Teil in [Wert]
Meldung 'Name: [Name]¶Wert: [Wert]', Titel 'Ergebnis', Buttons 'OK, Abbrechen', Symbol 'Information'
**cx5AR-LC AAAAAAABAC dUMsKwjAQv Av-Q1jBa_F qG0Gs3ipii x6kh9QudaF NS7qV-vemL _TkwUsyO8n ODOOFd0MVb -YzIbxdk3N jcJOi50x4e CiLQum07qf PLMY7elUoI US-KEMqyRH EhCQcVYFXN Az2t2bULCF A0h0tLUADw vlX90vzNvn EIHx6UopGg gQRVjnxodF 3plJLWPUSZ 8oefFLG7g3 RficIsK5VZ t0i4s56bzJ MNNWWwJaHK GvRJ4iXi9Z 37bF1O2XLj pkGB9vrp0r PGct_A05ur cyFAQAA=*
Bearbeitungs-Funktionen
Die Liste in der Eigenschaft Funktion bietet eine Reihe Möglichkeiten, den Text zu verarbeiten bzw. auszuwerten:
- Codieren in HEX (Text) | wandelt den Text in eine Reihe von zweistelligen, hexadezimalen Zahlen um. |
- Decodieren aus HEX | decodiert eine Zeichenkette mit der hexadezimalen Darstellung des Inhalts. Hierbei ist die Auswertung als Text oder auch binär möglich Wird jeweils ein Hex-Trennzeichen angegeben, wird dieses zwischen die einzelnen zweistelligen Zahlen gesetzt bzw. für die Decodierung ignoriert. |
- Länge ermitteln | liefert die Länge des Ergebnisses zurück |
- Suchbegriffe zählen | liefert die Anzahl der Vorkommnisse des Suchbegriffs im Ergebnis zurück |
- sortieren | sortiert das Ergebnis (Trennzeichen für Teilstücke siehe oben) |
- numerisch sortieren | sortiert ebenfalls, jedoch numerisch |
- Vergleichen | vergleicht Text und Suchbegriff (Groß-/Kleinschreibung je nach entsprechender Option) Ergebnis: -1: Text<Suchbegriff, 0: Text=Suchbegriff, 1: Text>Suchbegriff Siehe auch: Nachbearbeitung, Bedingungen |
- Testen auf Maske | vergleicht den Text mit dem Suchbegriff, wobei Wildcards (*, ?) möglich sind; Ergebnis 1 bei Gleichheit |
- Abweichung suchen | liefert die Zeichennummer der ersten Abweichung zwischen Text und Suchtext (auch abhängig von Einstellung Groß-/Kleinschreibung beachten) |
- Verschlüsseln
- Entschlüsseln | Die Optionen Verschlüsseln bzw. Entschlüsseln verschlüsseln/entschlüsseln den übergebenen Text (verwendet starke Verschlüsselung nach internationalen Spezifikationen). Wahlweise kann zudem noch ein Schlüssel angegeben werden, der beim Ver- und entschlüsseln übereinstimmen muss. Hinweis: Bei der Verschlüsselung werden binäre Daten geliefert. Hinweis: Die Verschlüsselung ist sicherer als in cX4 und daher nicht damit kompatibel. |
- Codieren in Base64 | Wandelt den Text in das Base64-Format um (siehe auch Code-Platzhalter) |
- Decodieren aus Base64 | Wandelt den gegebenen Base64-Text in normalen Text um Hinweis: Die Codierung von Bildinhalten per Bild-Platzhalter codiert cX-eigene Binärdaten der Bilder und kann nicht hiermit kombiniert werden. |
- CRC32 berechnen | berechnet die CRC32-Prüfsumme für den Text |
- Codieren in HEX (binär) | codiert den Binärstring in eine hexadezimale Bytefolge |
- Suchbegriff am Ende entfernen
entfernt den im Suchbegriff angegebenen Begriff bzw. das Zeichen vom Textende (z.B. ; oder , bei Listen)
- Umsortieren | sortiert die Teile der Liste im Text (bzw. jede Zeile - siehe "Als Liste bearbeiten") nach den Indices in Schlüssel um. Indexangaben können auch als Platzhalter angegeben werden. In geschweiften Klammern {n} mit n=1...Anzahl Listeneinträge setzt den entsprechenden Listeneintrag an der Stelle als Index ein. Dies kann etwa in Bedingungen genutzt werden, z.B. [cX.Wenn({3}>0;+;-)]. Der Ausdruck "=X" setzt X an der Stelle ein (was auch Zahlen ermöglicht, die sonst ja als Index interpretiert würden). Ist eine Indexangabe nicht numerisch oder ist kleiner als 1 oder größer als die Anzahl Listeneinträge, wird der Index selbst eingefügt. |
- Suche nach Begriffen | Prüft, ob der Text einen oder mehrere Begriffe enthält, die als Liste unter "Suchbegriff" stehen. Wird unter "Maximale Länge" eine Zahl angegeben, muss diese Anzahl an Suchbegriffen im Text vorkommen (max. Anzahl Einträge in "Suchbegriff"), sonst reicht einer. |
- RegExp: Ersetzen | ersetzt Teile im Text nach der im Suchbegriff angegebenen Regular Expression-Ersetzungsregel (Regulärer Ausdruck) gegen den Ersetzungstext |
- RegExp: Trefferliste | liefert die Einträge, die der im Suchbegriff angegeben Regular Expression entspricht |
Listenbearbeitung:
Die Option Als Liste bearbeiten erweitert die Einsatzmöglichkeit des Befehls für Listen enorm. Hierdurch kann eine Liste Zeile für Zeile mit den eingestellten Optionen bearbeitet oder mit einer zweiten Liste zusammengeführt werden. Auf diese Weise kann etwa eine Liste mit zusammengesetzten Begriffen auf einen Schlag bearbeitet werden, etwa um Teile aus den Zeilen zu entfernen.
Bei den folgenden Beispielskripten erhalten Sie als Anzeige immer eine Meldungsbox die Ihnen das Ergebnis der Bearbeitungsfunktion anzeigt. Das Ergebnis wird dabei als Text in Fettschrift dargestellt.
Beispiel "Suchen von":
Setze 'Ananas' in [Ergebnis] (Suche nach 'a') Meldung "Ergebnis: [Ergebnis]" (Titel: 'Info', 'OK') |
In dem Wort "Ananas" suchen wir nach dem Buchstaben "a". Als Ergebnis dieser Suche erhalten wir eine Meldung mit dem Ergebnis "1", weil der Buchstabe "a" an erster Stelle steht.
Beispiel: "Ersetzen durch":
Setze 'Ananas' in [Ergebnis] (Suche nach 'a', Ersetzen gegen 'o') Meldung "Ergebnis: [Ergebnis]" (Titel: 'Info', 'OK') |
In dem "Ananas" sollen alle "a" durch "o" ersetzt werden.
Als Ergebnis dieser Funktion erhalten wir: "ononos"
Beispiel "Text zerlegen":
Setze 'Ananas;Banane' in [Ergebnis] (Trennzeichen ';', Rechter Teil) Meldung "Ergebnis: [Ergebnis]" (Titel: 'Info', 'OK') |
Zu dem Wort "Ananas" haben wir noch das Wort "Banane" hinzugefügt. Beide Worte werden durch ein Semikolon ";" getrennt. Als Trennzeichen wurde bei dem Setze-Befehl das Semikolon angegeben und die Option "Rechts davon".
Als Ergebnis erhalten wir: "Banane"
Beispiel "Nachbearbeiten":
Setze '"Ananas"' in [Ergebnis] (Anführungszeichen entfernen) Meldung "Ergebnis: [Ergebnis]" (Titel: 'Info', 'OK') |
Das Wort "Ananas" wurde in Anführungszeichen gesetzt. Diese Anführungszeichen werden durch die Funktion "Anführungszeichen entfernen" entfernt und als Ergebnis erhalten wir das Wort ohne Anführungszeichen: Ananas
Beispiel "Codieren in Hex":
Setze 'Ananas' in [Ergebnis] (Codieren in Hex) Meldung "Ergebnis: [Ergebnis]" (Titel: 'Info', 'OK') |
Wer schon immer einmal wissen wollte wie das Wort "Ananas" in Hex geschrieben wird, sollte dieses Beispiel ausprobieren.
Als Ergebnis erhalten wir: 416E616E6173
Wer diesem Ergebnis nicht traut, kann gerne die Hexzahl mit der Funktion "Decodieren aus Hex" in "lesbare" Zeichen zurückwandeln:
Beispiel "Decodieren aus Hex":
Setze '416E616E6173' in [Ergebnis] (Decodieren aus Hex) Meldung "Ergebnis: [Ergebnis]" (Titel: 'Info', 'OK') |
Als Ergebnis erhalten wir wieder: Ananas
Beispiel "Verschlüsseln":
Setze 'Ananas' in [Ergebnis] (Verschlüsseln) Meldung "Ergebnis: [Ergebnis]" (Titel: 'Info', 'OK') |
Als Ergebnis erhalten wir: ÞÑöñöä
Wenn Sie testen wollen ob diese Zeichenfolge tatsächlich das Wort "Ananas" darstellt, können Sie das folgende Beispiel ausführen. Da die Zeichenfolge aus dem "Verschlüsseln-Beispiel" über die Tastatur schwierig einzugeben ist, haben wir einfach die Variable [Ereignis] eingesetzt die ja diese Zeichenfolge enthält:
Beispiel "Entschlüsseln":
Setze '[Ergebnis]' in [Ergebnis] (Entschlüsseln) Meldung "Ergebnis: [Ergebnis]" (Titel: 'Info', 'OK') |
Als Ergebnis erhalten wir: Ananas
Beispiel "Länge ermitteln":
Setze 'Ananas' in [Ergebnis] (Länge ermitteln) Meldung "Ergebnis: [Ergebnis]" (Titel: 'Info', 'OK') |
Da das Wort "Ananas" 6 Buchstaben lang ist, erhalten wir als Ergebnis: 6
Beispiel "Suchebgriffe zählen":
Setze 'Ananas' in [Ergebnis] (Suche nach 'a', Suchtext zählen) Meldung "Ergebnis: [Ergebnis]" (Titel: 'Info', 'OK') |
Wenn wir in "Ananas" alle "a" suchen und zählen lassen, erhalten wir als Ergebnis: 3
Beispiel "Sortieren":
Setze 'b;a;c' in [Ergebnis] (Trennzeichen ';', sortieren) Meldung "Ergebnis: [Ergebnis]" (Titel: 'Info', 'OK') |
Als Beispiel haben wir die Buchstaben "abc" durch ein Semikolon voneinander getrennt und unsortiert eingegeben "b;c;a".
Als Ergebnis der Sortierung erhalten wir: a;b;c
Beispiel "Vergleichen":
Setze 'A' in [Ergebnis] (Suche nach 'a', vergleichen) Meldung "Ergebnis: [Ergebnis]" (Titel: 'Info', 'OK') |
Da der ASCII-Wert des Zeichens "A" = 065 und der von "a" = 097, also größer als der Wert von "A" ist, erhalten wir als Ergebnis: -1
cX-Webseite: http://www.clickexe.net