Страница 1 из 1

Термометр

Добавлено: 17 Июль 2006, 10:14
And234
Подскажите.
Как вручную обработать прогресс?
Какие события и что писать?
Заранее спасибо

Добавлено: 17 Июль 2006, 10:16
Admin
?Progress{PROP:RangeLow} = 0
?Progress{PROP:RangeHigh} = 100
?Progress{PROP:Progress} = 0
LOOP W# = 1 TO 100
?Progress{PROP:Progress} = W#
DISPLAY(?Progress)
END

Добавлено: 17 Июль 2006, 13:41
lsgsoftware
В свое время очень интересовался этой проблемой.В кларионе есть несколько оригинальных ходов решения, например, решения Ника Цигуро.Но потом все это бросил. Для длинных процессов я вывожу в некоей переменной просто цифровую информацию о ходе процесса , а по его завершению некоторую содержательную информацию типа обработано столько записей и т.п.Рассчитать логичное движение шкалы термометра для реального длинного процесса - это утопия.Это ты можешь увидеть в инете-термометр полон, а процесс висит.Так что система зависла, или просто переполнен термометр.

Добавлено: 17 Июль 2006, 13:54
Yufil
Admin писал(а):?Progress{PROP:RangeLow} = 0
?Progress{PROP:RangeHigh} = 100
?Progress{PROP:Progress} = 0
LOOP W# = 1 TO 100
?Progress{PROP:Progress} = W#
DISPLAY(?Progress)
END
Yield надо ещё воткнуть внутрь цикла. В противном случае простое переключение задач испортить прогресс...

Добавлено: 17 Июль 2006, 15:40
Admin
Лично я тоже перестал пользоваться progress
Он не информативен. Гораздо лучше количество перебраных записей, всего записей и какая нибудь информация... типа товар или еще чего...
У меня юзерам это больше нравится.

Добавлено: 17 Июль 2006, 17:58
ru_alex
Тогда уж лучше все вместе (и прогресс, и кол-во записей), если известно общее кол-во записей.
Заставляешь пользователей решать задачки на вычитание :wink: