| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C++ Builder > Написание красивого прелоадера |
| Автор: Vitalishe 6.1.2008, 13:09 |
| Здравствуйте, есть необходимость создать прелодер для программы, которая загружает довольно большой объем информации из базы данных; прогил прелоадеры на ActionScript 2.0 - там все просто: GetBytesTotal (всего байт), BytesLoаded (загружено байт) и проблемма решена, в BCB нашел только получения размера файла...подскажите как получить значение байт, которые уже загружены; |
| Автор: artsb 6.1.2008, 15:28 |
| Я так думаю, что это зависит от того каким образом ты загружаешь. Так же непонятно, куда рыть и где смотреть. |
| Автор: Vitalishe 7.1.2008, 13:26 | ||
Хм... допустим варианта два: ! пока больше интересует 1-й вариант; 1-й. это локальное приложение, которое при запуске ехе файла и загрузки GUI начинает автоматически загружать БД из какого-либо места на HDD локальной машины. 2-й. Расспределённое приложение. Со вторым я думаю разберусь, когда придёт время - главное понять принцип; |
| Автор: artsb 7.1.2008, 23:21 |
| Да нет, я имею ввиду куда вы загружаете данные (таблица или ещё что-нибудь) и как. Напишите код, в котором осуществляется загрузка. Так будет легче что-нибудь придумать. |
| Автор: Sharkfire 8.1.2008, 00:20 |
| Ну я варината собственно 2: а) Показать загрузку каждой таблицы отдельно б) Показать загрузку всех таблиц в обоих случаях тебе поможет TProgressBar тольков Б - сумма всех записей всех таблиц ProgressBar1->Max - задание ProgressBar1->Position - процесс выполнения инкрементируешь |
| Автор: artsb 8.1.2008, 00:46 |
| Суть в том как узнать СКОЛЬКО уже ЗАГРУЖЕНО. Если я правильно понял, конечно. |
| Автор: Vitalishe 8.1.2008, 12:53 | ||||
Спасибо Добавлено @ 12:53
ага |
| Автор: artsb 8.1.2008, 13:25 | ||
|
| Автор: artsb 8.1.2008, 16:26 |
| Как вариант, можно так: Определять размер файла не будем. Каким-то образом определяем количество ячеек таблицы (которые нужно заполнить из файла) и пишем: ProgressBar1->Min=0; ProgressBar1->Max= количество ячеек; Далее, загружая данные, в конце цикла, пишем: ProgressBar1->Position++; // т.е. ещё одна ячейка заполнена |
| Автор: SABROG 9.1.2008, 15:07 | ||
Должно быть подобное событие:
|
| Автор: Vitalishe 10.1.2008, 01:23 | ||||
спасибо большое |