Главная страница
    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
14-20212
muzik
2003-06-17 16:53
2003.07.07
---|Ветка была без названия|---


14-20305
Suntechnic
2003-06-18 17:31
2003.07.07
Оптимальный алгоритм преобразования в натуральное цело число...


1-20099
antoniz
2003-06-24 12:04
2003.07.07
В поле таблицы БД сохранен файл Excel можно ли открыть его в Exce


3-20003
aga
2003-06-13 21:17
2003.07.07
BLOB


6-20186
Tenrai
2003-04-04 06:11
2003.07.07
Новое окно при клике на ссылку в TWebBrowser





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