Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.05.27;
Скачать: CL | DM;

Вниз

:-) Анатомия копирования   Найти похожие ветки 

 
Doom-2   (2007-05-11 15:10) [0]

Копирую так:
procedure TFormMain.CopyF(copyFrom, copyTo: string);
const
BufSize = 3*4*4096;
type
PBuffer = ^TBuffer;
TBuffer = array [1..BufSize] of Byte;
var
f1, f2: file;
Size, SizeDone: integer;
Buffer: TBuffer;
begin
SizeDone:=0;
AssignFile( f1, copyFrom );
AssignFile( f2, copyTo );
Reset( f1, 1 );
Rewrite( f2, 1 );
Size := FileSize( f1 );
ProgInStat.Max := Size;
repeat
 BlockRead( f1, Buffer, BufSize, Size );
 Inc( SizeDone, Size );
 ProgInStat.Position := SizeDone;
 BlockWrite( f2, Buffer, Size );
 Application.ProcessMessages;
until Size < BufSize;
 Self.Close;
end;

procedure CreateDirect(Const Name : String);
begin
If (DirectoryExists(Name))or(Length(Name) <= 0)then
Exit;
CreateDirect(ExtractFileDir(Name));
CreateDir(Name);
end;

procedure TFormMain.DirCopy(Const InName, OutName : String);
Var SS : TSearchRec;
   Result: Integer;
begin
 CreateDirect(OutName);
  Result :=FindFirst(InName + "\*.*", faAnyFile, SS);
  While (Result=0) do begin
   If (SS.Name <> ".") and (SS.Name <> "..")
    then FormMain.CopyF(IncludeTrailingPathDelimiter(InName)+SS.Name,
     IncludeTrailingPathDelimiter(OutName)+SS.Name);
   Result :=FindNext(SS);
  end;
  FindClose(SS);
  ProgInStat.Position := 0;
end;

Всё работает, пока не начинаешь копировать с сетевого диска на локальный!
Компилятор останавливается на строке:
Reset( f1, 1 ); и пишет, что нет доступа к файлу (причём не пишет к какому)

Как это исправить? (чтобы он стал копировать отовсюду)
Как можно было бы добавить параметр (boolean) - копирование только изменившихся файлов?


 
Anatoly Podgoretsky ©   (2007-05-11 15:20) [1]

> Doom-2  (11.05.2007 15:10:00)  [0]

> Компилятор останавливается на строке:

Не может подобного компилятор сообщать


 
MBo ©   (2007-05-11 15:26) [2]

CopyFileEx используй или SHFileOperation. Зачем руками куски колбасить?


 
Doom-2   (2007-05-11 15:41) [3]

> Компилятор останавливается на строке:
Не может подобного компилятор сообщать

ну программа!

Почему с сетевого каталога копировать не хочет?


 
Правильный Вася   (2007-05-11 15:53) [4]

это на анатомия, это проктология


> Почему с сетевого каталога копировать не хочет?

пути неверные


 
Doom-2   (2007-05-11 15:53) [5]

10 раз проверил - верные!


 
Doom-2   (2007-05-11 15:57) [6]

Лишний раз ради принипа запустил....
"File access denied"


 
Anatoly Podgoretsky ©   (2007-05-11 16:31) [7]

> Doom-2  (11.05.2007 15:57:06)  [6]

Одназначно говорит - нет прав



Страницы: 1 вся ветка

Текущий архив: 2007.05.27;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.046 c
15-1177592026
Kolan
2007-04-26 16:53
2007.05.27
Как найти где можно получить сертификаты Borland в моём городе?


5-1154348686
Peak
2006-07-31 16:24
2007.05.27
Программный DragDrop


9-1150924449
kins
2006-06-22 01:14
2007.05.27
Как писать движок ?


1-1175146706
Medusa__
2007-03-29 09:38
2007.05.27
Распечатка TPanel.


15-1177432387
ArtemESC
2007-04-24 20:33
2007.05.27
Photoshop