【转载】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中。上次未能一次讲清楚。抱歉