想将一个文件夹下面的文件都复制到另一个文件夹中,知道可以用Copyfile进行单个文件的复制,请教各位如何复制多个文件???
如果采用循环,循环条件怎么写才能逐个复制文件?谢谢
如果采用循环,循环条件怎么写才能逐个复制文件?谢谢
解决方案 »
- 在TSQLDataSet 如何获取指定行指定列的值 比如第5行第1列里的值
- copyFile中的true,和false有什麽區別呀?
- 请指导
- 自己做了一个DELPHI版本控制的东东
- messagebox(self.Handle,inttostr(12),'title',mb_ok);为何出错
- Could not find interface IAppServer in type library.
- 如何配置服务器?(SQLSERVE库)
- 关于ODAC: OraQuery(CachedUpdates=True)一旦写了OnUpdateRecord事件,那个OraQuery.RefreshSQL语句返回0行报错, 不写就没问题
- 急!!急死人了,为什么我的邮件接收软件只能收部分网站的邮件??救救我,大虾,要给炒鱿鱼了。。唔唔。。
- 使用C++Biulder4,怎样在一个新的工程中使用已开发好的旧form?
- 挂勾中的一个问题
- 郁闷
//涵数名: CopyDir
//参数: DirName 待拷贝的文件夹
// DestDrive 目标文件夹
// IncludeSub 是否拷贝子目录
// true 拷贝子目录
// false 不拷贝子目录
// ToRecyle 是否允许取消
// true 允许
// false 不允许
//------------------------------------------------------------------------------
function TForm1.CopyDir(const DirName, DestDrive: string; const IncludeSub,
ToRecyle: Boolean): Boolean;
var
fo: TSHFILEOPSTRUCT;
tmpDir: String;
begin
FillChar(fo, SizeOf(fo), 0);
with fo do
begin
Wnd := GetActiveWindow;
wFunc := FO_COPY;
pFrom := PChar(DirName + '\*.*' + #0);
if Pos(DestDrive, '\') > 0then
tmpDir := DestDrive + Copy(DirName, 3, Length(DirName) - 2)
else
tmpDir := DestDrive + '\' + Copy(DirName, 3, Length(DirName) - 2);
if not DirectoryExists(tmpDir)then
CreateDir(tmpDir);
pTo := PChar(tmpDir);
fFlags := FOF_SILENT or FOF_NOCONFIRMATION or FOF_NOERRORUI
or (Ord(not IncludeSub) * FOF_FILESONLY)
or (ORd(ToRecyle) or FOF_ALLOWUNDO);
end;
Result := (SHFileOperation(fo) = 0);
end;
FindNext()study it in the Delphi's help
clipbrd, shellapi; {$R *.DFM} procedure TForm1.Button1Click(Sender: TObject);
var
f: THandle;
buffer: Array [0..MAX_PATH] of Char;
i, numFiles: Integer;
begin
Clipboard.Open;
try
f:= Clipboard.GetAsHandle( CF_HDROP );
If f <> 0 Then Begin
numFiles := DragQueryFile( f, $FFFFFFFF, nil, 0 );
memo1.Clear;
for i:= 0 to numfiles - 1 do begin
buffer[0] := #0;
DragQueryFile( f, i, buffer, sizeof(buffer));
memo1.lines.add( buffer );
end;
end;
finally
Clipboard.close;
end;
end;
ToRecyle: Boolean): Boolean;
var
fo: TSHFILEOPSTRUCT;
tmpDir: String;
begin
FillChar(fo, SizeOf(fo), 0);
with fo do
begin
Wnd := GetActiveWindow;
wFunc := FO_COPY;
pFrom := PChar(DirName + '\*.*' + #0);
if not DirectoryExists(DestDrive) then
CreateDir(DestDrive);
pTo := PChar(DestDrive);
fFlags := FOF_SILENT or FOF_NOCONFIRMATION or FOF_NOERRORUI
or (Ord(not IncludeSub) * FOF_FILESONLY)
or (ORd(ToRecyle) or FOF_ALLOWUNDO);
end;
Result := (SHFileOperation(fo) = 0);
end;