Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Delphi Wie kann man einen String verlustfrei in einen AnsiString konvertieren [XE2] (https://www.delphipraxis.net/174345-wie-kann-man-einen-string-verlustfrei-einen-ansistring-konvertieren-%5Bxe2%5D.html)

alex517 18. Apr 2013 10:25

Wie kann man einen String verlustfrei in einen AnsiString konvertieren [XE2]
 
Hi,

ich habe aus Kompatibilitätsgründen das Password als AnsiString definiert.
Allerdings bekomme ich damit die Warnung:

[DCC Warnung] uMain.pas(1309): W1058 Implizite String-Umwandlung mit potenziellem Datenverlust von 'TCaption' zu 'AnsiString'.

Delphi-Quellcode:
TVBackupForm = class(TForm)
  EPassword: TEdit;
..

function TVBackupForm.GetPassword: AnsiString;
begin
  Result := EPassword.Text; <-- hier gibts die Warnung
end;

Wie kann ich eine verlustfreie Konvertierung machen?

Alex

Bernhard Geyer 18. Apr 2013 10:31

AW: Wie kann man einen String verlustfrei in einen AnsiString konvertieren [XE2]
 
Zitat:

Zitat von alex517 (Beitrag 1211900)
Wie kann ich eine verlustfreie Konvertierung machen?

Nur wenn du es nach UTF8 Wandeln würdest.
Ansonsten gar nicht. Ansistring mit 255 Codierungsmöglichkeiten pro Zeichen kann nun mal keine Unicodstring mit über 65000 Codierungsmöglichkeiten verlustfrei aufnehmen.

DeddyH 18. Apr 2013 10:31

AW: Wie kann man einen String verlustfrei in einen AnsiString konvertieren [XE2]
 
Verlustfrei wohl kaum, aber die Meldung bekommst Du mit einem Cast weg.
Delphi-Quellcode:
Result := AnsiString(EPassword.Text);

alex517 18. Apr 2013 10:48

AW: Wie kann man einen String verlustfrei in einen AnsiString konvertieren [XE2]
 
Ging ja schnell :wink:

d.h. ich werden im TEdit die möglichen Zeichen einschränken um Verluste zu vermeiden.
Ob ich die Warnung mit einem harten Cast unterdrücke, muss ich mir noch überlegen.

Danke.

Alex


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:12 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