对文件进行操作 我想把一个文件从一个文件夹复制到另一个文件佳下.我想问问高手用什么函数?高分回谢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 个人认为在windows下最方便的是:winexec('xcopy c:\windows\*.* d:\mywindows /y'); API的CopyFile()数据是复制文件的作的。这个例子也行实现文件拷贝 在本例中,我们使用数据压缩的API函数LZCopy来实现一个文件拷贝的过程,其调用格式为:CopyFile(源文件名,目标文件名)。 implementation uses LZExpand; procedure CopyFile(sFileName,dFileName:String); var sFile,dFile:file; begin AssignFile(sFile,sFileName); Reset(sFile); AssignFile(dFile,dFileName); Rewrite(dFile); LZCopy(TFileRec(sFile).Handle,TFileRec (dFile).Handle); CloseFile(sFile); CloseFile(dFile); end; Delphi中实现文件拷贝的三种方法 1.调用API函数procedure CopyFile(FromFileName,ToFileName:string);varf1,f2:file;BeginAssignFile(f1,FromFileName); file://指定源文件名AssignFile(f2,ToFileName); file://指定目标文件名Reset(f1);TryRewrite(f2);TryIf Lzcopy(TfileRec(f1).handle,TfileRec(f2).Handle)<0ThenRaise EinoutError.creat('文件复制错误')FinallyCloseFile(f2); file://关闭 f2End;FinallyUntil length(sLine)<=0;End;End; 2.文件流procedure copyfile;var f1,f2: tfilestream ;beginf1:=Tfilestream.Create(sourcefilename,fmopenread);tryf2:=Tfilestream.Create(targetfilename,fmopenwrite or fmcreate);tryf2.CopyFrom(f1,f1.size);finallyf2.Free;end;finallyf1.Free;end;end;3.利用内存块读写buffer实现Procudure FileCopy(const Fromfile,Tofile:string);VarF1,F2:file;NumRead,Numwritten:word;Buf:array [1..2048] of char;BeginAssignFile(F1,Fromfile);Reset(F1,1);AssignFile(F2,Tofile);Rewrite(F2,1);RepeatBlockRead(F1,buf,sizeof(buf),NumRead);BlockWrite(F2,buf,Numread,NumWritten);Until (NumRead=0) or (NumWritten<>NumRead);CloseFile(F1);CloseFile(F2);End; 报歉,上贴回的太快了。差个参数。现在改正:winexec('xcopy c:\windows\*.* d:\mywindows /y',sw_hide);//隐式运行 sw_show为显示运行 修改数据的问题!不够分再补 Forms的procedure Loaded; override问题? 如何实现ListBox里一项的上移和下移.... 请问那能下载到BoundsChecker v7.0 请提供免费的windows版的围棋对弈软件下载地址 图片显示 求一SQL语句 这个触发器怎么写? 用一个表中数据如何替换另一个表的数据? 开发异步通讯程序,远程操作数据库 无法定位与我的dll程序的问题。。 delphi制作安装文件!
1.调用API函数
procedure CopyFile(FromFileName,ToFileName:string);
var
f1,f2:file;
Begin
AssignFile(f1,FromFileName); file://指定源文件名
AssignFile(f2,ToFileName); file://指定目标文件名
Reset(f1);
Try
Rewrite(f2);
Try
If Lzcopy(TfileRec(f1).handle,TfileRec(f2).Handle)<0
Then
Raise EinoutError.creat('文件复制错误')
Finally
CloseFile(f2); file://关闭 f2
End;
Finally
Until length(sLine)<=0;
End;
End;
2.文件流
procedure copyfile;
var f1,f2: tfilestream ;
begin
f1:=Tfilestream.Create(sourcefilename,fmopenread);
try
f2:=Tfilestream.Create(targetfilename,fmopenwrite or fmcreate);
try
f2.CopyFrom(f1,f1.size);
finally
f2.Free;
end;
finally
f1.Free;
end;
end;3.利用内存块读写buffer实现
Procudure FileCopy(const Fromfile,Tofile:string);
Var
F1,F2:file;
NumRead,Numwritten:word;
Buf:array [1..2048] of char;
Begin
AssignFile(F1,Fromfile);
Reset(F1,1);
AssignFile(F2,Tofile);
Rewrite(F2,1);
Repeat
BlockRead(F1,buf,sizeof(buf),NumRead);
BlockWrite(F2,buf,Numread,NumWritten);
Until (NumRead=0) or (NumWritten<>NumRead);
CloseFile(F1);
CloseFile(F2);
End;
现在改正:winexec('xcopy c:\windows\*.* d:\mywindows /y',sw_hide);//隐式运行 sw_show为显示运行