Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi TIdTextEncoding Fehler (https://www.delphipraxis.net/176954-tidtextencoding-fehler.html)

1aa 7. Okt 2013 00:32


TIdTextEncoding Fehler
 
Ich Versuche gerade mit Indy Komponenten und TIdTextEncoding sonderzeichen wie üöä über einen IndyTCP socket zu übertragen :

Delphi-Quellcode:
var  s : String;
begin
s :=edit1.Text;
memo1.Lines.Add(s);
cs1.IOHandler.DefStringEncoding := TIdTextEncoding.Ascii;
cs1.IOHandler.WriteLn((s))
nur sagt mir delphi immer "[dcc32 Fehler] Unit1.pas(52): E2003 Undeklarierter Bezeichner: 'TIdTextEncoding'"

hab
Delphi-Quellcode:
uses ... IdGlobal;
schon hinzugefügt findet es aber trotzdem nicht....
auch ja ich teste zz gerade Delphi XE 5

himitsu 7. Okt 2013 01:14

AW: TIdTextEncoding Fehler
 
Sicher daß sich das immernoch im idGlobal befindet?

Nja, aber so wie es aussieht, dann nutzt Indy inzwischen das TEncoding vom Delphi.
TIdTextEncoding ist seit mindestens XE3 nur eine Weiterleitung zu TEncoding, wenn das DEFINE TIdTextEncoding_IS_NATIVE aktiv ist.

TEncoding.Default oder besser TEncoding.UTF8 (aus der SysUtils)



PS: im ASCII (7 Bit) ist ein ÄÖÜ enthalten

Tipp: Strg+Shift+F
"TIdTextEncoding.*=.*class" mit regulären Ausdrücken
in Verzeichnissen suchen
Dateifilter: *.pas oder z.B. *.pas;*.dfm;*.dpr;*.dpk;*.inc;*.c;*.h;*.l;*.inc
Verzeichnisse: C:\Program Files (x86)\Embarcadero\RAD Studio\xxx.0

1aa 7. Okt 2013 12:03

AW: TIdTextEncoding Fehler
 
ok danke für die Info...
ja du hast recht Ascii war jetzt grad ungünstig gewählt^^

TEncoding.UTF8 findet er ohne problem nur ist das wieder nicht kompatibel zu
Delphi-Quellcode:
IdTCPClient1.IOHandler.DefStringEncoding
welcher IIdTextEncoding verlangt mal sehen wie ich das gelöst bekomme

1aa 7. Okt 2013 23:26

AW: TIdTextEncoding Fehler
 
ok fehler gefunden....:
man darf nicht
Delphi-Quellcode:
IdTCPClient1.IOHandler.DefStringEncoding
vesuchen etwas zu zuweisen sondern muss es direkt beim lesen bzw schreiben angeben:

Delphi-Quellcode:
IdTCPClient1.IOHandler.WriteLn(aMsg,IndyTextEncoding_OSDefault);

aMsg:=IdTCPClient1.IOHandler.ReadLn(IndyTextEncoding_OSDefault);
andere Möglichkeiten:
IndyTextEncoding_Default
IndyTextEncoding_OSDefault
IndyTextEncoding_8Bit
IndyTextEncoding_ASCII
IndyTextEncoding_UTF16BE
IndyTextEncoding_UTF16LE
IndyTextEncoding_UTF7
IndyTextEncoding_UTF8

alles zufinden in
Delphi-Quellcode:
 Unit IdGlobal


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