Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi TNTUnicode Widestringlist in ANSI bzw. ISO8859_1 umwandeln? (https://www.delphipraxis.net/129957-tntunicode-widestringlist-ansi-bzw-iso8859_1-umwandeln.html)

Grolle 28. Feb 2009 11:46


TNTUnicode Widestringlist in ANSI bzw. ISO8859_1 umwandeln?
 
Hallo,

ich benutze die TNTUnicode Komponenten von TMS um eine (Unicode)textdatei in eine TNTStringlist zu laden. Wie kann ich die denn jetzt intern in ANSI umwandeln? Gibts da von den Komponenten eine Funktion?

Viele Grüße ...

mkinzler 28. Feb 2009 11:51

Re: TNTUnicode Widestringlist in ANSI bzw. ISO8859_1 umwande
 
Beinhaltet der Unicode-String den ANSI-only Zeichen?

Grolle 28. Feb 2009 11:55

Re: TNTUnicode Widestringlist in ANSI bzw. ISO8859_1 umwande
 
Hi,

eigentlich schon. Da können höchstens mal nen paar Umlaute (ß,ö ...) auftreten.

Viele Grüße ...

Grolle 2. Mär 2009 15:08

Re: TNTUnicode Widestringlist in ANSI bzw. ISO8859_1 umwande
 
*putsch*

Bernhard Geyer 2. Mär 2009 15:11

Re: TNTUnicode Widestringlist in ANSI bzw. ISO8859_1 umwande
 
Zitat:

Zitat von Grolle
*putsch*

Gegenputsch :-)

Für Systeme die unter Codepage 1252 / ISO8859 laufen reicht folgendes (ungestested):

Delphi-Quellcode:
var
  AnsiList: TStringList;
  TNTList: TTNTStringList;

...

  TNTList.AssignTo(AnsiList);
...

himitsu 2. Mär 2009 15:34

Re: TNTUnicode Widestringlist in ANSI bzw. ISO8859_1 umwande
 
Wenn es unbedingt ISO-8859-1 sein muß, dann WideCharToMultiByte mit der CodePage 28591.

z.B.:
Delphi-Quellcode:
var Sw: WideString;
  Sa: AnsiString;
  i: Integer;

Sw := TNTStringList.Text;
i := WideCharToMultiByte(28591, 0, PWideChar(Sw), Length(Sw), nil, 0, nil, nil);
If (i = 0) and (Sw <> '') Then FehlerMeldungAusgeben;
SetLength(Sa, i - 1);
WideCharToMultiByte(28591, 0, PWideChar(Sw), Length(Sw), PAnsiChar(Sa), Length(Sa) + 1, nil, nil);
StringList.Text := Sa;


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