J jemmylau Unregistered / Unconfirmed GUEST, unregistred user! 2004-03-08 #1 给出一个网上文件的URL,也就是说该文件可能是个流,现在要用程序把该文件下载下来,并需要在下载过程中分析其中的数据,只保存部分数据到文件。 用哪些控件可以实现?给出思路就好了,请各位帮忙。谢谢!
东 东兰梦舞 Unregistered / Unconfirmed GUEST, unregistred user! 2004-03-08 #2 这个就多了,主要是文件的协议好多几种HTTP/FTP/RSTP/MMS等等 你要是说一个通用的,呵呵,用TClientSocket或是TIdTCP吧. HTTP可以用TIdHTTP FTP可以用TIdFTP 其它的几种协议没有现成的,你得自己实现.
这个就多了,主要是文件的协议好多几种HTTP/FTP/RSTP/MMS等等 你要是说一个通用的,呵呵,用TClientSocket或是TIdTCP吧. HTTP可以用TIdHTTP FTP可以用TIdFTP 其它的几种协议没有现成的,你得自己实现.
J jemmylau Unregistered / Unconfirmed GUEST, unregistred user! 2004-03-08 #4 用HTTP的协议就可以了,不用考虑通用问题。 也就是本来通过http://www.xxx.com/a.dat就可以下载到文件的。
J jemmylau Unregistered / Unconfirmed GUEST, unregistred user! 2004-03-08 #6 谢谢! 如果我先下载数据到内存中,比如我先处理一下,有可能显示给用户看,也有可能保存成文件。idhttp一个控件就能搞定了吗?
东 东兰梦舞 Unregistered / Unconfirmed GUEST, unregistred user! 2004-03-08 #7 用IdHTTP可以将url取到流中,也可以取到串中,很方便的。 你可以用TImage/TMemo等东西来来显示得到的内容
J jemmylau Unregistered / Unconfirmed GUEST, unregistred user! 2004-03-08 #8 很感谢。 我也明白如何使用IdHttp了。 但是如果我不是一次性就能把该文件读取下来,我该怎么做呢?好象没有收到数据的事件。
东 东兰梦舞 Unregistered / Unconfirmed GUEST, unregistred user! 2004-03-08 #9 该控件是同步的。没有“收到数据的事件”。 如果你的HTTP头中有长度,那么该控件会自己将数据读完。否则你可以先Connect,然后自己读缓冲区。 更多的情况,请自己看Indy的帮助文档。
J jemmylau Unregistered / Unconfirmed GUEST, unregistred user! 2004-03-08 #10 既然IdHttp不是同步的,那它还能满足我的需求吗?
J jemmylau Unregistered / Unconfirmed GUEST, unregistred user! 2004-03-08 #12 我现在对处理这个问题,还不知道用哪些东西,第一次用delphi做网络程序。请各位多多指教。
东 东兰梦舞 Unregistered / Unconfirmed GUEST, unregistred user! 2004-03-09 #14 to llwu: OnWork包括连接与头处理,不能算是"收到数据的事件",只能说是"有东西在处理的事件" 数据发送也是会OnWork的.