Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Дериктория [D7, WinXP]


Cherepovets ©   (2004-10-05 09:59:00) 

Народ как ее скопирировать в другую дерикторию
к примеру
папку log на диске с:\ на диск d:\


Amoeba   (2004-10-05 11:53:00) [1]


> Cherepovets   (05.10.04 11:49) [3]

Прочитай рекомендованную мной статью. Там есть готовый правильный код.


Cherepovets   (2004-10-05 11:49:00) [2]


var
 Fo      : TSHFileOpStruct;
 buffer  : array[0..4096] of char;
 p       : pchar;
begin
 FillChar(Buffer, sizeof(Buffer), #0);
 p := @buffer;
 StrECopy(p, PChar(FromFolder)); //директория, которую мы хотим скопировать
 FillChar(Fo, sizeof(Fo), #0);
 Fo.Wnd    := Application.Handle;
 Fo.wFunc  := FO_COPY;
 Fo.pFrom  := @Buffer;
 Fo.pTo    := PChar(ToFolder); //куда будет скопирована директория
 Fo.fFlags := 0;
 if ((SHFileOperation(Fo) <> 0) or (Fo.fAnyOperationsAborted <> false)) then
   ShowMessage('File copy process cancelled')


ТАк вот он выдает ситемимеую ошибку про длинные имена и не копирует =(


Amoeba   (2004-10-05 11:28:00) [3]

Разумнее (IMHO!) использовать SHFileOperation
Рекомендую прочесть вод это:
http://www.delphikingdom.com/asp/viewitem.asp?UrlItem=/mastering/fileshellapi.htm


Мастер   (2004-10-05 10:09:00) [4]

вот пара вариантов на выбор:
1. SHFileOperation
2. FindFirst/FindNext/FindClose рекурсивно.

Оба примера есть в FAQ.


Наверх

Титульная страница Поиск, карта сайта Написать письмо