Arbeiten mit Unicode-Strings in Delphi 7

7

Ich muss ein Programm schreiben, das Strings verschiedener Länge durchblättert und nur diejenigen auswählt, die mit Symbolen aus dem von mir definierten Satz geschrieben sind (insbesondere japanische Buchstaben). Strings enthalten Wörter in verschiedenen Sprachen (Deutsch, Französisch, Arabisch, Russisch, Englisch usw.). Offensichtlich gibt es eine große Anzahl von möglichen Zeichen. Ich weiß nicht, welche Struktur dafür zu verwenden ist? Ich verwende gerade Delphi 7. Kann jemand vorschlagen, wie man solches Programm schreibt?

    
Tofig Hasanov 17.02.2010, 14:00
quelle

3 Antworten

12

Offensichtlich würden Sie mit Delphi 2010 besser dran sein, da die VCL in Delphi 7 keine Unicode-Strings kennt. Sie können WideString-Typen und WideChar-Typen in Delphi 7 verwenden und Sie können einen Komponentensatz wie die TNT-Unicode-Komponenten installieren, um Ihnen beim Erstellen einer Benutzeroberfläche zu helfen, die Ihre Ergebnisse anzeigen kann.

Bei einem sehr großen Typ sollten Sie ein Bit-Array wie TBits verwenden. Ein Bit-Array der Länge 65536 würde ausreichen, um jeden UTF-16-Codepunkt zu enthalten. Überprüfen, ob Char X in Set Y ist, wäre im Grunde:

%Vor%     
Warren P 17.02.2010, 14:15
quelle
5

Für die einfache Verarbeitung von Zeichenfolgen in der von Ihnen beschriebenen Weise sollten Sie nicht durch Vorschläge davon abgehalten werden, auf den neuesten Compiler und das Unicode-aktivierte Framework zu aktualisieren. Die Unicode-Unterstützung selbst wird natürlich von der zugrunde liegenden Windows-API bereitgestellt, die natürlich (direkt) von "Nicht-Unicode" -Versionen von Delphi ebenso wie von "Unicode-Versionen" zugänglich ist.

Ich vermute, dass die meisten, wenn nicht die gesamte Unicode-Unterstützung, die Sie für die in Ihrer Frage beschriebenen Zwecke benötigen, von der Unicode-Unterstützung in die JEDI JCL .

Für jede visuelle Komponente Unterstützung benötigen Sie möglicherweise die TNT-Steuerelement hat die Berufung frei sein.

    
Deltics 17.02.2010 19:37
quelle
5

Ich empfehle auch, zu Delphi 2010 zu wechseln (warum sollte man sich nicht mehr mit 2009 beschäftigen?)!

Wenn Sie in dem unwahrscheinlichen Fall, dass Sie an Delphi 7 hängen bleiben, die Unicode-Bibliothek von Mike Lischke kann etwas hilfreich sein.

    
Uwe Raabe 17.02.2010 14:39
quelle