![]() |
Delphi-Version: 11 Alexandria
string auf ⨂ prüfen
Ich muss string prüfen, die mit dem Zeichen ⨂ beginnen. Obwohl meine Quellcodedatei auf UTF8 steht, kann sie dieses Zeichen nicht darstellen. Wie muss ich meine Abrage gestalten?
|
AW: string auf ⨂ prüfen
Delphi-Quellcode:
Klappt bei mir auf anhieb.
s: string;
begin s := '⨂ lalala'; if s.StartsWith('⨂') then ShowMessage('Jupp'); |
AW: string auf ⨂ prüfen
egal ob StartsStr oder string.StartsWith oder ......
.StartsWith(#$2A02) ![]() Aber per se gibt es keinen Grund, warum ⨂ im Text nicht funktionieren sollte, aber es kann gut sein, dass der Font im Editor dieses Zeichen nicht darstellen kann und es sich auch keine Ersatzfont findet. Egal ob es somit "unsichtbar", da sein muß es, wenn man das Zeichen richtig rein kopiert hat. |
AW: string auf ⨂ prüfen
Sollte das nicht auch klassisch mit
Delphi-Quellcode:
klappen?
s: string;
begin s := '⨂ lalala'; if Pos('⨂', s) = 1 then ShowMessage('Jupp'); |
AW: string auf ⨂ prüfen
Hatte das mit dem Font bereits im Visier, bekomme es aber nicht hin, dass Zeichen wird nicht dargestellt, es kommt ein Quadrad mit Fragezeichen.
Aber die Lösung mit dem #$2A02 funktioniert. Danke. |
AW: string auf ⨂ prüfen
Das ist eines der / das Ersatzzeichen, für Zeichen welche nicht dargestellt werden können, weil kein Glyph im Font vorhanden ist.
Oft wird da gern ein Glyph mit der Nummer genommen. Egal, da ist das "Zeichen" ja dennoch. @Alallart: Geht, aber warum nicht den Code so schreiben, dass er sagt was er wirklich macht? Abgesehn davon prüft StartsStr und StartsText wirklich nur den Anfang, während Pos sinnlos erstmal den ganzen String durchsucht, wenn das Zeichen nicht vorkommt. Ebenso Pos<>0 geht funktionell mehr in Richtung ContainsStr, nur dass Letzteres ebenfalls sagt was es macht. |
AW: string auf ⨂ prüfen
Der TE hat wohl die aktuelle Delphi Version. Da wird deine Lösung wohl klappen. In alten Delphi-Versionen ist String aber nur ein String.
|
AW: string auf ⨂ prüfen
Die WideStrUtils und den OLE-String, vom Windows (OleAuth), aka WideString gibt es auch dort.
Und auch die ![]() Ebenso auch der UTF8String, nur damals noch nicht überall mit automatischer Convertierung. Neu ist ja nur, dass auch die VCL und RTL als Unicode, sowie auch die WinAPI und Anderes standardmäßig auf Unicode. Sowie dass der String jetzt ein UnicodeString ist (ein LongString, so wie der auch alte AnsiString) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:30 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz