关闭

copyFile函数

标签: filec
1481人阅读 评论(0) 收藏 举报

1.   CopyFile函數詳解
━━━━━━━━━━━━━━━━━━━━━━━━━━

CopyFile函數,文件拷贝函数.其基本結構如下:
copyfile(  
            lpcstr     lpexistingfilename,         //     源文件路径  
            lpcstr     lpnewfilename,                   //新文件路径  
            bool     bfailifexists                         //为true的话,如果新文件已存在,则返回false;如果為false的話,如果新文件已經存在,會將原來的覆蓋.  
            );
函數成功返回true,失敗返回false;

举例:
CopyFile(pChar('sql.txt'),pChar(ExtractFilePath(Application.ExeName) + '2.txt'),true);

后來在試驗的時候發現,源文件前可以不加pChar函數轉換,但新文件就不可以,會出現類型轉化錯誤.而且當源文件名前不加路徑時,默認是在應用程序的本目錄下.

因為函數返回的是boolean型,所以也可以這樣寫:
if CopyFile('D:/yun_yue/sql.txt',pChar(ExtractFilePath(Application.ExeName) + '2.txt'),true) then
    //而且,請確保你的文件路徑正確,否則函數返回失敗.
     ShowMessage('Copy File Completed!')
else
     ShowMessage('Copy File Failed!');

CopyFile函數還可以用與在網絡鄰居中的文件復制,使用上面的例子,可以將格式改為如下:

if CopyFile('//sh-sfis/Yun_Yue/yun_yue/Copytext.txt',pChar(ExtractFilePath(Application.ExeName) + '2.txt'),false) then
//此處函數的第三個參數設置成false,會將原來我的應用程序本目錄下存在的'2.txt'文件覆蓋掉
     ShowMessage('Copy File Completed!')
else
     ShowMessage('Copy File Failed!');

 

1:执行返回false原因是:
和源文件同名的目标文件已经存在,并且目标文件是只读属性。
2:还有可能是目标文件已经存在,并且正在被操作系统使用中。
3:CopyFile 是独占模式打开文件。如果要copy的文件已经被其他程序打开,CopyFile就会失败。

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:94583次
    • 积分:1085
    • 等级:
    • 排名:千里之外
    • 原创:23篇
    • 转载:7篇
    • 译文:0篇
    • 评论:15条
    文章分类
    最新评论