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

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


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

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

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

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

kreator
- finsoftrz
- ✯ Ветеран ✯
- Сообщения: 5306
- Зарегистрирован: 06 Ноябрь 2014, 12:48
- Благодарил (а): 12 раз
- Поблагодарили: 65 раз
Вопрос про курсор
Для этого и активируется кнопка прервать. Прогресс-бар доходит до конца, затем начинает с начала, под ним время с начала обработки. Все корректно. Какие варианты в приведенном примере? Я не вижу. Вручную нажимать какую-нибудь кнопку получить результат не проходит по определенным причинам (лень углубляться).kreator писал(а): 27 Апрель 2023, 13:53 Неважно интернет, не интернет. Если невозможно обеспечить корректную работу прогресс-бара, то он не нужен. "Бесконечный" только пугает и путает пользователя.
C6/C12, ШВС, tps/btrieve.
finsoftrz
- ingasoftplus
- Ветеран
- Сообщения: 466
- Зарегистрирован: 26 Декабрь 2006, 17:07
- Откуда: Оттуда :)
- Благодарил (а): 125 раз
- Поблагодарили: 7 раз
Вопрос про курсор
Товарищи программисты - вы уходите в дебри. Все очень просто. Прогресс-бар контрол имеет четкие параметры, один из них
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).
Т.е. предполагается, что мы должны знать значания Границ (с и до) до момента использования. Вот и все - тогда не будет никаких бесконечных прогрессов. Если границы заранее не известны - НЕ применяйте Прогресс-бар

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

Make Clarion Great Again ! 
Игорь Столяров
- finsoftrz
- ✯ Ветеран ✯
- Сообщения: 5306
- Зарегистрирован: 06 Ноябрь 2014, 12:48
- Благодарил (а): 12 раз
- Поблагодарили: 65 раз
Вопрос про курсор
Речь не про бесконечный прогресс-бар, а про повторяющийся. Так понятнее? Вопрос про альтернативу в приведенном примере остается. Как информировать пользователя о выполнении обработки за пределами приложения, если время и содержание ее заранее не известно. Я думаю, что вопрос риторический.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.
finsoftrz
- ingasoftplus
- Ветеран
- Сообщения: 466
- Зарегистрирован: 26 Декабрь 2006, 17:07
- Откуда: Оттуда :)
- Благодарил (а): 125 раз
- Поблагодарили: 7 раз
Вопрос про курсор
рядом с прогресс баром я вывожу строку, типа: Выполнено 125 из 1000Игорь Столяров писал(а): 27 Апрель 2023, 15:36 а как тогда показать, что идёт выполнение и вот это вот всё не зависло нафиг вообще ?
1000 при этом наша верхняя граница, которая известна. Порой масштаб прогресс бара не позволяет точно увидеть его изменение, если значений (верхняя граница) много.
или показывать %% выполнения с 5 знаками после запятой! Очень информативно и завараживает смотреть, как он изменяется! Сразу видно - что происходит чудо и оно работает!!!
ingasoftplus
-
- ✯ Ветеран ✯
- Сообщения: 5180
- Зарегистрирован: 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. 

kreator
Вернуться в «CLARION for Windows»
Перейти
- CW
- ↳ CLARION for Windows
- ↳ CLARION for Internet
- ↳ Clarion.NET
- Эксклюзив
- ↳ Приват
- CLARION и...
- ↳ Reports
- ↳ Железо
- ↳ Готовые программы, шаблоны, библиотеки...
- ↳ cJSON
- ↳ LibCurl
- ↳ MAV
- ↳ SQL, Oracle, ...
- ↳ Multi-программирование(Pascal/Delphi, и т.д.)
- ↳ WinDev
- DOS
- ↳ CLARION for DOS
- Разное
- ↳ Новости
- ↳ English
- ↳ Ресурсы
- ↳ Работа
- ↳ Обо всем ...
- ↳ Обсуждение этого Форума (типа, Гостевая книга)