Navigation: Befehlsübersicht > Setze >

Text bearbeiten/zerlegen

Diese Seite drucken
Vorherige Seite Nächste Seite
Zurück zur Kapitelübersicht

Ü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 davonliefert den Textteil links von der Trennposition
rechts davonliefert 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 Trennzeichensind 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 Teileliefert 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 Zeileliefert 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 HEXdecodiert 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 ermittelnliefert die Länge des Ergebnisses zurück
- Suchbegriffe zählenliefert die Anzahl der Vorkommnisse des Suchbegriffs im Ergebnis zurück
- sortierensortiert das Ergebnis (Trennzeichen für Teilstücke siehe oben)
- numerisch sortierensortiert ebenfalls, jedoch numerisch
- Vergleichenvergleicht 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 Maskevergleicht den Text mit dem Suchbegriff, wobei Wildcards (*, ?) möglich sind; Ergebnis 1 bei Gleichheit
- Abweichung suchenliefert die Zeichennummer der ersten Abweichung zwischen Text und Suchtext (auch abhängig von Einstellung Groß-/Kleinschreibung beachten)

 

- Verschlüsseln

- EntschlüsselnDie 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 Base64Wandelt den Text in das Base64-Format um (siehe auch Code-Platzhalter)
- Decodieren aus Base64Wandelt 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 berechnenberechnet 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)

- Umsortierensortiert 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 BegriffenPrü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: Ersetzenersetzt Teile im Text nach der im Suchbegriff angegebenen Regular Expression-Ersetzungsregel (Regulärer Ausdruck) gegen den Ersetzungstext
- RegExp: Trefferlisteliefert 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

 


 

Setze

Rechnen

Nachbearbeitung

 

 


cX-Webseite: http://www.clickexe.net