|
Платные хостинги
Раскрутка сайта
Книги по программированию
Копирование файлов..., ...используя "msctls_progress32"
- делаешь в дельфе copyfile для каждого файла по очереди и как очередь убывает - добавляешь в прогресс бар.
- Код //Создаём прогресс hwndProgress := CreateWindowEx(0, 'msctls_progress32', nil, WS_CHILD or WS_VISIBLE or PBS_SMOOTH, 8, 136, 329, 16, hWnd, 0, hInstance, nil); SendMessage(hwndProgress, PBM_SETRANGE, 0, Integer(100 shl 16));//RANGE SendMessage(hwndProgress, PBM_SETSTEP, 1, 0);//STEPSendMessage(hwndProgress, PBM_SETPOS, 0, 0);//Позиция прогресс бараhighlightSyntax('delphiNzFkOT','delphi');ЗЫ:только не надо писать что ответ найден и давать ссылку на библиотеку ленина.
- Код procedure CopyFiles;var Files: TStringList; Dest: string; i: integer;begin SendMessage(hwndProgress, PBM_SETPOS, 0, 0); //ставим в нуль for i := 0 to Files.Count - 1 do begin CopyFile(PChar(Files.Strings[i]), PChar(Dest + ExtractFileName(Files.Strings[i])), False); SendMessage(hwndProgress, PBM_SETPOS, i + 1, 0); end;end;highlightSyntax('delphijA4N2N','delphi');Где Dest - папка куда копируются файлы, Files - список копируемых файлов, i - переменная для отсчитывания файлов, hwndProgress - хендл прогресс бара. Естественно "ёмкость" прогресс бара надо установить в количестве Files.Count, чтобы не было пустых ячеек. Я думаю, именно такую реализацию имел ввиду WolfOn. Это сообщение отредактировал Quadr0 - 19.5.2005, 00:05
- можно. для этого перед началом копирования нужно выполнить обход все каталогов и посчитать сколько файлов в них содержится.для копирования файлов с возможностью остановки используй CopyFileEx()
- тогда пиши свою функцию
- а я откуда знаю? ты задал вопрос -- я ответил. если ты имел в виду не то что спросил -- спроси то, что имел в виду...
- Сначала ищешь папки (FindFirst(Path, faDirectory, SearchRec)), потом проходишься по всем папкам, собирая файлы. Код длинный и разобран в DRKB. Скачивай (с этого форума) и разбирайся. Там много чего по поиску и работе с файлами есть.
- Что значит остановка копирования? Она произойдёт, когда ProgressBar заполнится или когда счётчик твоих файлов будет равен нулю. Или ты хочешь узнать когда ВСЕ файлы из ВСЕХ папок скопируются? Тогда введи абсолютный счётчик, который обозначает количество всех файлов во всех папках, а не только в какой-то определённой.
Интернет казино
Онлайн игры
Увеличение члена
Купить DVD
|