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

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

Копирование файлов по списку [D7, XP]


Страницы:   1 2

Steep ©   (2006-09-12 08:19:00) 

Можете привести код копирования файлов по списку List или из файла (я думаю что в принципе это одно и тоже)
Желательно в отдельном потоке или методом windows

Рассматривал различные примеры, но там либо копирование 1 файла или копирование папки


Steep   (2006-09-13 07:45:00) [21]

Вобщем копирование из файла по списку я замутил..! :)
 Осталось 2 проблемы
1. мне нужно чтобы если копируется больше указанного размера, то копирование прекращалось.
2. В зависимости от выбранного типа действия: либо копировалось, либо перемещалось, либо удалялось
{как я понял FO_COPY достаточно заменить на FO_MOVE, FO_DELETE
примерный код такой
---~Начало~----
var
i : integer;
s : TStringList;
Fo:TSHFileOpStruct;
buffer: array[0..4096] of char;
p:pChar;
Begin
s.TStringList.Create;
s.LoadFromFile(ExtractFilePath(application.ExeName)+'files.txt');
FillChar(Buffer, size of (Buffer), #0);
p:=@buffer;
for i:=0 to s.count-1 do p:=StrECopy(p, PChar(s.strings[i]))+1;
FillChar(Fo, sizeof(Fo), #0);
Fo.Wnd:=handle;
///Пробный код с кейсом
case ComboBox.item of (не помню точно, короче выбранный)
0: Fo.wFunc:=FO_COPY //Копирование;
1: Fo.wFunc:=FO_MOVE //Перемещение;
2: Fo.wFunc:=FO_DELETE //Удаление;
end;
//конец
Fo.pFrom:=@buffer;
Fo.pFo:=pChar(editPath.text);
Fo.tFlags:=0;
if ((SHFileOperations(Fo)<>0) or (Fo.AnyOperationsAborted<>false)) then Showmessage('Aborted');//кстати почему если убираешь эту строку, то не работает?
---~Конеч~----
Но когда я делаю с кейсом вылазит ошибка(причем уже в компилянной проге..) Без кейса все нормально работает..}


MBo   (2006-09-12 08:33:00) [22]

Там примеры использования, а описание функции и SHFILEOPSTRUCT смотри в MSDN, обратив внимание на pFrom и pTo

кроме того, раз ты знаешь, как копировать один файл, ничего не мешает сделать это в цикле для множества имен файлов.


Steep   (2006-09-12 08:26:00) [23]

в FAQ токо копирование папки с подкаталогами и удаление в корзину :(


Steep   (2006-09-12 08:21:00) [24]

Заранее спасибо за ответы!


MBo   (2006-09-12 08:21:00) [25]

в FAQ, искать ShFileOperation


Страницы:   1 2

Наверх

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