| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Для новичков > Длительное выполнение программы |
| Автор: chiffa 25.7.2007, 12:45 |
| Всем привет. Столкнулся с такой проблемкой. Программа вставляет в еклесь данные по 4 столбца, окло 80-т строчек, вкаждый лист книги, всего 100 листов. при этом программа на долго задумывается. как сделать что бы пользователь не подумал что прога висит? |
| Автор: sentry 25.7.2007, 12:51 |
| Либо использовать ProgressBar, либо просто в окошке просить пользователя подождать. |
| Автор: ALeXandrK 25.7.2007, 12:58 | ||||||
Используй ProgressBar, тем более, что ты знаешь объем работы, который должна выполнить программа.
А где-нибудь в своем алгоритме, который вставляет твои объекты в Excel, напиши после самой вставки:
P.s.: и еще... чтобы программа подавала признаки жизни, вставь в алгоритме строку
|
| Автор: chiffa 25.7.2007, 14:34 |
| Пасиба! а могу ли я как то поменять дизайн ProgressBar? Добавлено через 5 минут и 37 секунд И еще могу ли я как то выводит что то вроде. "Обработа листов:" их количество которое меняется. |
| Автор: chiffa 25.7.2007, 16:26 |
| пасиба. будем пробывать |
| Автор: ALeXandrK 25.7.2007, 18:12 |
| Если хочешь серьезный ProgressBar, то советую две библиотеку Globus или http://jvcl.sourceforge.net/, в которой тоже есть компоненты из библиотеки Globus, плюс своих ещё полно Так вот! В этом ProgressBar можно задавать и цвет заливки, причем и фона и заполнения, и текст можно вставлять какой хочешь и много еще чего полезного есть. Вообщем, я пока лучшую замену стандартному не нашел |
| Автор: pseud 25.7.2007, 18:16 |
| IMHO достаточно взять со страницы Samples стандартный компонент Gauge |
| Автор: chiffa 26.7.2007, 08:42 |
| ALeXandrK, пасиба! а как его подключить и использовать?.... |
| Автор: ALeXandrK 26.7.2007, 11:59 |
| Качаешь, например http://jvcl.sourceforge.net/ отсюда, последнюю версию. Обязательно включая библиотеки JCL. То есть название должно быть примерно таким: JVCL332CompleteJCL1100-Build2646.zip . Дальше всё просто:
Не обещаю, что всё пройдет гладко, но на мой взгяд, оно того стоит Если что-то не получется, то почитай Install.txt в каждой из папок. Там всё пошагово описано. Возможно только одна проблема - пути с пробелами или русскими буквами, т.к. bat файлы с ними не дружат Удачи. P.s.: про использовать... да так же как обычный. Лежит он на вкладке JVCLGlobus1, а называется TjvgProgress Я думаю в свойствах разобраться труда не составит. |
| Автор: aktuba 26.7.2007, 16:15 | ||
А на мой - не стоит использовать в простейших случаях сторонние компоненты. И программа разрастаеться и привычка вырабатывается нехорошая |
| Автор: ALeXandrK 26.7.2007, 17:41 | ||
Я тоже сначала хотел написать, что нужно хорошенько подумать, а стоит ли оно того, чтобы применять сторонние компоненты. Но мне кажется, новичку будет полезно поиметь такой опыт использования сторонних компонентов. А там он и сам решит и всё поймёт chiffa: Так что, если ты учишься и постигаешь, то устанавливай, если нужно что-то сделать в срок, то не парься |
| Автор: Yanis 26.7.2007, 19:06 | ||
Я бы выбрал второй вариант. Можно ещё анимашку влепить. Юзеры писают кипятком. А вот постоянно обновлять ProgressBar и менять его положение в одном с алгоритмом потоке я бы не стал. Просто всё будет работать дольше! |
| Автор: ALeXandrK 26.7.2007, 19:26 |
| Ну мы начинаем уже углубляться в design. Тогда уже нужно подходить по полной программе - с анализом ситуации Посмотреть на сколько твой процесс добавления тянеться, если не очень долго, то я бы поставил анимашку, как посоветовал Yanis, если же долго, то прикрутил бы StatusBar, чтобы по скорости приближения к завершению процесса, пользователь оценил - успеет ли он за это время чайку попить или в кино сходить |
| Автор: chiffa 27.7.2007, 09:20 |
ЖЕСТЬ! а с анимашкой это как?.... |
| Автор: pseud 27.7.2007, 10:27 | ||
поддерживаю потом переставим винду, дельфи или занесем етот проект на другой комп откроем проект и начинается: - нам надо побыстрому изменить алгоритм експорта в ёхель (основная часть) - а нифига не фачит, потому что надо теперь искать и устанавливать етого красавчика прогрессбара кульного. |
| Автор: ALeXandrK 27.7.2007, 12:18 | ||
Ну простейший способ:
Вообще это уже другой вопрос. А правила гласят: одна тема = один вопрос А вообще, включи фантазию... задачка то детская |
| Автор: Yanis 5.8.2007, 12:39 |
Простейший? Из-за твоих слов человек может заблуждаться. Сам же говорил, что надо помогать. Анимашка это легко. Достаточно бросить на форму TAnimate с Win32 и выбрать через свойство CommonAVI подходящую анимашку или, если таковой не нашлось, запихнуть туда свою. |
| Автор: ALeXandrK 5.8.2007, 13:49 | ||
Про TAnimate я просто забыл |
| Автор: Yanis 5.8.2007, 14:07 |
| ALeXandrK Да и вообще добавить gif картинку в проект нетривиальная задача, если разобраться, если по хорошему. |