【转载】delphi下如何复制文件

1、

CopyFile(PChar(源目录),PChar(目标目录),True);

CopyFileTo('F:\MyProject\delphi\message\data\data.mdb','c:\data.mdb');//不能覆盖已存在的文件******//   

//***************下面的这个WINAPI最后的一个参数为true时不覆盖已经存在的文件。为false时自动覆盖存在的文件。*********//   

//***************   

CopyFile(pchar(''+MyPath+'/data/data.mdb'),pchar(''+MyPath+'/data/backup.mdb'),false);

2、

api的不会   

我一般是在程序中根据程序所在目录建立一个批处理文件   

copy    x:\xxx\xxx.exe    c:;   

exit;   

   

在窗体创建或退出时执行;   

因为在外地网吧,所以不能提供代码,不过这个应该不难。

3、

也可以直接调用shellexec    winexec,   

shellexec('copy    gp.exe    c:')

4、

不用api的如下:   

procedure    CopyFile    (SourceName,    TargetName:    String);   

var   

      Stream1,    Stream2:    TFileStream;   

begin   

      Stream1    :=    TFileStream.Create    (SourceName,    fmOpenRead);   

      try   

          Stream2    :=    TFileStream.Create    (TargetName,    fmOpenWrite    or    fmCreate);   

          try   

              Stream2.CopyFrom    (Stream1,    Stream1.Size);   

          finally   

              Stream2.Free;   

          end   

      finally   

          Stream1.Free;   

      end   

end;

5、

如果是在本程序运行的时候复制本程序的话,可以这样:   

   

procedure    Tform1.formCreate(Sender:    TObject);   

var   

      s:Pchar;   

begin   

      s:=    Pchar(Application.ExeName);   

      copyfile(s,    'c:\a.exe',    true);   

end;

6、

CopyFile(PChar(源文件),PChar(目标文件),True);为False表示覆盖

7、

才看到这个贴子,可以用以下的方法:   

   

CopyFile(pchar('c:\sql.txt'),    pchar('d:\sql.txt'),    True);   

   

只要是文件的复制,都可以。   

   

移动文件:   

MoveFile(pchar('c:\sql.txt'),    pchar('d:\sql.txt'));   

   

删除文件:   

   

DeleteFile('c:\sql.txt');   

   

以上都是可行的。

8、

不好意思,今天刚看到这个帖子   

TO:    atm008    (小小菜鸟)       

运行到mypath出错!   

mypath是一个变量。用来取得当前系统的路径。以避免使用绝对路径。mypath要先定义才能使用。定义方法如下:   

   

unit    main;   

   

interface   

   

uses   

      Windows,    Messages,    SysUtils,    Variants,    Classes,    Graphics,    Controls,    forms,   

      Dialogs,    Menus,    ToolWin,    ComCtrls,    KsControls,    KsPanels,    KsThemePanels,   

      StdCtrls,    ExtCtrls,    jpeg,    DB,    ADODB,    ShellAPI,    IdGlobal;   

   

type   

      ……   

      private   

          {    Private    declarations    }   

      public   

          {    Public    declarations    }   

      end;   

   

var   

      //---引入此变量是为了解决导出XML文件时改变相对路径会改变应用程序路径的问题   

      MyPath:string;   

   

procedure    Tform_main.formCreate(Sender:    TObject);   

begin   

      MyPath:=ExtractFilePath(ParamStr(0));   

      ……   

end;   

   

如果要在其他的窗体中使用到mypath,则需要把主窗体放在要使用的窗体的USES中。上次未能一次讲清楚。抱歉

posted @ 2013-08-12 13:11  linux,dev  阅读(1206)  评论(0编辑  收藏  举报