Страница 1 из 2

Копирование Файлов

Добавлено: 16 мар 2007, 12:50
orivet
идея следующая...
писал программку для бэкапа некоторых папок на сетевую машину...
пользоволся createprocess процедурой вызывал досовкую xcopy с набором параметров...
на первое время ничего но дело в том, что xcopy вызывает консолю в которой там просвечиваются копированные файлы... и дело в том что запускается сразу несколько процессов xcopy... так как нужно копировать разные папки из совершенно разных директорий с поддпиректориями... иными словами: сидит бестолковая секретарша у нее начинается копирование файлов вылетает сообщение поверх всех окон чтобы она ничего не трогала, а на заднем фоне вылетают эти консольки и все копируют... хотелось бы все таки сделать так, чтобы процесс копирования был невидим для пользователя... Облазил кучу книжек, втч Фараонова... Ничего про делфовское копирование файлов ненашел... нашел виндовое копирование файлов, да и то - только упоминания о нем... Ну типа есть функция copyfile она блин файлы копирует, ни в одной библиотеке такой функции нет.
Если кто-то может помочь буду очень благодарен, заранее спасибо.
P.S. юзаю делфи 7

Re: Копирование Файлов

Добавлено: 16 мар 2007, 13:46
BBB
Плохо искал.

uses Windows;

Код: Выделить всё

function CopyFile (lpExistingFileName, lpNewFileName: PChar; bFailIfExists: BOOL): BOOL; stdcall;

function CopyFileEx(lpExistingFileName, lpNewFileName: PChar;
  lpProgressRoutine: TFNProgressRoutine; lpData: Pointer; pbCancel: PBool;
  dwCopyFlags: DWORD): BOOL; stdcall;
Описание - в MSDN

А Delphi-йный хелп (у меня Delphi 6), кстати, находит функцию:

Код: Выделить всё

function CopyFileTo(const Source: string; const Destination: string): Boolean;

Re: Копирование Файлов

Добавлено: 16 мар 2007, 13:49
BBB
orivet, А чтобы в консоли не было списка копируемых файлов, используй при вызове xcopy перенаправление консольного вывода в NUL. Пимерно так:

xcopy {тут твои параметры} > NUL

Re: Копирование Файлов

Добавлено: 16 мар 2007, 14:15
orivet
1) насчет небыло списка... это пофигу, на самом деле даже лучше когда он есть, чтобы человек мог воткнуть что происходит а не просто закрыть хрен пойми зачем вылезшее окошко, и, кстати, он и без нула ниче не показывает, чтобы показывал список надо дописывать парметр
2) насчет copyfile, copyfileex, copyfileto, с uses windows... не пашет... делфи 7... может сп1 надо?

Re: Копирование Файлов

Добавлено: 16 мар 2007, 14:19
orivet
аааааааааааааа блин я идиот... простите, есть copyfile
а умного копирования с директориями нет?
тоесть только смотреть список папок откуда и создавать его там куда копировать и тд?
ну дригими словами кучу процедур писать придеца без этого...

Re: Копирование Файлов

Добавлено: 16 мар 2007, 16:16
BBB
orivet писал(а):аааааааааааааа блин я идиот... простите, есть copyfile
а умного копирования с директориями нет?
По-моему, "умного" копирования в WinAPI нет :)

Не исключено, то это уже кем-то написано. В виде какой-нбудь библиотеки или компонента.

Re: Копирование Файлов

Добавлено: 16 мар 2007, 16:24
orivet
да... видимо у меня навыки поиска галимые... спасибо за помощь!

Re: Копирование Файлов

Добавлено: 16 мар 2007, 16:28
orivet
а copyfileto Кстати у меня нет...
а как работать одновременно с copyfile, extractfilename, findfirst я так и не понял там им каждому свой тип пути к файлу подавай: string, tsearchrec, pchar... жесть

Re: Копирование Файлов

Добавлено: 22 мар 2007, 12:47
Blood_Magic
есть умное копирование, если еще надо могу кинуть, дома есть на память не помню функцию

Re: Копирование Файлов

Добавлено: 22 мар 2007, 15:59
somewhere
Тут где-то была тема получения списка файлов, сам лично функцию выкладывал, ищите...