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

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

Копирование файлов [D5, Win95/98, WinXP]


dr0Ne64 ©   (2002-05-27 21:26:00) 

Подскажите чайнику плизз : Как скопировать группу файлов с одинаковым расширением в один каталог ?(С помощью Delphi ;) Что-то типа CopyFile("C:\*.exe","D:\Papka\*.exe ,True) :)))


rhf   (2002-05-27 21:58:00) [1]

Можно с помощью API shFileOperation() с диалогом, запросами и все такое (как копирование в windows).
примерно вот так


.....
var
fo:shFileOpStruct;
.....
begin
fillChar(fo,sizeOf(fo),#0);
fo.Wnd:=form1.handle;
fo.wFunc:=FO_COPY;
fo.pFrom:=pChar("c:\*.*");
fo.pTo:=pChar("c:\q");
fo.fFlags:=0;
shFileOperation(fo);
......


А можно и вручную
mask - маска
s - исходный каталог
d - каталог для копирования
кстати по маске будут проверены вложенные папки и тогда будет обработано и их содержимое


procedure copyFiles(mask,s,d: string);
var sr: tSearchRec;
begin
forceDirectories(d);
findFirst(s+"\"+mask,faAnyFile,sr);
repeat
application.processMessages;
if (sr.name<>".")and(sr.name<>"..")then
if sr.attr=faDirectory then copyFiles(mask,s+"\"+sr.name,d+"\"+sr.name)
else copyFile(pChar(s+"\"+sr.name),pChar(d+"\"+sr.name),false);
until findNext(sr)<>0;
findClose(sr);
end;


Song   (2002-05-27 21:55:00) [2]

TSearchRec --> CopyFile()


Наверх

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