Форум: "Основная";
Текущий архив: 2004.06.06;
Скачать: [xml.tar.bz2];
ВнизКак прикрутить ProgressBar к копированию файла? Найти похожие ветки
← →
_mandrake_ (2004-05-26 19:29) [0]Как отобразить в ProgressBar процесс копирования файла?
← →
SammIk © (2004-05-26 19:44) [1]BOOL CopyFileEx(
LPCTSTR lpExistingFileName, // name of existing file
LPCTSTR lpNewFileName, // name of new file
LPPROGRESS_ROUTINE lpProgressRoutine, // callback function
LPVOID lpData, // callback parameter
LPBOOL pbCancel, // cancel status
DWORD dwCopyFlags // copy options
);
http://msdn.microsoft.com
← →
_mandrake_ (2004-05-26 19:50) [2]В Windows SDK Help в заголове к CopyFileEx написано [New - Windows NT]. Это значит что функция не будет работать под win9x? (У меня win2k, так что проверить на практике пока не могу)
← →
SammIk © (2004-05-26 20:01) [3]Да, написано что не поддерживает 9х.
А оно тебе надо?
Можно сделать так:
Открываешь фаил на чтение, создешь новыи пустои фаил(типа копия).
Копируешь из первого во второи, блоками(допустим по 512 баит).
И замеряешь сколько уходит времени, потом прикидываешь сколько
потребуется времени на оставшуюся часть(можно динамически это вычислять). И получился у нас новыи копи фаил виз прогресс)
← →
SammIk © (2004-05-26 20:09) [4]Вот приблезительныи код, изабилующии ошибками.
Но думаю смысл будет понятен.
Надеюсь поможет))h1:=openfile(1.txt,.....);
size:=getfilesize(h1);
h2:=openfile(1.txt,.....CREATE);
repeat
n:=1;
tmp:=getticcount;
readfile(h1,buf,512,...........);
writefile(h2,buf,512,..........);
tmp:=tmp-getticcount;
tmp_time:=((size div 512)*tmp-n*512) div 1000;Сколько будет копироваться оставшаяся часть
n:=n+1;
until size=ss{Типа сколько скопировал};
← →
Amoeba © (2004-05-27 14:51) [5]
> (У меня win2k, так что проверить на практике пока не могу)
В Win2k работать будет все, что работает в NT
← →
Гаврила © (2004-05-27 14:58) [6]Есть такая функция - SHFileOperation
в числе прочего, умеет копировать файл с показом стандартного окошка Windows
с прогрессом, летящими листочками, и прочими аттрибутами
← →
Amoeba © (2004-05-27 15:03) [7]
> SHFileOperation
На http://www.delphikingdom.com на эту тему есть хорошая статья.
← →
Романов Р.В. © (2004-05-27 15:06) [8]
> Это значит что функция не будет работать под win9x?
на win9x эта функция работать будет
← →
slgeo © (2004-05-27 15:21) [9]В RxLib есть своя функция CopyFile, в параметре которой передается ссылка на ProgressBar
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.06.06;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.036 c