Vergleich zweier char*-Strings.
Vergleich zweier char*-Strings. Alpha-numerischer Vergleich zweier Strings.
Der Text eines leeren Textplatzhalters ist nicht leer sondern ein unsichtbares Leerzeichen (<0x200B>). (Ein Platzhalter kann keinen leeren Text enthalten, dann wäre auch der Platzhalter weg.)
Das showmessage im folgenden Skripttext wird also nie erreicht :
textmodel::get (docText);
if (strcmp (string::get (docText), "") == 0)
{
showmessage ("Leer");
}
Der Dokumenttext muss in dieser Situation gegen das unsichtbare Leerzeichen (UTF8 = E2 80 8B, Unicode = 200B) geprüft werden :
textmodel::get (docText);
if (strcmp (strcmp (string::get (docText), "\xE2\x80\x8B") == 0)
{
showmessage ("Leer");
}
Verwenden Sie für das Abholen des Dokumenttextes ein TaggedText-Format, wird das unsichtbare Leerzeichen Unicode-codiert :
textmodel::get (docText, ..., kExportTT);
if (strcmp (strcmp (string::get (docText), "<0x200B>") == 0)
{
showmessage ("Leer");
}
Zum Vergleich der "Netto"-Strings können die Funktion auch mit netWeight = 1 verwenden.
Name | Typ | Default | Beschreibung |
Return | int | < 0 : s1 < s2 | |
Return | int | = 0 : s1 == s2 | |
Return | int | > 0 : s1 > s2 | |
s1, s2 | char*, char* | -, - | char*-Strings, die verglichen werden sollen. |
netWeight | int | 0 | "Netto"inhalte der Strings vergleichen. Die Netto-Werte der Strings werden wie folgt berechnet :
|
Alphabetic index HTML hierarchy of classes or Java