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

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

Копирование директорий


astronom ©   (2007-02-08 12:19:00) 

Здравствуйте товарищи! Может быть кто-нибудь подскажет, как можно силами delphi скопировать директорию, например с одного диска на другой (ну или из директории в директорию)?


Elen   (2007-02-21 09:26:00) [1]


> Astronom ©   (21.02.07 05:05) [5]

Ой стоп не перед ShFileOperation( OpStruc ); а пердед wFunc := FO_COPY;


Elen   (2007-02-21 09:25:00) [2]


> не могу зафиксировать нажатие клавиш CTRL и SHIFT

Перед ShFileOperation( OpStruc );(если конечно примером[1] пользуеш) проверь GetKeyState(VK_SHIFT) и GetKeyState(VK_ctrl). если соответствующий результ отрицательный то соответствующая клавиша зажата


Astronom   (2007-02-21 05:05:00) [3]

Возникла ещё одна проблемка: не могу зафиксировать нажатие клавиш CTRL и SHIFT при перетаскивании директорий. В общем, нужно сделать как у Windows: нажал CTRL - папка копируется, нажал SHIFT - перемещается, но пока я добился этого только для случая, когда одна из данных клавиш нажата ДО начала перетаскивания, но не во время.


vasIZmax   (2007-02-08 15:57:00) [4]


> Amoeba ©   (08.02.07 15:34) [3]

во-во, наверно с королевства брал.
к [1] надо добавить (с) КД


Amoeba   (2007-02-08 15:34:00) [5]

http://www.delphikingdom.com/asp/viewitem.asp?catalogid=91


Darvin   (2007-02-08 15:24:00) [6]

рекурсия + копирование файлов


vasIZmax   (2007-02-08 12:23:00) [7]

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;

не мое... в каком-то faq'е нашел, на компе валяется...
ЗЫ. попробуй


Наверх

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