要复制的是数据库Table文件,代码越简单越好阿。顺便问问SHFileOperation的功能与用法,给个实例吧!
谢谢。
谢谢。
解决方案 »
- 请问Dll的跟踪调试问题
- 简单的小问题
- 连接access时出现"Table is read only."的错误!!
- 高手救命!!谁做过封装MdiChildForm和DataModule的Dll
- 上次发表《动态创建、压缩Access数据库》一文的大大和看过这篇文章的大大们请进!
- 很头痛的问题~~高手进来看看~
- 请求传dxDbgrid for delphi6的控件包
- 如何用程式来修改默认打印机的设置?
- Delphi 6在执行Install COM+ Objects时出现错误提示
- 谁能告诉我 VB中的 hDc 在Delphi 中 相对应的是哪个属性
- 问题看起来巨菜但是....?关于richedit(分多多)
- 如果你水平不错,请看!
function DoCopyDir(sDirName:String;sToDirName:String):Boolean;
var
F: TSearchRec;
//hFindFile:Cardinal;
t,tfile:String;
sCurDir:String[255];
FindFileData:WIN32_FIND_DATA;
begin
//先保存当前目录
sCurDir:=GetCurrentDir;
ChDir(sDirName);
F.FindHandle:=FindFirstFile('*.*',FindFileData);
if F.FindHandle<>INVALID_HANDLE_VALUE then
begin
if not DirectoryExists(sToDirName) then //如果目录不存在
ForceDirectories(sToDirName); //强迫建立目录
repeat
tfile:=FindFileData.cFileName;
if (tfile='.') or (tfile='..') then
Continue; //跳过两个目录标识
if FindFileData.dwFileAttributes=FILE_ATTRIBUTE_DIRECTORY then
begin
t:=sToDirName+'\'+tfile;
if not DirectoryExists(t) then
ForceDirectories(t);
if sDirName[Length(sDirName)]<>'\' then
DoCopyDir(sDirName+'\'+tfile,t)
else
DoCopyDir(sDirName+tfile,sToDirName+tfile);
end
else
begin
t:=sToDirName+'\'+tFile;
CopyFile(PChar(tfile),PChar(t),false);
end;
until FindNextFile(F.FindHandle,FindFileData)=false;
FindClose(F);
end
else
begin
ChDir(sCurDir);
result:=false;
exit;
end;
//回到原来的目录下
ChDir(sCurDir);
result:=true;
end;//---- 1.2拷贝目录的函数:CopyDir
function CopyDir(sDirName:String;sToDirName:string):Boolean;
begin
if Length(sDirName)<=0 then
exit;
//拷贝...
Result:=DoCopyDir(sDirName,sToDirName);
end;
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,SHELLAPI;type
TForm1 = class(TForm)
SaveDialog1: TSaveDialog;
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.DFM}procedure TForm1.FormCreate(Sender: TObject);
var
F:TSHFILEOPSTRUCT;
begin
SaveDialog1.FileName:=extractfilepath(application.exename)+'PZCCK1.DBF';
IF SaveDialog1.Execute THEN
BEGIN
F.Wnd:=Handle;
F.wFunc:=fo_COPY;
F.pfrom:=PCHAR(extractfilepath(application.exename)+'PZCCK1.DBF');
f.pto:=PCHAR(SaveDialog1.FileName);
f.fFlags:=FOF_ALLOWUNDO OR FOF_RENAMEONCOLLISION or FOF_SIMPLEPROGRESS;
IF SHFILEOPERATION(F)<>0 THEN
SHOWMESSAGE('文件拷贝失败!');
END;
HALT;
end;end.
算了............还是没有希望