Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.10.2007, 21:39   #1
Рустам
Форумчанин
 
Регистрация: 04.07.2007
Сообщений: 260
По умолчанию Копирование КАТАЛОГА

Ребят... Подскажите плз.
Есть Какая-нить ф-я или пр-ра для копирования каталога?
Я в Google стучал, там глухо
Как копировать файлы - хоть заройся, а вот как каталог скопировать?
Может ссылочка есть, али шкодинг...
Хорошо не там, где нас нет, а там, где нас еще небыло!!!
Рустам вне форума Ответить с цитированием
Старый 11.10.2007, 22:51   #2
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Для начала уберите рекламу из подписи - у нас это не принято. Странно, что ZETRIX не отреагировал должным образом...
Ответ на ваш вопрос у меня есть в виде исходника.
Жду ответной реакции.
mihali4 вне форума Ответить с цитированием
Старый 12.10.2007, 05:40   #3
KORN
Банхаммер
Участник клуба
 
Аватар для KORN
 
Регистрация: 17.02.2007
Сообщений: 1,754
По умолчанию

Код:
procedure TForm1.CopyFile(Dir:String; CopyTo: string);
Var
  SR:TSearchRec;
  FindRes: integer;
begin
  FindRes:=FindFirst(dir+'*.*',faAnyFile,SR);
  While FindRes=0 do
  begin
  application.ProcessMessages;
    if ((SR.Attr and faDirectory)=faDirectory) and
    ((SR.Name='.')or(SR.Name='..')) then
    begin
    FindRes:=FindNext(SR);
    Continue;
    end;
    if ((SR.Attr and faDirectory)=faDirectory) then
    begin
    FindFile(Dir+SR.Name+'\');
    FindRes:=FindNext(SR);
    Continue;
    end;
    copyfile(pchar(Dir+SR.Name), pchar(CopyTo+'\'+sr.name), true);
  end;
end;
dir - это папка каторую надо скапировать...
CopyTo - место в которое капируем файлы...
Перед тем как спросить ищи на форуме и в GOOGLE

Последний раз редактировалось KORN; 12.10.2007 в 05:48.
KORN вне форума Ответить с цитированием
Старый 12.10.2007, 07:44   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Скока мона твердить: Delphi World ответит на все эти вопросы, скачать его мона очень просто.
Вот оттуда :

unit FilesOp;

interface

uses Forms, SysUtils, ShellAPI, Dialogs;

procedure CopyFiles(const FromFolder: string; const ToFolder: string);

implementation

procedure CopyFiles(const FromFolder: string; const ToFolder: string);
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')
end;

end.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 12.10.2007, 07:57   #5
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

Уберете рекламу, сниму бан.
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума Ответить с цитированием
Старый 13.10.2007, 00:31   #6
execom
Редкий тунеядец
Форумчанин
 
Аватар для execom
 
Регистрация: 29.10.2006
Сообщений: 595
По умолчанию

Способ без всяких сложностей)))) Главное отлично побходит для апишный прог в силу крайней компактности)))) И не говорите мне что это не профессионально... - это быстро и надёжно
Код:
Procedure CopyDir(FromDir,ToDir:string);
begin
winexec(PChar('cmd /c xcopy /C /H /Q /Y ''+FromDir'+' '+ToDir),SW_Hide);
end;
execom вне форума Ответить с цитированием
Старый 13.10.2007, 02:19   #7
Alar
Александр
Администратор
 
Аватар для Alar
 
Регистрация: 28.10.2006
Сообщений: 17,501
По умолчанию

Цитата:
Сообщение от mihali4 Посмотреть сообщение
Для начала уберите рекламу из подписи - у нас это не принято
Это не реклама. Это анекдот.
Alar вне форума Ответить с цитированием
Старый 13.10.2007, 06:11   #8
KORN
Банхаммер
Участник клуба
 
Аватар для KORN
 
Регистрация: 17.02.2007
Сообщений: 1,754
По умолчанию

Цитата:
Procedure CopyDir(FromDir,ToDir:string);
begin
winexec(PChar('cmd /c xcopy /C /H /Q /Y ''+FromDir'+' '+ToDir),SW_Hide);
end;
прочитал раза 4 и тока патом поянл как ты все это замудрена сделал... +1 тебе чувак, но объясни че значат все эти /c xcopy /C /H /Q /Y?

З.Ы. кто убрал мой пост7
Перед тем как спросить ищи на форуме и в GOOGLE

Последний раз редактировалось KORN; 13.10.2007 в 06:13.
KORN вне форума Ответить с цитированием
Старый 13.10.2007, 07:48   #9
zetrix
Delphi/C++/C#
Участник клуба
 
Аватар для zetrix
 
Регистрация: 29.10.2006
Сообщений: 1,972
По умолчанию

Цитата:
прочитал раза 4 и тока патом поянл как ты все это замудрена сделал... +1 тебе чувак, но объясни че значат все эти /c xcopy /C /H /Q /Y?
cmd - запуск командной строки
/C - Выполнение указанной команды, с последующим завершением
xcopy - Копирование файлов и дерева папок
/C - Продолжает копирование, даже если произошла ошибка
/H - Копирует скрытые и системные файлы
/Q - Не отображает имена файлов во время копирования
/Y - Подавляет запрос на подтверждение перезаписи существующего конечного файла.

Запускаем cmd, пишем cmd /? - получаем дофига инфы (в том числе и про /С). Потом пишем в командной строке: xcopy /? - и опять получаем дофига инфы, с объяснением всего (и это по русски).
Неужели самому сложно так сделать?

По поводу рекламы, никто нигде не запрещал использовать рекламу в подписи. В постах запрещено (кроме раздела "для спамеров"). Поэтому я и не отреагировал. (Да и посмотрите на мою подпись: моя реклама 1 + реклама правил 1 + реклама клуба 3 = аж 5 ссылок)

Korn - Ваш пост удалил модератор.

И если вы тут так хотите обсудить нарушение, то стоит напомнить, что использование в логине только заглавных букв - не приветствуется (это было в старых правилах)

Ещё вопросы?

Последний раз редактировалось zetrix; 13.10.2007 в 07:53.
zetrix вне форума Ответить с цитированием
Старый 13.10.2007, 11:23   #10
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Цитата:
Сообщение от Alar Посмотреть сообщение
Это не реклама. Это анекдот.
М-да-а..
Зашел, посмотрел ради любопытства...
Тогда тем более, зачем людей на всякую, м-м-м, фигню отвлекать?
mihali4 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Дата создания каталога eoln Win Api 1 14.07.2008 10:54
Удаление каталога с файлами SANTA_KLAUD Общие вопросы Delphi 17 28.05.2008 17:47
картинки из каталога Var17 PHP 2 06.03.2008 22:05
Проблема с копированием каталога!!! Volkogriz Общие вопросы Delphi 15 18.10.2007 07:57
Шифрование каталога _SERGEYX_ Безопасность, Шифрование 3 02.08.2007 15:16