![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
копирование каталогов с содержимым [D7]
bogdan © (2005-08-14 16:22:00)Привет всем прогерам!
Вот написал себе авторан на диск но никак не могу сделать функцию копирования целых каталогов с одного диска на другой, и вовсе просто каталога. Пробовал Xcopy но здесь выводит режим MS Dos а мне нужен windows и без всяких спросов, может вы чем поможете. Спасибо заранее.
bogdan (2005-08-16 23:16:00) [1]пасибо, будем разбираться
Fay (2005-08-16 15:48:00) [2]2 bogdan (16.08.05 13:01) [7]
Не очень изящно, но работает. Про флаги читай сам.
procedure TForm1.Button1Click(Sender : TObject);
function MKSTR(s : string; b : Boolean = True) : PChar;
begin
if b then
s := StringReplace(s, '\', '\\', [rfReplaceAll]);
GetMem(Result, Length(s) + 2);
StrCopy(Result, PChar(s));
Result[Length(s)] := #0;
end;
var
s : TSHFileOpStruct;
begin
s.Wnd := Self.Handle;
s.wFunc := FO_COPY;
s.pFrom := MKSTR(Edit1.Text);
s.pTo := MKSTR(Edit2.Text);
s.fFlags := FOF_NOCONFIRMATION or FOF_NOCONFIRMMKDIR;
s.fAnyOperationsAborted := True;
s.hNameMappings := nil;
s.lpszProgressTitle := MKSTR('Заголовок', False);
SHFileOperation(s);
FreeMem(s.pFrom);
FreeMem(s.pTo);
FreeMem(s.lpszProgressTitle);
end;
bogdan (2005-08-16 13:01:00) [3]а можно подробнее о SHFileOperation а то сложновато на английском и на русском также
KilkennyCat (2005-08-15 21:20:00) [4]гм... действительно, что-то я ляп сделал. Прошу прощения, неправ.
Fay (2005-08-15 20:02:00) [5]2 KilkennyCat © (15.08.05 19:59) [4]
IMAPIFolder::CopyFolder ? Странный способ...
KilkennyCat (2005-08-15 19:59:00) [6]win32 sdk reference
TStas (2005-08-15 19:51:00) [7]Странно, CopyFolder справка дельфи не находит. Видимо надо какой-то модуль подключить
TUser (2005-08-14 16:42:00) [8]SHFileOperation
KilkennyCat (2005-08-14 16:35:00) [9]CopyFolder
с флагом COPY_SUBFOLDERS