|
Запустить код на выполнение?!
|
|||
---|---|---|---|
#18+
Во вложении пример класс progress bar. За основу взят класс Михаила Дунькина по этой ссылке http://www.foxclub.ru/sol/solution20.php с мелкими изменениями Использовать в приложении можно так Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19.
Здесь основная идея в том, что Progress Bar физически размещается в объекте ToolBar, как следствие, не требует отдельной формы и не может получить фокуса. В качестве примера исполльзования здесь выбрано сканирование всех записей некоторой таблицы MyTable. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.04.2012, 15:00 |
|
Запустить код на выполнение?!
|
|||
---|---|---|---|
#18+
Aleks_AleksЕще такой момент, может кто подскажет. Есть программа, она считает, отображает, записывает и т.д. И когда она считает, занимает много времени. Для того чтобы пользователь видел что программа еще работает я вставил сообщение: Код: sql 1. 2.
Но оно по словам начальника не информативно и не дает пользователю уверенности что программа еще работает! Я вставил несколько таких сообщений с названиями отображающими этап работы программы, но в место пяти вставленных сообщений отображаются только два. Можно что ни будь сделать, что бы, видеть, что программа еще работает? Чем больше строчек в программе тем дольше будет выполняться код. *Ты был на верном пути WAIT 'Обработка'+CHR(13)+PADR[REPLICATE('.',RECNO()/RECCOUNT()*240),240,' '] WINDOW NOWAIT *RECNO() это номер обрабатываемой записи в таблице *Если записей в базе десятки и сотни тысяч тогда нет смысла на каждую запись выводить термометр IF RECNO()%100=0 OR RECNO()=RECCOUNT() WAIT 'Обработка'+CHR(13)+PADR[REPLICATE('.',RECNO()/RECCOUNT()*240),240,' '] WINDOW NOWAIT ENDIF *В данном примере мы двигаем термометр если остаток от деления на 100 равен 0,т.е. на каждую сотую запись двигаем термометр *и на последок выводим термометр когда RECNO()=RECCOUNT() *ПРИМЕЧАНИЕ - сортировка по индексу SET ORDER должна быть выключена для этой таблицы ... |
|||
:
Нравится:
Не нравится:
|
|||
04.04.2012, 17:08 |
|
Запустить код на выполнение?!
|
|||
---|---|---|---|
#18+
ВладимирМ, Я что-то совсем запутался. Столько разных вариантов и у меня ни чего не получается. Вот сделал (попытался сделать) небольшой пример как оно должно работать, но оно работает ни так. Если у кого еще остались нервы и время, помогите! Нужно немножко подкорректировать формы. Они в архиве в месте с БД. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.04.2012, 17:11 |
|
Запустить код на выполнение?!
|
|||
---|---|---|---|
#18+
Aleks_AleksВладимирМ, Я что-то совсем запутался. Столько разных вариантов и у меня ни чего не получается. Вот сделал (попытался сделать) небольшой пример как оно должно работать, но оно работает ни так. Если у кого еще остались нервы и время, помогите! Нужно немножко подкорректировать формы. Они в архиве в месте с БД. Мой вариант самый простой и быстрый, почти как твой. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.04.2012, 17:17 |
|
Запустить код на выполнение?!
|
|||
---|---|---|---|
#18+
проходящий., Вот-вот, я это и хотел написать, ни каких классов, ни каких форм, и ни каких параметров! Скорее всего его буду и использовать. Сейчас попробую. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.04.2012, 17:22 |
|
Запустить код на выполнение?!
|
|||
---|---|---|---|
#18+
Aleks_Aleksпроходящий., Вот-вот, я это и хотел написать, ни каких классов, ни каких форм, и ни каких параметров! Скорее всего его буду и использовать. Сейчас попробую. Чем больше красоты и наворотов - тем больше тормозов при большом количестве записей. В команде WAIT можешь ещё добавить параметр AT ... чтобы окошко wait выводилось в центре экрана. Ещё маленькое примечание - в команде wait количество знаков-символов для вывода ограничено. Я поставил - 'Обработка',CHR(13) и 240 знаков под термометр. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.04.2012, 17:30 |
|
Запустить код на выполнение?!
|
|||
---|---|---|---|
#18+
проходящий., Даже и не знаю, может я не правильно поставил сообщение но при выполнении программы отображается только: ... |
|||
:
Нравится:
Не нравится:
|
|||
04.04.2012, 19:08 |
|
Запустить код на выполнение?!
|
|||
---|---|---|---|
#18+
Aleks_Aleksпроходящий., Даже и не знаю, может я не правильно поставил сообщение но при выполнении программы отображается только: Сколько записей в базе? Этот код надо ведь в теле какого то цикла выполнять? Например SCAN *тут термометр ENDSCAN ... |
|||
:
Нравится:
Не нравится:
|
|||
04.04.2012, 19:49 |
|
Запустить код на выполнение?!
|
|||
---|---|---|---|
#18+
проходящий., Работает. А что если попробовать рисовать градусник, по количеству строчек кода? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2012, 10:17 |
|
Запустить код на выполнение?!
|
|||
---|---|---|---|
#18+
Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2012, 10:57 |
|
Запустить код на выполнение?!
|
|||
---|---|---|---|
#18+
проходящий., Сделал как ты и говорил. Проставил по коду сообщения: Код: sql 1. 2.
А где код быстро выполняется, небольшую задержку для наглядности. Всем огромное спасибо за помощь! ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2012, 12:28 |
|
Запустить код на выполнение?!
|
|||
---|---|---|---|
#18+
Aleks_Aleks, Главное принцип ты понял, остальное по вкусу. По поводу интерфейса могу добавить только одно - делай поменьше чёрточек. Чем меньше на экране рамок и чёрточек - тем лучше восприятие текстовой информации. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.04.2012, 17:01 |
|
|
start [/forum/topic.php?fid=41&gotonew=1&tid=1583747]: |
0ms |
get settings: |
12ms |
get forum list: |
14ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
33ms |
get topic data: |
11ms |
get first new msg: |
8ms |
get forum data: |
3ms |
get page messages: |
52ms |
get tp. blocked users: |
1ms |
others: | 12ms |
total: | 156ms |
0 / 0 |