2

我需要使用 idHTTP ( String := idHTTP.Get) 下载 Unicode 格式的 TreeView 文件。下载后,我需要对字符串进行一些处理,然后将其放入 TTreeView 中。我正在使用德尔福 2010。

s:=form2.idhttp1.Get(Adres+'list.ttt');
....
StrStream:=TStringStream.Create(s,t encoding.Unicode);
form2.TreeView1.LoadFromStream(strstream);
StrStream.Free;

S我在或中看不到 Unicode TreeView1S如果我尝试下载的不是 list.ttt 而是 list.html,我只会看到 Unicode 。我需要在 idHTTP 或其他东西中设置什么才能正常工作?

4

2 回答 2

3

如何使它与 TIdHttp 一起工作

不要使用 a TStringStream,使用 aTMemoryStream这样您就不会对内容进行任何重新编码。例子:

var ResponseStream: TMemoryStream;
begin
  ResponseStream := TMemoryStream.Create;
  try
    H.Get(URL, ResponseStream);
    ResponseStream.Position := 0;
    Tree.LoadFromStream(ResponseStream);
  finally ResponseStream.Free;
  end;
end;
于 2011-05-30T06:52:11.320 回答
1

@Michael - 我猜你确实在 S 中看到了数据,但它是 ansiString 而不是 Unicode,对吗?你确定你的源'list.ttt'是Unicode吗?您是否尝试过将 s 明确声明为 unicodeString 或使用 unicodeString 函数?只是需要考虑一些事情 - 并不是真正的答案。高温高压

于 2011-05-30T06:39:13.177 回答