热点推荐:
您现在的位置: 电脑学习网 >> 软件专区 >> 正文

BCB编程中实现断点续传

2013-09-12 15:53:24  来源: 软件专区 

  NMFTP是Delphi、Borland C++ Builder(以下简称BCB)自带的FastNet控件组中的一个组件,主要用于实现FTP上传、下载等功能。它在开发一些小型、简单的网络应用软件时非常有用。笔者最近在使用BCB6开发一套FTP客户端软件时需要实现断点上(续)传(以下用"断点续传"特指断点上(续)传),最终通过NMFTP得以实现,在此将问题解决过程写出来,与广大程序员共飨。
一、系统函数假续传
  用过NMFTP的朋友都知道,NMFTP有三个上传函数可以满足绝大部分的上传操作。它们分别是:Upload()、UploadAppend()、UploadRestore()、UploadUnique(),这四个函数的原型为:
  procedure Upload(LocalFile, Remote
  File: string);
  procedure UploadAppend(LocalFile, RemoteFile: string);
  procedure UploadRestore(LocalFile, RemoteFile: string; Position: Integer);
  procedure UploadUnique(LocalFile: string);
  笔者的软件要求在FTP服务器不授予"删除"权限的条件下完成文件传输,且上传的文件要与本地文件同名。Www.itcOMPUTer.cOM.CN因此断点续传是解决问题的唯一途径。通过帮助文档可以知道,UploadRestore()、UploadAppend()两个函数都能满足要求,两者唯一不同之处在于前者需要指定断点位置,而后者自动将文件接续在已上传的文件后(服务器上文件名需要与"RemoteFile"参数指定的文件名相同)。
  实际使用过程中,发现两者确实都可以完成续传的目的,但是直接使用这两个函数完成续传以后的文件无法使用,而文件大小是续传前的大小与原文件大小之和,也就是说,这两个函数完成的"续传"是把文件从前次断点处重新从头传了一遍,而并没有真正的从断点处"续传"。

 

WebCHM超强下载网络教程 很多朋友常常会在网上遇到一部喜爱的小说、几大页资料等等想下载到硬盘中慢慢看。如果一个页面接一个页面的保存,就太浪费时间了。那能不能把整个内容下载下来,或指定下载一部分内容呢?呵呵,就让国产软件WebCHM来帮大家这个忙吧。
  WebCHM(下载地址:http://www.cpcw.com/download)是一个多线程离线浏览软件,专业的下载大型网站的工具,大小1000KB左右,支持断点续传,支持在线升级,具有对下载信息进行分类管理的功能,操作方便。在下载了喜欢的文章后,可以用附带的webSeizer直接打包为CHM格式的电子书籍,既方便浏览,又节省空间。下面就看看具体如何下载:
一、下载一篇多页面文章
  文章名:《枭龙04即将首飞 具备一定隐身能力》
  网址:http://military.china.com/zh_cn/head/83/20060408/13230786.html
  页面:3页
  下载时间:20秒
  下载过程:首先打开WebCHM,在网站首页地址栏粘贴上下载内容的网址。点击“任务”按钮新建一个任务。点击后,会出现任务设置选项的对话框,任务名称可点击“获取网页标题”自动获取,任务保存地址可以默认或自己指定,然后选取“建立CHM任务”选项。最后点击“新建并立即下载”按钮进行下载。随后在出现的“主要下载设置”对话框中,“下载范围”选择“只下载当前目录”,“下载层数”中输入1,最后点击“OK"按钮。
二、下载一篇小说
  小说名:《剑仙水影》
  网址:http://www.excbook.com/book/812/1081122.html#tj
  页面:共五大章节,20多个页面。
  下载过程:设置基本同下载文章一样,下载层数改为“-1”就行了。
  下载时间:10秒
  下载完后,如果想阅读所下载的内容,打开保存下载文件的目录,选择标记有“已编译的HTML帮助文件”文字内容的文件,打开它,就可以浏览阅读了。当然了,WebCHM的功能不止这些,它还可以下载整个网站,一个你喜欢的论坛。你感兴趣吗?那就赶紧动手试试吧!  
From:http://www.itcomputer.com.cn/Article/Software/201309/344.html
  • 上一篇文章:

  • 下一篇文章:
  • Copyright © 2005-2013 电脑知识网 Computer Knowledge   All rights reserved.