jplj
04-04-2010, 13:48:15
Hola:
Mi objetivo es obtener el contenido de una página web y extraer una parte -que usa unicode- contenida entre unos delimitadores conocidos.
Como paso previo he creado el siguiente procedimiento:
TntMemo1: TTntMemo;
...
procedure TForm1.Get_WebPage(URL_Host, URL_Get: String);
var
TempStream: TMemoryStream;
idhtp_1: TIdHTTP;
begin
idhtp_1:= TIdHTTP.Create(nil);
TempStream := TMemoryStream.Create;
try
idhtp_1.Host := URL_Host;
idhtp_1.Connect();
idhtp_1.Get(URL_Get, TempStream);
idhtp_1.Disconnect;
Tntmemo1.Lines.LoadFromStream(TempStream);
finally
if idhtp_1.Connected then idhtp_1.Disconnect;
idhtp_1.Free;
TempStream.Free;
end;
end;
La información se vuelca en el TntTMemo, pero los caracteres unicode no son correctos. He comprobado que el TntMemo si admite correctamente estos caracteres.
Mi pregunta es si TMemoryStream, TIdHTTP no soportan Unicode. Y si es así, qué alternativa(s) tengo.
Modificado: Uso Delphi 7 e Indy 9
Muchas gracias de antemano.
Mi objetivo es obtener el contenido de una página web y extraer una parte -que usa unicode- contenida entre unos delimitadores conocidos.
Como paso previo he creado el siguiente procedimiento:
TntMemo1: TTntMemo;
...
procedure TForm1.Get_WebPage(URL_Host, URL_Get: String);
var
TempStream: TMemoryStream;
idhtp_1: TIdHTTP;
begin
idhtp_1:= TIdHTTP.Create(nil);
TempStream := TMemoryStream.Create;
try
idhtp_1.Host := URL_Host;
idhtp_1.Connect();
idhtp_1.Get(URL_Get, TempStream);
idhtp_1.Disconnect;
Tntmemo1.Lines.LoadFromStream(TempStream);
finally
if idhtp_1.Connected then idhtp_1.Disconnect;
idhtp_1.Free;
TempStream.Free;
end;
end;
La información se vuelca en el TntTMemo, pero los caracteres unicode no son correctos. He comprobado que el TntMemo si admite correctamente estos caracteres.
Mi pregunta es si TMemoryStream, TIdHTTP no soportan Unicode. Y si es así, qué alternativa(s) tengo.
Modificado: Uso Delphi 7 e Indy 9
Muchas gracias de antemano.