2006. augusztus 16., szerda
How to save a complete directory
Problem/Question/Abstract:
Is there an API function which gives all the subdirectories and all the files of one particular directory (in order to save a whole directory for example )?
Answer:
You can copy a whole directory with one instruction using the ShFileOperation API function:
procedure TForm1.Button2Click(Sender: TObject);
var
OpStruc: TSHFileOpStruct;
frombuf, tobuf: array[0..128] of Char;
begin
FillChar(frombuf, Sizeof(frombuf), 0);
FillChar(tobuf, Sizeof(tobuf), 0);
StrPCopy(frombuf, 'd:\brief\*.*');
StrPCopy(tobuf, 'd:\temp\brief');
with OpStruc do
begin
Wnd := Handle;
wFunc := FO_COPY;
pFrom := @frombuf;
pTo := @tobuf;
fFlags := FOF_NOCONFIRMATION or FOF_RENAMEONCOLLISION;
fAnyOperationsAborted := False;
hNameMappings := nil;
lpszProgressTitle := nil;
end;
ShFileOperation(OpStruc);
end;
If you need a list of all files and subdirs you have to do a recursive scan using FindFirst/ FindNext.
Feliratkozás:
Megjegyzések küldése (Atom)
Nincsenek megjegyzések:
Megjegyzés küldése