Главная страница
    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.46 MB
Время: 0.049 c
15-1177314606
cj
2007-04-23 11:50
2007.05.27
NTFS-DOS


15-1177259459
MsGuns
2007-04-22 20:30
2007.05.27
Сегодня 133 лет со дня рождения В.И. Ленина


15-1177889760
Tirael
2007-04-30 03:36
2007.05.27
mobility 2003


15-1177411301
Ypbi4
2007-04-24 14:41
2007.05.27
Установка Indy 10


2-1178887697
Yury
2007-05-11 16:48
2007.05.27
Помогите новичку





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский