Текущий архив: 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.46 MB
Время: 0.047 c