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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 08.03.2009, 13:26   #21
Jeni
Форумчанин
 
Регистрация: 31.05.2007
Сообщений: 486
По умолчанию

Вообще-то, правильнее заключать в кавычки весь путь, а не его отдельные элементы. А так как всё делается программно, то можно просто заключать в кавычки оба пути - и исходный, и целевой - хуже не будет.
Jeni вне форума Ответить с цитированием
Старый 24.05.2009, 17:30   #22
[CKW]-Az-
Новичок
Джуниор
 
Регистрация: 24.05.2009
Сообщений: 1
По умолчанию

Цитата:
Сообщение от KWN, lnc Посмотреть сообщение
у меня не получилось эту функцию использовать! как это сделать?
пытался

Код:
procedure TForm1.Button1Click(Sender: TObject);
begin
FullDirectoryCopy;
end;
и вписывал в
Код:
private 
 Function FullDirectoryCopy;
public
Function FullDirectoryCopy
и там и сям не катит! плиззз помогите!
Это функция и к ней надо параметры указать!!!
[CKW]-Az- вне форума Ответить с цитированием
Старый 02.11.2009, 10:04   #23
LordTor
Пользователь
 
Регистрация: 28.10.2009
Сообщений: 11
По умолчанию Людиииии!!!

Объясните дураку как правильно эту функцию использовать пожалуйста
Function FullDirectoryCopy(SourceDir,TargetD ir: String; StopIfNotAllCopied,
OverWriteFiles: Boolean): Boolean;
LordTor вне форума Ответить с цитированием
Старый 02.11.2009, 10:09   #24
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Например.
Код:
begin
 FullDirectoryCopy('c:\temp','d:\temp\',false,true);
end;
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 02.11.2009, 10:49   #25
LordTor
Пользователь
 
Регистрация: 28.10.2009
Сообщений: 11
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Например.
Код:
begin
 FullDirectoryCopy('c:\temp','d:\temp\',false,true);
end;
извиняюсь за тупость а что в данном случаи означает false,true;
LordTor вне форума Ответить с цитированием
Старый 02.11.2009, 10:56   #26
Kotofff
Участник клуба
 
Аватар для Kotofff
 
Регистрация: 11.01.2009
Сообщений: 1,917
По умолчанию

Цитата:
Сообщение от LordTor Посмотреть сообщение
извиняюсь за тупость а что в данном случаи означает false,true;
Код:
Function FullDirectoryCopy(SourceDir,TargetDir: String; StopIfNotAllCopied, OverWriteFiles: Boolean): Boolean;
Описание от автора:
Цитата:
Аргумент StopIfNotAllCopied: если значение этого аргумента = True, то при первой же ошибке копирования файла или папки, работы функции прекратится а функуция вернёт False. В случае если этот аргумент = False, то ошибки копирования учитываться не будут.
Аргумент OverWriteFiles: если True, то существующие файлы будут переписаны.
"Заряженному танку в дуло не смотрят" @Dekmer in WoT
Kotofff вне форума Ответить с цитированием
Старый 21.03.2010, 21:05   #27
Dr. MefistO
Пользователь
 
Регистрация: 22.03.2009
Сообщений: 25
По умолчанию

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

Т.е. если при FindFirst или при FindNext файл *.ext найден, то пропустить его, и перейти к следующему...

Помогите дополнить эту процедуру параметром SkipExt: string, в котором будет укажываться маска пропускаемых файлов:
Код:
Function FullDirectoryCopy(SourceDir,TargetDir: String; StopIfNotAllCopied,
OverWriteFiles: Boolean): Boolean;
Var
SR: TSearchRec;
I: Integer;
Begin
Result:=False;
SourceDir:= IncludeTrailingBackslash(SourceDir);
TargetDir:= IncludeTrailingBackslash(TargetDir);
If Not DirectoryExists(SourceDir) Then
Exit;
If Not ForceDirectories(TargetDir) Then
Exit;
I:=FindFirst(SourceDir + '*', FaAnyFile, SR);
Try
While I = 0 Do
Begin
If (SR.Name <> '') And (SR.Name <> '.') And (SR.Name <> '..') Then
Begin
If SR.Attr = FaDirectory Then
Result:= FullDirectoryCopy(SourceDir + SR.Name, TargetDir + SR.NAME,
StopIfNotAllCopied, OverWriteFiles)
Else
If Not (Not OverWriteFiles And FileExists(TargetDir + SR.Name)) Then
Result:= CopyFile(Pchar(SourceDir + SR.Name), Pchar(TargetDir + SR.Name),False)
Else
Result:=True;
If Not Result And StopIfNotAllCopied Then
Exit;
End;
I:=FindNext(SR);
End;
Finally
SysUtils.FindClose(SR);
End;
End;
Dr. MefistO вне форума Ответить с цитированием
Старый 22.03.2010, 09:36   #28
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
то пропустить его
Код:
If ExtractFileExt(SR.Name)='.ext' then continue;
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 22.09.2010, 00:13   #29
tarakan1983
Форумчанин
 
Аватар для tarakan1983
 
Регистрация: 09.09.2008
Сообщений: 418
По умолчанию

По поводу Function FullDirectoryCopy.
А если в исходной директории есть большие файлы как избежать зависания Формы?
Код:
Application.ProcessMessages;
не помогает.
tarakan1983 вне форума Ответить с цитированием
Старый 22.09.2010, 08:10   #30
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
tarakan1983
Крутить эту функцию в отдельном потоке.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
расположение папки Data c БД или другими файлами VenMaster Общие вопросы Delphi 2 12.05.2008 23:35
Папки xTANATOSx Общие вопросы Delphi 1 05.11.2007 16:26
Выбор папки UnD)eaD)Snake Общие вопросы Delphi 10 22.08.2007 12:05
Как скопировать папку со всем ее содержимым Arsgun Общие вопросы Delphi 2 09.06.2007 22:07
Отслеживает появление в папке файлов. слежение за определенным файлом в определенной папке. RammFan Win Api 1 09.06.2007 11:09