Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   ELDOS HTTPSCLIENT mit UTF8 (https://www.delphipraxis.net/205044-eldos-httpsclient-mit-utf8.html)

wschrabi 27. Jul 2020 06:49

ELDOS HTTPSCLIENT mit UTF8
 
Hallo
ich nutze Eldos HTTPSClient Demo (Eldos ver 16 noch gekauft for /n Migration) und funktioniert gut. doch eine Seite hat russ. Zeichen drin. die Website ist UTF8 codiert.
zb
Изучение геометрии в 10-11 классах. Книга для учителя

doch die Datahandling in HTTPSCLIENT DEMO routine hat das hier drin:
Delphi-Quellcode:
procedure TForm1.HttpsClientData(Sender: TObject; Buffer: Pointer;
  Size: Integer);
var S : {$ifndef SB_UNICODE_VCL}string{$else}AnsiString{$endif};
begin
  SetLength(S, Size);
  Move(Buffer^, S[1], Size);
  MMLog.Text := MMLog.Text + S;
  Application.ProcessMessages;
end;
doch in mein MMLOG Memo sehe ich den russ Text als:
˜зƒ‡ение геоме‚€ии в 10-11 класса…. šнига для ƒ‡и‚еля

Wenn ich S als string definiere geht ganz nix mehr.
Was kann ich machen,da mit auch der russ. Text richtig im MemoLog drin ist.
DANKE

DeddyH 27. Jul 2020 07:25

AW: ELDOS HTTPSCLIENT mit UTF8
 
Ganz spontan wrde ich es mit einem UTF8-kodierten StringStream oder direkt mit TEncoding.UTF8.GetString versuchen.

wschrabi 27. Jul 2020 07:31

AW: ELDOS HTTPSCLIENT mit UTF8
 
Kannst mir bitte zeigen wie das geht? Example?
DANKE

DeddyH 27. Jul 2020 07:38

AW: ELDOS HTTPSCLIENT mit UTF8
 
Ungetestet:
Delphi-Quellcode:
procedure TForm1.HttpsClientData(Sender: TObject; Buffer: Pointer;
  Size: Integer);
var
  Data: TBytes;
begin
  SetLength(Data, Size);
  Move(Buffer^, Data[Low(Data)], Size);
  ShowMessage(TEncoding.UTF8.GetString(Data));
end;

wschrabi 27. Jul 2020 07:41

AW: ELDOS HTTPSCLIENT mit UTF8
 
danke und wie kann ich es ins memo schreiben? Ich bruchte es im mmlog.

wschrabi 27. Jul 2020 07:47

AW: ELDOS HTTPSCLIENT mit UTF8
 
ich hab so gemacht, DANKE HAT SUPER GEKLAPPT !


Delphi-Quellcode:
procedure TForm1.HttpsClientData(Sender: TObject; Buffer: Pointer;
  Size: Integer);
var
  Data: TBytes;
begin
  SetLength(Data, Size);
  Move(Buffer^, Data[Low(Data)], Size);
  mmlog.Text:=mmlog.Text + TEncoding.UTF8.GetString(Data);
  Application.ProcessMessages;
end;

haentschman 27. Jul 2020 07:57

AW: ELDOS HTTPSCLIENT mit UTF8
 
Moin...:P
Delphi-Quellcode:

Application.ProcessMessages;
...nur wenn es nicht anders geht. Ein mmlog.Refresh sollte auch reichen. :zwinker:

wschrabi 27. Jul 2020 08:32

AW: ELDOS HTTPSCLIENT mit UTF8
 
Herlichen DANK: :-D


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