Вопрос про курсор
Модератор: Дед Пахом
					Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
	При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
- finsoftrz
 - ✯ Ветеран ✯
 - Сообщения: 5567
 - Зарегистрирован: 06 Ноябрь 2014, 12:48
 - Благодарил (а): 18 раз
 - Поблагодарили: 78 раз
 
Вопрос про курсор
Бывают ещё ситуации, когда обработка выполняется достаточно долго и заранее неизвестно, какая её часть уже выполнена. Обычно это какая-то работа через интернет. Я в этом случае вывешиваю бесконечный термометр, когда доходит до конца, то начинает сначала. Под термометром выводится счётчик времени работы. Через некоторое плановое время, предполагаемую продолжительность обработки, рядом с термометром появляется кнопка Прервать.
			
			
									
						C6/C12, ШВС, tps/btrieve.
			
						- Губин Игорь
 - Шубуршун
 - Сообщения: 2680
 - Зарегистрирован: 16 Сентябрь 2005, 16:35
 - Откуда: Москва
 - Благодарил (а): 5 раз
 - Поблагодарили: 29 раз
 
Вопрос про курсор
Ну кто бы ещё мог до такого додуматься?!finsoftrz писал(а): 25 Апрель 2023, 10:54 Бывают ещё ситуации, когда обработка выполняется достаточно долго и заранее неизвестно, какая её часть уже выполнена. Обычно это какая-то работа через интернет. Я в этом случае вывешиваю бесконечный термометр, когда доходит до конца, то начинает сначала
Стандартная "фишка" встроенная в шаблоны.
Это я только кажусь дураком! На самом деле я полный идиот!
			
						- finsoftrz
 - ✯ Ветеран ✯
 - Сообщения: 5567
 - Зарегистрирован: 06 Ноябрь 2014, 12:48
 - Благодарил (а): 18 раз
 - Поблагодарили: 78 раз
 
Вопрос про курсор
Когда через интернет, то не факт, что обработка когда-нибудь будет завершена сама по себе корректно. Поэтому и делается люфт во времени, чтобы пользователь раньше времени не мог нажать прерывание. А когда крутится дольше запланированного, то тогда пользователь решает сам, прерывать или нет. Мы заранее не можем предугадать все ситуации. В стандартном шаблоне есть возможность отложенной активации кнопки прерывания?
			
			
									
						C6/C12, ШВС, tps/btrieve.
			
						- Губин Игорь
 - Шубуршун
 - Сообщения: 2680
 - Зарегистрирован: 16 Сентябрь 2005, 16:35
 - Откуда: Москва
 - Благодарил (а): 5 раз
 - Поблагодарили: 29 раз
 
Вопрос про курсор
в МОИ шаблоныfinsoftrz писал(а): 25 Апрель 2023, 14:02 В стандартном шаблоне есть возможность отложенной активации кнопки прерывания?
Это я только кажусь дураком! На самом деле я полный идиот!
			
						- 
				kreator
 - ✯ Ветеран ✯
 - Сообщения: 5235
 - Зарегистрирован: 28 Май 2009, 15:54
 - Откуда: Москва
 - Благодарил (а): 11 раз
 - Поблагодарили: 26 раз
 
Вопрос про курсор
Прогресс-бар не идёт, а стоит на нулевой отметке 5 секунд, а потом за секунду пролетает 100 процентов. Некрасиво.Губин Игорь писал(а): 24 Апрель 2023, 19:25Тут как раз никакой разницы, прогресс бар должен идти все 6 секунд. Но, в целом, мысль правильная.
We are hard at work… for you.   
			
						- 
				kreator
 - ✯ Ветеран ✯
 - Сообщения: 5235
 - Зарегистрирован: 28 Май 2009, 15:54
 - Откуда: Москва
 - Благодарил (а): 11 раз
 - Поблагодарили: 26 раз
 
Вопрос про курсор
Я как правило сначала получаю количество результирующих записей. На SQL это недорого. И тогда прогресс-бар работает правильно (а также закраска на кнопке приложения в панели задач). Но это ABC. И если действительно нужен прогресс-бар.finsoftrz писал(а): 25 Апрель 2023, 10:54 Бывают ещё ситуации, когда обработка выполняется достаточно долго и заранее неизвестно, какая её часть уже выполнена.
We are hard at work… for you.   
			
						- finsoftrz
 - ✯ Ветеран ✯
 - Сообщения: 5567
 - Зарегистрирован: 06 Ноябрь 2014, 12:48
 - Благодарил (а): 18 раз
 - Поблагодарили: 78 раз
 
Вопрос про курсор
Я написал, что при работе через интернет. Например, послали запрос в Меркурий, он вернул его идентификатор, а потом требуется ждать ответа, периодически дергая Меркурий на предмет результата по этому идентификатору. А ответ может иногда вообще не прийти, бесконечный статус запрос в обработке.kreator писал(а): 26 Апрель 2023, 19:38Я как правило сначала получаю количество результирующих записей. На SQL это недорого. И тогда прогресс-бар работает правильно (а также закраска на кнопке приложения в панели задач). Но это ABC. И если действительно нужен прогресс-бар.finsoftrz писал(а): 25 Апрель 2023, 10:54 Бывают ещё ситуации, когда обработка выполняется достаточно долго и заранее неизвестно, какая её часть уже выполнена.
C6/C12, ШВС, tps/btrieve.
			
						- 
				kreator
 - ✯ Ветеран ✯
 - Сообщения: 5235
 - Зарегистрирован: 28 Май 2009, 15:54
 - Откуда: Москва
 - Благодарил (а): 11 раз
 - Поблагодарили: 26 раз
 
Вопрос про курсор
Неважно интернет, не интернет. Если невозможно обеспечить корректную работу прогресс-бара, то он не нужен. "Бесконечный" только пугает и путает пользователя.
			
			
									
						We are hard at work… for you.   
			
						- finsoftrz
 - ✯ Ветеран ✯
 - Сообщения: 5567
 - Зарегистрирован: 06 Ноябрь 2014, 12:48
 - Благодарил (а): 18 раз
 - Поблагодарили: 78 раз
 
Вопрос про курсор
Для этого и активируется кнопка прервать. Прогресс-бар доходит до конца, затем начинает с начала, под ним время с начала обработки. Все корректно. Какие варианты в приведенном примере? Я не вижу. Вручную нажимать какую-нибудь кнопку получить результат не проходит по определенным причинам (лень углубляться).kreator писал(а): 27 Апрель 2023, 13:53 Неважно интернет, не интернет. Если невозможно обеспечить корректную работу прогресс-бара, то он не нужен. "Бесконечный" только пугает и путает пользователя.
C6/C12, ШВС, tps/btrieve.
			
						- ingasoftplus
 - Ветеран
 - Сообщения: 481
 - Зарегистрирован: 26 Декабрь 2006, 17:07
 - Откуда: Оттуда :)
 - Благодарил (а): 131 раз
 - Поблагодарили: 9 раз
 
Вопрос про курсор
Товарищи программисты - вы уходите в дебри. Все очень просто. Прогресс-бар контрол имеет четкие параметры, один из них 
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).
Т.е. предполагается, что мы должны знать значания Границ (с и до) до момента использования. Вот и все - тогда не будет никаких бесконечных прогрессов. Если границы заранее не известны - НЕ применяйте Прогресс-бар
- Игорь Столяров
 - Ветеран движения
 - Сообщения: 8269
 - Зарегистрирован: 07 Июль 2005, 10:19
 - Откуда: г. Ростов-на-ДоМу
 - Благодарил (а): 34 раза
 - Поблагодарили: 106 раз
 
Вопрос про курсор
Спасибо, что поделились мудростью !ingasoftplus писал(а): 27 Апрель 2023, 15:05 Если границы заранее не известны - НЕ применяйте Прогресс-бар
Вопрос из регионов: а как тогда показать, что идёт выполнение и вот это вот всё не зависло нафиг вообще ?
За теми, кто отстал, не возвращаться ! 
 Кодекс
			
						- finsoftrz
 - ✯ Ветеран ✯
 - Сообщения: 5567
 - Зарегистрирован: 06 Ноябрь 2014, 12:48
 - Благодарил (а): 18 раз
 - Поблагодарили: 78 раз
 
Вопрос про курсор
Речь не про бесконечный прогресс-бар, а про повторяющийся. Так понятнее? Вопрос про альтернативу в приведенном примере остается. Как информировать пользователя о выполнении обработки за пределами приложения, если время и содержание ее заранее не известно. Я думаю, что вопрос риторический.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
 - Ветеран
 - Сообщения: 481
 - Зарегистрирован: 26 Декабрь 2006, 17:07
 - Откуда: Оттуда :)
 - Благодарил (а): 131 раз
 - Поблагодарили: 9 раз
 
Вопрос про курсор
рядом с прогресс баром я вывожу строку, типа: Выполнено 125 из 1000Игорь Столяров писал(а): 27 Апрель 2023, 15:36 а как тогда показать, что идёт выполнение и вот это вот всё не зависло нафиг вообще ?
1000 при этом наша верхняя граница, которая известна. Порой масштаб прогресс бара не позволяет точно увидеть его изменение, если значений (верхняя граница) много.
или показывать %% выполнения с 5 знаками после запятой! Очень информативно и завараживает смотреть, как он изменяется! Сразу видно - что происходит чудо и оно работает!!!
- 
				kreator
 - ✯ Ветеран ✯
 - Сообщения: 5235
 - Зарегистрирован: 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.   
			
						