Главная страница
    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.46 MB
Время: 0.006 c
1-20138
picaroon
2003-06-25 08:23
2003.07.07
Передача переменных из формы в форму.


8-20175
lexa
2003-03-23 13:00
2003.07.07
Как заставить MediaPlayer распознать Mp3 файл?


1-20061
akorsun
2003-06-25 18:15
2003.07.07
Кодировка хинтов в терминал-сервер.


14-20236
Дмитрий К.К.
2003-06-19 06:15
2003.07.07
Именинники 19 июня


14-20294
Vlad Oshin
2003-06-19 07:48
2003.07.07
какая программа периодически создает каталог с: KPCMS





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский