Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2007.05.27;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.266 c
1-1175014811
BigTon
2007-03-27 21:00
2007.05.27
FastReport и StringGrid


2-1178554030
Первакласник Вася
2007-05-07 20:07
2007.05.27
Таймер


15-1177595223
SkySpeed
2007-04-26 17:47
2007.05.27
Подскажите как разрешить проблему с публичным IP


15-1177314953
Труднопроизносимоеимя
2007-04-23 11:55
2007.05.27
Как работать с реестром в C#


1-1175164782
Пушистый зайчик
2007-03-29 14:39
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский