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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 09.05.2008, 21:12   #1
aesoem
Форумчанин
 
Регистрация: 24.12.2007
Сообщений: 288
По умолчанию Как скопировать с диска файлы

здравствуйте, помогите найти способ как скопировать полностью содержимое диска на винт';

Последний раз редактировалось Квэнди; 10.05.2008 в 00:54. Причина: оформление вопроса.
aesoem вне форума Ответить с цитированием
Старый 09.05.2008, 21:17   #2
AlDelta
Реанимируюсь...
Участник клуба
 
Аватар для AlDelta
 
Регистрация: 19.07.2007
Сообщений: 1,445
По умолчанию

А в чем собственно проблема? Где заминка?
Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живёте.
Правила форума => Правила раздела => Для общего развития => Помощь студентам => Перед тем, как создавать тему, скачайте себе...
P.S.: форум не песочница (с)
название статьи на сайте MS: "Отмена принудительного отключения автоматического запуска в реестре Windows"
AlDelta вне форума Ответить с цитированием
Старый 09.05.2008, 21:23   #3
aesoem
Форумчанин
 
Регистрация: 24.12.2007
Сообщений: 288
По умолчанию

я нашол в нете код полностью но при копировании оно говорит что нет прав какихто и по сей день вопрос не решился дайте вашу версию кода пожалуйста
aesoem вне форума Ответить с цитированием
Старый 09.05.2008, 22:44   #4
eoln
Старожил
 
Аватар для eoln
 
Регистрация: 26.04.2008
Сообщений: 2,645
По умолчанию

Код:
var
  OpStruc: TSHFileOpStruct; 
  frombuf, tobuf: Array [0..128] of Char; 
begin
  FillChar( frombuf, Sizeof(frombuf), 0 ); 
  FillChar( tobuf, Sizeof(tobuf), 0 ); 
  StrPCopy( frombuf, 'A:\*.*' ); 
  StrPCopy( tobuf, 'C:\' ); 
  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;
eoln вне форума Ответить с цитированием
Старый 10.05.2008, 00:41   #5
Terran
Участник клуба
 
Аватар для Terran
 
Регистрация: 28.11.2007
Сообщений: 1,521
По умолчанию

Можешь попробовать так:

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;

procedure TForm1.Button1Click(Sender: TObject);
begin
FullDirectoryCopy('E:\', 'D:\1\', False, True);
end;
Всегда рад помочь!
Terran вне форума Ответить с цитированием
Старый 10.05.2008, 11:23   #6
aesoem
Форумчанин
 
Регистрация: 24.12.2007
Сообщений: 288
По умолчанию

Terran, а как прогрес вставить?
eoln, код не работает штук 20 ошибок сразу
aesoem вне форума Ответить с цитированием
Старый 10.05.2008, 11:24   #7
aesoem
Форумчанин
 
Регистрация: 24.12.2007
Сообщений: 288
По умолчанию

И где можно прочесть статью о копировании файлов???
aesoem вне форума Ответить с цитированием
Старый 10.05.2008, 11:49   #8
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

finfirst +f1
findnext+f1
copyfile +f1
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума Ответить с цитированием
Старый 10.05.2008, 13:05   #9
aesoem
Форумчанин
 
Регистрация: 24.12.2007
Сообщений: 288
По умолчанию

я так понял чтобы зделать прогрес нодо переменной которой мы присваиваем список файлов вызвать функцию Lehght
progressbar1.position:=length (Filesinfo); \\ filesinfo это к примеру переменная куда я занес список файлов... но где эта переменная в коде?
aesoem вне форума Ответить с цитированием
Старый 10.05.2008, 14:20   #10
eoln
Старожил
 
Аватар для eoln
 
Регистрация: 26.04.2008
Сообщений: 2,645
По умолчанию

Цитата:
eoln, код не работает штук 20 ошибок сразу
uses ShellApi включаешь и всё - ни одной ашипки
eoln вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Скопировать в буфер обмена Dj_smart JavaScript, Ajax 8 15.05.2008 19:16
Каким образом скопировать файл? Kashp Общие вопросы Delphi 14 07.08.2007 11:44
два вредных вопроса:про асю и прикриплёные файлы файлы steck Свободное общение 3 17.06.2007 14:53
как скопировать файл Scorpeon Общие вопросы Delphi 1 19.04.2007 13:45
как скопировать? zetrix Microsoft Office Excel 0 30.10.2006 18:52