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

Вниз

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

 
Андрей Терехов   (2003-03-30 18:04) [0]

Подскажите как копировать файл, отображая сколько процентов скопировано на данный момент. Использовал CopyFile и SHFileOperation, до конца копирования размер конечного файла недоступен, даже если Application.ProcessMessages.

Спасибо!


 
jack128   (2003-03-30 18:41) [1]

а чем ShFileOperation не нравится? Он какой то там процессбар показывает...

var ShFO : TSHFileOpStruct;
begin
ZeroMemory(@ShFO,SizeOf(ShFO));
ShFO.Wnd := HAndle;
ShFO.wFunc := FO_COPY;
ShFO.pFrom := PChar("d:\Internet"#0);
ShFO.pTo := PChar("d:\Internet1"#0);
ShFO.fFlags := 0;
ShFO.fAnyOperationsAborted := True;
ShFO.lpszProgressTitle := "Show";
if SHFileOperation(ShFO)=0 then ShowMessage("Yra")
else ShowMessage("No");

Если уж совсем никак, то можно создать pTo - файл, читать из pFrom файла мапример 1024 байта, писать в pTo файл - оторажать на форме процесс копирования - так в цикле до победного конца -)

ЗЫ хотя извращения все это


 
Slym   (2003-03-30 20:08) [2]

Ищи в Win32SDK по CopyFileEx-
Используя ProgressRoutine - узнаешь скопировано/из
The CopyFileEx function copies an existing file to a new file.

BOOL 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
LPVOID lpData, // to be passed to the callback function
LPBOOL pbCancel, // flag that can be used to cancel the operation
DWORD dwCopyFlags // flags that specify how the file is copied
);


Parameters

lpProgressRoutine

Specifies the address of a callback function of type LPPROGRESS_ROUTINE that is called each time another portion of the file has been copied. This parameter can be NULL. For more information on the progress callback function, see CopyProgressRoutine.



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

Форум: "Система";
Текущий архив: 2003.05.29;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.44 MB
Время: 0.01 c
14-95045
Scorpx
2003-05-09 08:31
2003.05.29
И вновь взломали сайт!


3-94735
Andrey Filatow
2003-05-08 16:30
2003.05.29
Фильтрация в TQuery


3-94776
dpv
2003-05-12 12:28
2003.05.29
работа в консоле


3-94694
Vanoshka
2003-05-07 22:27
2003.05.29
InterBase


14-95119
Дмитрий К.К.
2003-05-12 15:43
2003.05.29
Stack overflow при компиляции пакета





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