如何下载 Unicode 文件并将其加载到 TTreeView 中?

发布于 2024-11-10 02:42:16 字数 482 浏览 3 评论 0原文

我需要使用 idHTTP (String := idHTTP.Get) 下载 Unicode 格式的 TreeView 文件。下载后,我需要对字符串进行一些操作,然后将其放入 TTreeView 中。我使用的是 Delphi 2010。

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

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

I need to download a file of TreeView in Unicode using idHTTP (String := idHTTP.Get). After downloading, I need do something with the string and then put it in a TTreeView. I'm using Delphi 2010.

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

I cannot see Unicode in S or TreeView1. I only see Unicode in S if I try to download not list.ttt but list.html. What do I need to set in idHTTP or something else to work properly?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

唠甜嗑 2024-11-17 02:42:16

如何使其与 TIdHttp 一起使用

不要使用 TStringStream,而使用 TMemoryStream,这样您就不会获得任何内容的重新编码。例子:

var ResponseStream: TMemoryStream;
begin
  ResponseStream := TMemoryStream.Create;
  try
    H.Get(URL, ResponseStream);
    ResponseStream.Position := 0;
    Tree.LoadFromStream(ResponseStream);
  finally ResponseStream.Free;
  end;
end;

How to make it work with TIdHttp

Don't use a TStringStream, use a TMemoryStream so you don't get any re-encodings of the contents. Example:

var ResponseStream: TMemoryStream;
begin
  ResponseStream := TMemoryStream.Create;
  try
    H.Get(URL, ResponseStream);
    ResponseStream.Position := 0;
    Tree.LoadFromStream(ResponseStream);
  finally ResponseStream.Free;
  end;
end;
说好的呢 2024-11-17 02:42:16

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

@Michael - I gather that you do see data in S, but it is ansiString and not Unicode, correct? Are you sure your source 'list.ttt' is Unicode? Have you tried declaring s explicitely as a unicodeString or using the unicodeString function? Just some things to consider - not really an answer. HTH

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文