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

Вниз

Прогресс при копировании   Найти похожие ветки 

 
Intell ©   (2003-06-24 20:36) [0]

Я копирую файл так:
Copyfile(PChar(form1.Edit12.text),PChar(form1.Edit2.text),true)
а как узнать и вывести прогресс копирования в Gauge?


 
Джо   (2003-06-24 20:49) [1]

Копируй по байтам!!!


 
Intell ©   (2003-06-24 20:54) [2]

подробней можно, у меня примеров по копированию много, но допереть о прогрессе не могу.


 
Романов Р.В. ©   (2003-06-24 21:00) [3]

CopyFileEx(
LPCWSTR lpExistingFileName, // pointer to name of an existing file
LPCWSTR lpNewFileName, // pointer to filename to copy to
LPPROGRESS_ROUTINE lpProgressRoutine, // pointer to the callback function


 
INCOGNITO ©   (2003-06-24 23:49) [4]

Копирование методом TurboPascal Type
TCallBack=procedure (Position,Size:Longint); {Для индикации
процесса копирования}
procedure FastFileCopy(Const InfileName, OutFileName: String;
CallBack: TCallBack);
Const BufSize = 3*4*4096; { 48Kbytes дает прекрасный результат }
Type
PBuffer = ^TBuffer;
TBuffer = array [1..BufSize] of Byte;
var
Size : integer;
Buffer : PBuffer;
infile, outfile : File;
SizeDone,SizeFile: Longint;
begin
if (InFileName <> OutFileName) then
begin
buffer := Nil;
AssignFile(infile, InFileName);
System.Reset(infile, 1);
try
SizeFile := FileSize(infile);
AssignFile(outfile, OutFileName);
System.Rewrite(outfile, 1);
try
SizeDone := 0; New(Buffer);
repeat
BlockRead(infile, Buffer^, BufSize, Size);
Inc(SizeDone, Size);
CallBack(SizeDone, SizeFile);
BlockWrite(outfile,Buffer^, Size)
until Size < BufSize;
FileSetDate(TFileRec(outfile).Handle,
FileGetDate(TFileRec(infile).Handle));
finally
if Buffer <> Nil then Dispose(Buffer);
System.close(outfile)
end;
finally
System.close(infile);
end;
end else
Raise EInOutError.Create("File cannot be copied into itself");
end;


 
Babay ©   (2003-06-25 05:07) [5]

а можно использовать SHFileOperation он и скопирует и прогресс стандартный виндовозный может показать, может сразу папку скопировать и много другого чего. Рекомендую сам уже давно пользую и не жалею.


 
Intell ©   (2003-06-25 09:25) [6]

Babay © (25.06.03 05:07)
а можно использовать SHFileOperation он и скопирует и прогресс стандартный виндовозный может показать, может сразу папку скопировать и много другого чего. Рекомендую сам уже давно пользую и не жалею.

такой у меня есть, но нужно прогресс на форме указывать!

INCOGNITO, примерчик не хилый...


 
delphimun   (2003-06-25 10:06) [7]

Я программу для разрезания файлов недавно писал, в ней у меня и прогресс бар есть, по ее методу можно и файлы копировать, если надо пиши, я тебе ее исходники скину она при помощи Strem-ов режит(тоесть копирует файл, но по блокам, укажишь размер блока=размеру файла то она, считай копировать будет)
Вообщето я исходник на сайт закинул:

http://delphin.rbcmail.ru/1.zip

Она правда еще чуть недоделана(только обработка исключительных ситуаций хромает, но то что тебе нужно есть


 
kudatsky   (2003-06-25 11:12) [8]

Используй CopyFile из RxLib


 
Intell ©   (2003-06-25 13:11) [9]

delphimun, спасибо, посмотрю!



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

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

Наверх




Память: 0.48 MB
Время: 0.016 c
7-20333
chernoruk
2003-04-23 20:39
2003.07.07
Как же наконец программно звук убить?


14-20260
Snake2000
2003-06-19 14:21
2003.07.07
СЕССИЯ - Шпоры


1-20045
Maksss
2003-06-25 13:47
2003.07.07
Listview


3-19993
AkaSaint
2003-06-11 00:40
2003.07.07
Не могу создать Lookup-поле без DataSet


1-20072
hex_for_delphi
2003-06-24 00:37
2003.07.07
как загружать из внешнего файла в масив и обратно.