IncludeTrailingPathDelimiter(const S:String):String
和IncludeTrailingBackslash是同样功能,不过根据delphi的帮助,我们现在应该使用IncludeTrailingPathDelimiter
才对,前者只是为了向前兼容才保留的
这个函数是将参数S提供的一个表示路径的末尾加上“\”符(如果是unix系统,则加上“/”)
ExcludeTrailingPathDelimiter(const S:String):String
和ExcludeTrailingBackslash是同样功能,同样我们应该使用ExcludeTrailingPathDelimiter
这个函数和IncludeTrailingPathDelimiter正好相反,是用来去掉一个路径末尾的斜杠符的
2.forcedirectories和CreateDirectory
forcedirectories和CreateDirectory都能创建文件
ForceDirectories可以创建多层目录.
如果你创建一个目录为c:\mymusic\music
如果你的C盘不存在一个叫mymusic的文件夹
的话程序会自动创建,函数执行的结果是,
创建了两个文件夹,mymusic和music,music为
mymusic的子文件夹.
CreateDirectory只能创建一个文件夹,如果
mymusic不存在,则反回创建music文件夹失败!
3.DeleteUrlCacheEntry
1.文件单元:WinInt
VC声明
BOOL DeleteUrlCacheEntry (
LPCTSTR lpszUrlName);
函数功能
删除Cache中指定的源文件名,如果指定文件存在 则删除
参数说明
lpszUrlName 源文件的名字 该名字不能包含换码符
返回值
如果成功返回真 否则返回假
4.URLDownloadToFile
1.文件单元 UrlMon
2.功能说明
HRESULT URLDownloadToFile(
LPUNKNOWN pCaller,
LPCSTR szURL,
LPCSTR szFileName,
DWORD dwReserved,
LPBINDSTATUSCALLBACK lpfnCB);
pCaller
仅当调用者是一个ActiveX对象才使用,对于一个非ActiveX对象的应用程序这个参数应该为NULL
szURL
为要下载的绝对URL 文件名,这个参数不能为空。
szFileName
包含创建的目标文件名
dwReserved
必须为零
lpfnCB
一个指向 IBindStatusCallback 接口的指针, IE通过它向你通知下载的进度。
利用URLDownloadToFile()下载文件可以分下面几个步骤:
1. 提供一个要下载的URL文件名。
2. 构造一个目标创建文件的完整路径含文件名。
3. 创建一个IbindStatusCallback派生类,编写OnProgress()重载函数。
4. 派生一个类对象的事例
5. 调用URLDownLoad 函数,由于这个函数调用是同步的,因此你最好在一个工作者线程中调用这个函数,
6. 在OnProgress函数中,提供任何你需要的进度指示信息和其它界面,函数返回值告诉IE是继续下载或者是放弃下载。.
使用IbindStatusCallback
IBindStatusCallback 回调接口共有8个方法,但是你只需关心OnProgress(). 其它方法只需返回 E_NOTIMPL.
OnProgress 实现的规范是:
HRESULT OnProgress(
ULONG ulProgress,
ULONG ulProgressMax,
ULONG ulStatusCode,
LPCWSTR szStatusText );
ulProgress
到目前为止已经下载的字节数。
ulProgressMax
要下载的文件大小,0表示大小未知,需要注意的是,这个值仅在OnProgress调用期间变化,所以你不能把它保存到一个静态变量中,你应该在每次调用时检查这个值。
ulStatusCode
状态标志,这个值可以为下列一些值:
BINDSTATUS_BEGINDOWNLOADCOMPONENTS,
BINDSTATUS_INSTALLINGCOMPONENTS,
BINDSTATUS_ENDDOWNLOADCOMPONENTS.
szStatusText
图形界面中使用的字符串,由IE 提供,这个变量可能为NULL,在使用前应该检查这个变量。
OnProgress() 返回 S_OK 告诉IE 要继续下载, E_ABORT 则表示放弃下载
4.