![]() |
Re: Strings vergleichen
Habe es nun so gelöst.
Delphi-Quellcode:
(pos(AnsiUpperCase(EditSearchFast.Text), AnsiUpperCase(Customer.company_name))>0)
|
Re: Strings vergleichen
Etwas Anderes tut AnsiContainsText aber auch nicht (zumindest im Ergebnis). Aber wenn es nun geht, ist ja alles gut :zwinker:
|
Re: Strings vergleichen
Zitat:
|
Re: Strings vergleichen
Zitat:
Aber mit dem Workaround würde es gehen, auch wenn das vom Code her vielleicht nicht ganz so schön ist. |
Re: Strings vergleichen
Ich nutze auch vor der Verwendung von Pos() ein UpperCase() bzw. LowerCase:
Delphi-Quellcode:
Und sollte man nicht auf die Verwendung der ANSI Funktionen hinsichtlich Delphi 2009 und Unicode Strings verzichten?
Column := TVirtualStringTree(Sender).Header.Columns.GetFirstVisibleColumn();
while (Column <> InvalidColumn) do begin NodeText := UpperCase(TVirtualStringTree(Sender).Text[Node, Column]); bFoundText := (Pos(SearchString, NodeText) > 0); if bFoundText then Break; Column := TVirtualStringTree(Sender).Header.Columns.GetNextVisibleColumn(column); end; Sender.IsVisible[Node] := bFoundText; |
Re: Strings vergleichen
Ich hab zwar kein D2009, aber dort heißen die Funktionen m.W.n. zwar noch so, aber sind unicodefähig. Falls das nicht stimmen sollte, bitte ich einen Kundigen um Berichtigung.
|
Re: Strings vergleichen
AnsiUpperCase ist in Delphi2009 nicht Ansi, sondern Unicode.
also kein Problen, aber dafür nur etwas verwirrend :angel2: man kann auch WideUpperCase verwenden, aber dieses arbeitet mit WideString, wärend AnsiUpperCase in D2009 aus UnicodeString basiert. |
Re: Strings vergleichen
Kleiner Nachtrag:
AnsiStrings.AnsiUpperCase --> AnsiUpperCase wandelt alle Zeichen im gegebenen AnsiString in Großbuchstaben um. Im Gegensatz zu UpperCase wird bei der Umwandlung die aktuelle Gebietseinstellung des Benutzers verwendet. SysUtils.AnsiUpperCase --> AnsiUpperCase gibt eine Kopie des in S angegebenen Strings in einem groß geschriebenen String zurück. Bei der Konvertierung wird das aktuelle Gebietsschema berücksichtigt. Diese Funktion unterstützt Multibyte-Zeichensätze (MBCS). |
Re: Strings vergleichen
Da ist aber wieder "Ansi" im Namen :lol: (Spaß muss sein *g*)
|
Re: Strings vergleichen
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:34 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