Delphi文件操作函数
IncludeTrailingPathDelimiter(const S:String):String
和IncludeTrailingBackslash是同樣功能,不過根據(jù)delphi的幫助,我們現(xiàn)在應(yīng)該使用IncludeTrailingPathDelimiter
才對,前者只是為了向前兼容才保留的
這個函數(shù)是將參數(shù)S提供的一個表示路徑的末尾加上“\”符(如果是unix系統(tǒng),則加上“/”)
ExcludeTrailingPathDelimiter(const S:String):String
和ExcludeTrailingBackslash是同樣功能,同樣我們應(yīng)該使用ExcludeTrailingPathDelimiter
這個函數(shù)和IncludeTrailingPathDelimiter正好相反,是用來去掉一個路徑末尾的斜杠符的
2.forcedirectories和CreateDirectory
forcedirectories和CreateDirectory都能創(chuàng)建文件
ForceDirectories可以創(chuàng)建多層目錄.
如果你創(chuàng)建一個目錄為c:\mymusic\music
如果你的C盤不存在一個叫mymusic的文件夾
的話程序會自動創(chuàng)建,函數(shù)執(zhí)行的結(jié)果是,
創(chuàng)建了兩個文件夾,mymusic和music,music為
mymusic的子文件夾.
CreateDirectory只能創(chuàng)建一個文件夾,如果
mymusic不存在,則反回創(chuàng)建music文件夾失敗!
3.DeleteUrlCacheEntry
1.文件單元:WinInt
????? VC聲明
BOOL DeleteUrlCacheEntry (
LPCTSTR lpszUrlName);
函數(shù)功能
刪除Cache中指定的源文件名,如果指定文件存在 則刪除
參數(shù)說明
lpszUrlName 源文件的名字 該名字不能包含換碼符
返回值
如果成功返回真 否則返回假
4.URLDownloadToFile
1.文件單元 UrlMon
2.功能說明
HRESULT URLDownloadToFile(
LPUNKNOWN pCaller,
LPCSTR szURL,
LPCSTR szFileName,
DWORD dwReserved,
LPBINDSTATUSCALLBACK lpfnCB);
pCaller?
僅當(dāng)調(diào)用者是一個ActiveX對象才使用,對于一個非ActiveX對象的應(yīng)用程序這個參數(shù)應(yīng)該為NULL?
szURL?
為要下載的絕對URL 文件名,這個參數(shù)不能為空。
szFileName?
包含創(chuàng)建的目標文件名?
dwReserved?
必須為零
lpfnCB?
一個指向 IBindStatusCallback 接口的指針, IE通過它向你通知下載的進度。
利用URLDownloadToFile()下載文件可以分下面幾個步驟:
1. 提供一個要下載的URL文件名。
2. 構(gòu)造一個目標創(chuàng)建文件的完整路徑含文件名。
3. 創(chuàng)建一個IbindStatusCallback派生類,編寫OnProgress()重載函數(shù)。
4. 派生一個類對象的事例
5. 調(diào)用URLDownLoad 函數(shù),由于這個函數(shù)調(diào)用是同步的,因此你最好在一個工作者線程中調(diào)用這個函數(shù),
6. 在OnProgress函數(shù)中,提供任何你需要的進度指示信息和其它界面,函數(shù)返回值告訴IE是繼續(xù)下載或者是放棄下載。.?
使用IbindStatusCallback
IBindStatusCallback 回調(diào)接口共有8個方法,但是你只需關(guān)心OnProgress(). 其它方法只需返回 E_NOTIMPL.?
OnProgress 實現(xiàn)的規(guī)范是:
HRESULT OnProgress(
ULONG ulProgress,
ULONG ulProgressMax,
ULONG ulStatusCode,
LPCWSTR szStatusText );
ulProgress?
到目前為止已經(jīng)下載的字節(jié)數(shù)。
ulProgressMax?
要下載的文件大小,0表示大小未知,需要注意的是,這個值僅在OnProgress調(diào)用期間變化,所以你不能把它保存到一個靜態(tài)變量中,你應(yīng)該在每次調(diào)用時檢查這個值。?
ulStatusCode?
狀態(tài)標志,這個值可以為下列一些值:
BINDSTATUS_BEGINDOWNLOADCOMPONENTS,
BINDSTATUS_INSTALLINGCOMPONENTS,
BINDSTATUS_ENDDOWNLOADCOMPONENTS.?
szStatusText?
圖形界面中使用的字符串,由IE 提供,這個變量可能為NULL,在使用前應(yīng)該檢查這個變量。
OnProgress() 返回 S_OK 告訴IE 要繼續(xù)下載, E_ABORT 則表示放棄下載
4.
轉(zhuǎn)載于:https://www.cnblogs.com/wxf82610/archive/2009/03/02/1401278.html
超強干貨來襲 云風(fēng)專訪:近40年碼齡,通宵達旦的技術(shù)人生總結(jié)
以上是生活随笔為你收集整理的Delphi文件操作函数的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 做出的一个图片的自动展示效果(JS版本)
- 下一篇: 先来轻松一下