Вопрос про курсор
Модератор: Дед Пахом
Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
- finsoftrz
- ✯ Ветеран ✯
- Сообщения: 5226
- Зарегистрирован: 06 Ноябрь 2014, 12:48
- Благодарил (а): 12 раз
- Поблагодарили: 63 раза
Вопрос про курсор
Бывают ещё ситуации, когда обработка выполняется достаточно долго и заранее неизвестно, какая её часть уже выполнена. Обычно это какая-то работа через интернет. Я в этом случае вывешиваю бесконечный термометр, когда доходит до конца, то начинает сначала. Под термометром выводится счётчик времени работы. Через некоторое плановое время, предполагаемую продолжительность обработки, рядом с термометром появляется кнопка Прервать.
C6/C12, ШВС, tps/btrieve.
- Губин Игорь
- Шубуршун
- Сообщения: 2571
- Зарегистрирован: 16 Сентябрь 2005, 16:35
- Откуда: Москва
- Благодарил (а): 3 раза
- Поблагодарили: 26 раз
Вопрос про курсор
Ну кто бы ещё мог до такого додуматься?!finsoftrz писал(а): 25 Апрель 2023, 10:54 Бывают ещё ситуации, когда обработка выполняется достаточно долго и заранее неизвестно, какая её часть уже выполнена. Обычно это какая-то работа через интернет. Я в этом случае вывешиваю бесконечный термометр, когда доходит до конца, то начинает сначала

Стандартная "фишка" встроенная в шаблоны.


Это я только кажусь дураком! На самом деле я полный идиот!
- finsoftrz
- ✯ Ветеран ✯
- Сообщения: 5226
- Зарегистрирован: 06 Ноябрь 2014, 12:48
- Благодарил (а): 12 раз
- Поблагодарили: 63 раза
Вопрос про курсор
Когда через интернет, то не факт, что обработка когда-нибудь будет завершена сама по себе корректно. Поэтому и делается люфт во времени, чтобы пользователь раньше времени не мог нажать прерывание. А когда крутится дольше запланированного, то тогда пользователь решает сам, прерывать или нет. Мы заранее не можем предугадать все ситуации. В стандартном шаблоне есть возможность отложенной активации кнопки прерывания?
C6/C12, ШВС, tps/btrieve.
- Губин Игорь
- Шубуршун
- Сообщения: 2571
- Зарегистрирован: 16 Сентябрь 2005, 16:35
- Откуда: Москва
- Благодарил (а): 3 раза
- Поблагодарили: 26 раз
Вопрос про курсор
в МОИ шаблоныfinsoftrz писал(а): 25 Апрель 2023, 14:02 В стандартном шаблоне есть возможность отложенной активации кнопки прерывания?

Это я только кажусь дураком! На самом деле я полный идиот!
-
- ✯ Ветеран ✯
- Сообщения: 5157
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 11 раз
- Поблагодарили: 26 раз
Вопрос про курсор
Прогресс-бар не идёт, а стоит на нулевой отметке 5 секунд, а потом за секунду пролетает 100 процентов. Некрасиво.Губин Игорь писал(а): 24 Апрель 2023, 19:25Тут как раз никакой разницы, прогресс бар должен идти все 6 секунд. Но, в целом, мысль правильная.
We are hard at work… for you. 

-
- ✯ Ветеран ✯
- Сообщения: 5157
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 11 раз
- Поблагодарили: 26 раз
Вопрос про курсор
Я как правило сначала получаю количество результирующих записей. На SQL это недорого. И тогда прогресс-бар работает правильно (а также закраска на кнопке приложения в панели задач). Но это ABC. И если действительно нужен прогресс-бар.finsoftrz писал(а): 25 Апрель 2023, 10:54 Бывают ещё ситуации, когда обработка выполняется достаточно долго и заранее неизвестно, какая её часть уже выполнена.
We are hard at work… for you. 

- finsoftrz
- ✯ Ветеран ✯
- Сообщения: 5226
- Зарегистрирован: 06 Ноябрь 2014, 12:48
- Благодарил (а): 12 раз
- Поблагодарили: 63 раза
Вопрос про курсор
Я написал, что при работе через интернет. Например, послали запрос в Меркурий, он вернул его идентификатор, а потом требуется ждать ответа, периодически дергая Меркурий на предмет результата по этому идентификатору. А ответ может иногда вообще не прийти, бесконечный статус запрос в обработке.kreator писал(а): 26 Апрель 2023, 19:38Я как правило сначала получаю количество результирующих записей. На SQL это недорого. И тогда прогресс-бар работает правильно (а также закраска на кнопке приложения в панели задач). Но это ABC. И если действительно нужен прогресс-бар.finsoftrz писал(а): 25 Апрель 2023, 10:54 Бывают ещё ситуации, когда обработка выполняется достаточно долго и заранее неизвестно, какая её часть уже выполнена.
C6/C12, ШВС, tps/btrieve.
-
- ✯ Ветеран ✯
- Сообщения: 5157
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 11 раз
- Поблагодарили: 26 раз
Вопрос про курсор
Неважно интернет, не интернет. Если невозможно обеспечить корректную работу прогресс-бара, то он не нужен. "Бесконечный" только пугает и путает пользователя.
We are hard at work… for you. 

- finsoftrz
- ✯ Ветеран ✯
- Сообщения: 5226
- Зарегистрирован: 06 Ноябрь 2014, 12:48
- Благодарил (а): 12 раз
- Поблагодарили: 63 раза
Вопрос про курсор
Для этого и активируется кнопка прервать. Прогресс-бар доходит до конца, затем начинает с начала, под ним время с начала обработки. Все корректно. Какие варианты в приведенном примере? Я не вижу. Вручную нажимать какую-нибудь кнопку получить результат не проходит по определенным причинам (лень углубляться).kreator писал(а): 27 Апрель 2023, 13:53 Неважно интернет, не интернет. Если невозможно обеспечить корректную работу прогресс-бара, то он не нужен. "Бесконечный" только пугает и путает пользователя.
C6/C12, ШВС, tps/btrieve.
- ingasoftplus
- Ветеран
- Сообщения: 464
- Зарегистрирован: 26 Декабрь 2006, 17:07
- Откуда: Оттуда :)
- Благодарил (а): 123 раза
- Поблагодарили: 6 раз
Вопрос про курсор
Товарищи программисты - вы уходите в дебри. Все очень просто. Прогресс-бар контрол имеет четкие параметры, один из них
RANGE
Specifies the range of values the progress bar displays (PROP:RANGE). If omitted, the default range is zero (0) to one hundred (100).
Т.е. предполагается, что мы должны знать значания Границ (с и до) до момента использования. Вот и все - тогда не будет никаких бесконечных прогрессов. Если границы заранее не известны - НЕ применяйте Прогресс-бар
RANGE
Specifies the range of values the progress bar displays (PROP:RANGE). If omitted, the default range is zero (0) to one hundred (100).
Т.е. предполагается, что мы должны знать значания Границ (с и до) до момента использования. Вот и все - тогда не будет никаких бесконечных прогрессов. Если границы заранее не известны - НЕ применяйте Прогресс-бар

- Игорь Столяров
- Ветеран движения
- Сообщения: 8016
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 28 раз
- Поблагодарили: 94 раза
Вопрос про курсор
Спасибо, что поделились мудростью !ingasoftplus писал(а): 27 Апрель 2023, 15:05 Если границы заранее не известны - НЕ применяйте Прогресс-бар
Вопрос из регионов: а как тогда показать, что идёт выполнение и вот это вот всё не зависло нафиг вообще ?

Make Clarion Great Again ! 
- finsoftrz
- ✯ Ветеран ✯
- Сообщения: 5226
- Зарегистрирован: 06 Ноябрь 2014, 12:48
- Благодарил (а): 12 раз
- Поблагодарили: 63 раза
Вопрос про курсор
Речь не про бесконечный прогресс-бар, а про повторяющийся. Так понятнее? Вопрос про альтернативу в приведенном примере остается. Как информировать пользователя о выполнении обработки за пределами приложения, если время и содержание ее заранее не известно. Я думаю, что вопрос риторический.ingasoftplus писал(а): 27 Апрель 2023, 15:05 Товарищи программисты - вы уходите в дебри. Все очень просто. Прогресс-бар контрол имеет четкие параметры, один из них
RANGE
Specifies the range of values the progress bar displays (PROP:RANGE). If omitted, the default range is zero (0) to one hundred (100).
Т.е. предполагается, что мы должны знать значания Границ (с и до) до момента использования. Вот и все - тогда не будет никаких бесконечных прогрессов. Если границы заранее не известны - НЕ применяйте Прогресс-бар![]()
C6/C12, ШВС, tps/btrieve.
- ingasoftplus
- Ветеран
- Сообщения: 464
- Зарегистрирован: 26 Декабрь 2006, 17:07
- Откуда: Оттуда :)
- Благодарил (а): 123 раза
- Поблагодарили: 6 раз
Вопрос про курсор
рядом с прогресс баром я вывожу строку, типа: Выполнено 125 из 1000Игорь Столяров писал(а): 27 Апрель 2023, 15:36 а как тогда показать, что идёт выполнение и вот это вот всё не зависло нафиг вообще ?
1000 при этом наша верхняя граница, которая известна. Порой масштаб прогресс бара не позволяет точно увидеть его изменение, если значений (верхняя граница) много.
или показывать %% выполнения с 5 знаками после запятой! Очень информативно и завараживает смотреть, как он изменяется! Сразу видно - что происходит чудо и оно работает!!!
-
- ✯ Ветеран ✯
- Сообщения: 5157
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 11 раз
- Поблагодарили: 26 раз
Вопрос про курсор
Всё понятно! Процесс доходит до конца и начинается сначала. Программа явно глючит.finsoftrz писал(а): 27 Апрель 2023, 15:37 Речь не про бесконечный прогресс-бар, а про повторяющийся. Так понятнее?
Как вариант - показывать "Журнал действий" (что-то типа работы с ftp в Total Commander'е).Игорь Столяров писал(а): 27 Апрель 2023, 15:36 Вопрос из регионов: а как тогда показать, что идёт выполнение и вот это вот всё не зависло нафиг вообще ?
We are hard at work… for you. 
