比如我想把'f:\1\aaaa.txt'拷贝到'f:\2\'下,我该怎么做?
解决方案 »
- 求助,判断
- 怎样给fastreport rich文本对象赋值?
- 在用Quickreport控件打印报表时,如何控制当报表打印完成后打印机不向前走纸
- 一个异常,但是为什么捕获不到???
- Delphi中有關文件屬性的操作!!
- 我用PageControl建立很多个页面,怎样用一个按钮实现全部关闭,注意:是一下子全部都关掉了,不是快速的挨个关掉!
- Who can help me!Thanks!
- 求助:Table控件可改成带条件的吗?
- 關於控件
- 有关墙纸的小问题。。。。
- 有没有谁知道dbgrid控件中各个小栅格中某一个小栅格上下移动失去焦点时将触发什么事件?
- 我只想在当前的目录下查找一个文件,如何实现,返回结果只要是找到或是找不到就可以!!
var
F:TShFileOpStruct;
begin
F.wnd:=InputForm.Handle;
F.wFunc:=FO_COPY; {操作方式}
F.pFrom:=PChar(SourceName+#0#0);
F.pTo:=PChar(TargetName+#0#0);
F.fFlags:=FOF_ALLOWUNDO OR FOF_RENAMEONCOLLISION;
result:= ShFileOperation(F)=0;
end;方法1(强力推荐)
通过调用Win 95系统外壳来完成,需要在USES子句中添加SHELLAPI单元。这种方法
与Win 95下文件拷贝的方式完全一样,也会自动出现“正在拷贝...”的提示。如果目标
文件已经存在,函数可以根据操作标志位自动生成多份复件。 改变wFunc的值,则可以完成删除、更名、放到回收站等功能。笔者认为这是最好的
一种方法。 procedure TForm1.Button5Click(Sender: TObject);
var
F:TShFileOpStruct;
begin
F.wnd:=Handle;
F.wFunc:=FO—COPY; {操作方式}
F.pFrom:=′C:\DEMO.DAT′;
F.pTo:=′F:\TEST.DAT′;
F.fFlags:=FOF—ALLOWUNDO OR FOF—RENAMEONCOLLISION; {操作选项}
if ShFileOperation(F)<>0 then
ShowMessage(′文件拷贝失败!′);
end;
方法2 (推荐使用) 采用文件流方式,可以直接对文件进行读写。
procedure TForm1.Button2Click(Sender: TObject);
Var
S, T: TFileStream; {文件流}
SourceFileName,DestFileName:String;{源文件和目的文件名}
Begin
S := TFileStream.Create( SourceFileName, fmOpenRead );
try
T := TFileStream.Create( DestFileName,fmOpenWrite or fmCreate );
try
T.CopyFrom(S, S.Size ) ;
finally
T.Free;
end; finally
S.Free;
end; End;
方法3(推荐在做安装盘时使用
采用压缩与解压缩单元LZEXPAND,需要在USES子句中添加LZEXPAND单元。 procedure TForm1.Button3Click(Sender: TObject);
var
SourceHandle, DestHandle: Integer; {文件句柄}
SourceFileName,DestFileName:String;{源文件和目的文件名}
begin
{打开文件}
SourceFileName:=′C:\DEMO.DAT′;
DestFileName:=′F:\TEST.DAT′;
SourceHandle := FileOpen(SourceFileName,0);
DestHandle := FileCreate(DestFileName);
{拷贝}
LZCopy(SourceHandle,DestHandle);
{关闭文件}
FileClose(SourceHandle);
FileClose(DestHandle)
end;
不错啊~~~~~~~~~小虫~~给你一个简单的吧:
CopyFile(PChar('f:\1\aaaa.txt'), PChar('f:\2\aaaa.txt'), True);详细用法见在线帮助!!