![]() |
Implizite Umwandlung string zu ansistring
Um mir doppelten Code zu ersparen, greife ich bei einem Problem auf fertigen Code von Delphi zurück.
Soweit ich weiß gibt es doch von fast allem string und ansistring-Versionen, je nachdem was man reinbgibt wird entschieden was genommen wird. Ich nutze System.AnsiStrings.RightStr(filename, 1) <> '\' und übergebe einen string. Leider bekomme ich dennoch die Warnung Implizite String-Umwandlung mit potenziellem Datenverlust von 'string' zu 'AnsiString'. Was mache ich falsch? |
AW: Implizite Umwandlung string zu ansistring
Es hat einen Grund, warum die Unit "AnsiStrings" im Dateinamen hat: die Funktionen verwenden (fast?) alle AnsiStrings. Wenn du Überladungen für WideStrings o.ä. suchst, wirf mal einen Blick in System.SysUtils - dort sind eine Reihe von gleichnamigen Funktionen wie in System.AnsiStrings zu finden.
Grüße Dalai |
AW: Implizite Umwandlung string zu ansistring
System.SysUtils.AnsiLastChar war genau was ich suche. Funtioniert sogar mit Unicode-Zeichen.
Echt kompliziert meiner Meinung nach. Ich habe diese Nacht noch einen Artikel darüber gelesen, recht interessant. ![]() |
AW: Implizite Umwandlung string zu ansistring
Nein, was du suchst ist
![]() |
AW: Implizite Umwandlung string zu ansistring
Was ist denn der bedeutende Unterschied zwischen AnsiLastChar und EndsStr?
|
AW: Implizite Umwandlung string zu ansistring
Ich lese das so: AnsiLastChar liefert (einen Zeiger auf) das letzte Zeichen in einem String zurück. Sowas würde man verwenden, wenn man mit diesem Zeichen noch etwas anstellen will. EndsStr prüft, ob ein String mit einem bestimmten Substring endet. Sowas verwendet man, wenn man nur eine Aussage darüber haben will, ob diese Bedingung zutrifft, das Zeichen aber nicht weiterverwenden will.
Übrigens gibt es auch ![]() ![]() Grüße Dalai |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:21 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