Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Verständnisfrage AnsiSameText und SameText (https://www.delphipraxis.net/193859-verstaendnisfrage-ansisametext-und-sametext.html)

Glados 16. Sep 2017 10:51

Verständnisfrage AnsiSameText und SameText
 
Ich lese gerade, dass AnsiSameText im Gegensatz zu SameText die eingestellte "Locale" vom System berücksichtigt.
Beide ignorieren Groß- und Kleinschreibung.

Was genau bedeutet dieser Unterschied mit der Locale?

Stevie 16. Sep 2017 12:07

AW: Verständnisfrage AnsiSameText und SameText
 
Der Hilfetext ist einfach nur die verschwurbelt formulierte Version von: SameText vergleicht nur a-z uppercase/lowercase und AnsiSameText alle Zeichen.

Beispiel:
Delphi-Quellcode:
var
  s1, s2: string;
begin
  s1 := 'àèìòù';
  s2 := 'ÀÈÌÒÙ';
  Writeln(SameText(s1, s2));
  Writeln(AnsiSameText(s1, s2));
end.

Glados 16. Sep 2017 12:15

AW: Verständnisfrage AnsiSameText und SameText
 
AnsiSameText ist also die bessere Wahl, wenn man nicht nur 0-1 und a-z hat sondern auch UTF-8-Zeichen?

Stevie 16. Sep 2017 14:34

AW: Verständnisfrage AnsiSameText und SameText
 
Zitat:

Zitat von Glados (Beitrag 1381339)
AnsiSameText ist also die bessere Wahl, wenn man nicht nur 0-1 und a-z hat sondern auch UTF-8-Zeichen?

Genau

himitsu 17. Sep 2017 01:19

AW: Verständnisfrage AnsiSameText und SameText
 
Komm blos nicht auf die Idee WideSameText zu verwenden, auch wenn es logischer klingt, wenn man ein Unicode-Delphi verwendet. (ab Delphi 2009)

Grundsätzlich war es "früher" so: (vor 2009)
* SameText war die "schnelle" ASCII-Version
* AnsiSameText die langsamere ANSI-Version
* WideSameText die entsprechende Unicode-Version

ABER man kam im Jahre 2009 auf die geniale (manche nennen es saublöde Idee), dass man alle "neuen" Unicode-Versionen ebenfalls ANSI nenn, auch wenn sie Unicode sind.
Wobei aber WideXxxXxx = WideString
und AnsiXxxXxx = AnsiString und UnicodeString

Es kommt aber auch darauf an, welche Units man eingebunden hat, denn nicht immer sind die beiden Varianten (ANSI und Unicode) solcher Funktionen in der selben Unit, aber da meckert euch dann der Compiler an, vonwegen Typumwandlung und Datenverlus.

Es gibt ein paar Funktionen dieser Units, die aber aus der Reihe tanzen, wo die Namen ohne ANSI/Wide ebenfalls ANSI-Versionen sind.

Glados 17. Sep 2017 10:40

AW: Verständnisfrage AnsiSameText und SameText
 
Wieso wurden dann nicht einfach Aliase eingebunden statt das nun so unnötig kompliziert und undurchschaubar zu machen?

Stevie 17. Sep 2017 22:43

AW: Verständnisfrage AnsiSameText und SameText
 
Zitat:

Zitat von Glados (Beitrag 1381382)
Wieso wurden dann nicht einfach Aliase eingebunden statt das nun so unnötig kompliziert und undurchschaubar zu machen?

Weil man in Delphi Routinen nicht aliasen kann.


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:00 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz