Вверх ↑
Этот топик читают: Гость
Ответов: 824
Рейтинг: 138
#16: 2014-09-02 13:15:30 ЛС | профиль | цитата
z80 писал(а):
не могу разобраться.

code_34230.txt
карма: 1

0
файлы: 1code_34230.txt [7.3KB] [243]
Ответов: 294
Рейтинг: 64
#17: 2014-09-02 14:09:46 ЛС | профиль | цитата
z80 писал(а):
вот при старте по идее должен прогресс рисовать а не хочет

Попробуйте не кнопкой "Запустить" в HiAsm-е, а скомпилировать и запустить сам файл (*.exe) стандартным способом (двойным кликом).
карма: 0

0
Разработчик
Ответов: 26155
Рейтинг: 2127
#18: 2014-09-02 14:22:09 ЛС | профиль | цитата
Добавлен новый компонент -- TaskProgressBar во вкладку Контролы. Рекомендую обновиться с SVN и работать с этим компонентом, а не с IC кодом.

Пример использования компонента TaskProgressBar

Add(MainForm,2953706,210,266)
{
Width=150
Height=165
Caption="TaskProgressBar"
BorderStyle=4
Position=1
link(onCreate,1640222:doDeferredEvent,[])
}
Add(TaskProgressBar,4436180,448,217)
{
Point(doMarquee)
Point(doError)
Point(doPaused)
}
Add(Timer,8698242,210,231)
{
Interval=50
Enable=1
link(onTimer,7977314:doNext,[])
}
Add(CounterEx,7977314,273,231)
{
Point(doReset)
Point(onThroughMax)
link(onNext,14941413:doWork2,[])
}
Add(RadioButton,10622977,273,161)
{
Left=35
Top=110
Width=80
Font=[MS Sans Serif,8,1,0,1]
TabOrder=-1
Caption="Off"
link(onSelect,3624183:doEvent1,[])
}
Add(RadioButton,3920621,273,98)
{
Left=35
Top=10
Width=80
Font=[MS Sans Serif,8,1,0,1]
TabOrder=-1
Caption="On"
link(onSelect,3309083:doEvent1,[])
}
Add(RadioButton,4519771,336,301)
{
Left=35
Top=35
Width=80
Font=[MS Sans Serif,8,1,0,1]
TabOrder=-1
Caption="Error"
link(onSelect,8713214:doEvent1,[])
}
Add(RadioButton,7407843,336,336)
{
Left=35
Top=60
Width=80
Font=[MS Sans Serif,8,1,0,1]
TabOrder=-1
Caption="Paused"
link(onSelect,8857312:doEvent1,[])
}
Add(RadioButton,5541544,329,245)
{
Left=35
Top=85
Width=80
Font=[MS Sans Serif,8,1,0,1]
TabOrder=-1
Selected=0
Caption="Marquee"
link(onSelect,4758544:doEvent1,[])
}
Add(Hub,3309083,343,98)
{
link(onEvent1,4436180:doOn,[(438,104)(438,223)])
link(onEvent2,8698242:doTimer,[(368,111)(368,146)(200,146)(200,237)])
}
Add(Hub,3624183,343,161)
{
OutCount=4
link(onEvent1,2955536:doWork1,[(368,167)(368,153)(186,153)])
link(onEvent2,7512414:doData,[])
link(onEvent3,7977314:doReset,[(368,181)(368,223)(263,223)(263,244)])
link(onEvent4,4436180:doOff,[(375,188)(375,230)])
}
Add(Hub,8713214,385,301)
{
link(onEvent1,7148035:doWork2,[])
link(onEvent2,4436180:doError,[(424,314)(424,251)])
}
Add(Hub,8857312,385,336)
{
link(onEvent1,8368011:doWork2,[])
link(onEvent2,4436180:doPaused,[(431,349)(431,258)])
}
Add(HubEx,2955536,182,238)
{
link(onEvent,8698242:doStop,[])
}
Add(Hub,4758544,385,245)
{
InCount=2
link(onEvent1,4436180:doMarquee,[(410,251)(410,244)])
link(onEvent2,7148035:doWork1,[(418,258)])
}
Add(DoData,7512414,385,168)
{
Data=Integer(0)
link(onEventData,14941413:doWork1,[(431,174)])
}
Add(HubEx,14941413,427,231)
{
link(onEvent,4436180:doPosition,[])
}
Add(DeferredEvent,1640222,273,280)
{
link(onDeferredEvent,4758544:doEvent2,[(368,286)(368,258)])
}
Add(HubEx,8368011,414,336)
{
Angle=1
link(onEvent,2955536:doWork3,[(418,382)(186,382)])
}
Add(HubEx,7148035,414,301)
{
Angle=1
link(onEvent,8368011:doWork1,[])
}

карма: 22

3
Голосовали:Quest, z80, LainX
Ответов: 195
Рейтинг: 1
#19: 2014-09-02 15:00:41 ЛС | профиль | цитата
спасибо огромное. так не хватало такого компонента.

а можно точку добавить, что бы максимальное значение можно было программно менять?
карма: 0

0
Разработчик
Ответов: 26155
Рейтинг: 2127
#20: 2014-09-02 15:37:11 ЛС | профиль | цитата
z80 писал(а):
а можно точку добавить, что бы максимальное значение можно было программно менять?

А ничего добавлять не надо. Достаточно поставить галочку на свойстве Max и появится точка doMax, на которую можно подавать новые значения Max в потоке. Так сделано во всех ProgressBar-ах
карма: 22

0
Ответов: 195
Рейтинг: 1
#21: 2014-09-02 16:30:15 ЛС | профиль | цитата
вот спасибо. а я и не знал о том, что устанавливая точки в свойствах, появляются точки у компонента. я думал только в свойствах во вкладке точки. )))

вот правду говорят инструкции читать надо
------------ Дoбавленo в 16.30:
а подскажите как реализовать.
при нажатии кнопки 1
1 прогресбар зеленый и отображает выход с одного счетчика
при нажатии кнопки 2
проогрессбар красный и отображается с другого счетчика

может есть какие переключатели потока?
карма: 0

0
Разработчик
Ответов: 26155
Рейтинг: 2127
#22: 2014-09-02 17:24:04 ЛС | профиль | цитата
z80 писал(а):
а подскажите как реализовать

Вообще-то, конкретная реализация заточена под один прогресс.
------------ Дoбавленo в 17.24:
Обнови компонент с SVN и попробуй вот такую схему

Add(MainForm,2953706,98,203)
{
Width=303
Height=165
Caption="TaskProgressBar"
BorderStyle=4
Position=1
link(onCreate,3851787:doDeferredEvent,[])
}
Add(Timer,8698242,266,217)
{
Interval=50
Enable=1
link(onTimer,7977314:doNext,[])
}
Add(CounterEx,7977314,315,217)
{
Max=200
Point(doReset)
Point(onThroughMax)
link(onNext,2805494:doEvent,[])
}
Add(Button,6685842,210,91)
{
Left=15
Top=15
TabOrder=-1
Caption="1"
link(onClick,10993647:doEvent1,[])
}
Add(Button,4498378,210,126)
{
Left=15
Top=40
TabOrder=-1
Caption="2"
link(onClick,14926724:doEvent1,[])
}
Add(Timer,14269459,266,266)
{
Interval=50
Enable=1
link(onTimer,10089093:doNext,[])
}
Add(CounterEx,10089093,315,266)
{
Max=300
Point(doReset)
Point(onThroughMax)
link(onNext,8726379:doEvent,[])
}
Add(TaskProgressBar,4436180,623,210)
{
Point(doError)
Point(doMax)
}
Add(Hub,2278353,217,217)
{
link(onEvent1,8698242:doTimer,[])
link(onEvent2,14269459:doTimer,[(249,230)(249,272)])
}
Add(DeferredEvent,3851787,168,217)
{
link(onDeferredEvent,2278353:doEvent1,[])
}
Add(IndexToChanel,2805494,420,217)
{
Point(Index)
link(onEvent2,5725520:doWork2,[])
link(Index,10747016:Var2,[])
}
Add(IndexToChanel,8726379,385,266)
{
Count=3
Point(Index)
link(Index,10747016:Var1,[(391,201)])
link(onEvent3,5725520:doWork3,[(473,286)])
}
Add(GetDataEx,10747016,420,196)
{
link(Data,14621937:Value,[])
}
Add(VisualStrings,9755744,511,91)
{
Lines=#3:200|
Point(doText)
Point(onText)
link(onText,6241365:doWork1,[(571,97)])
}
Add(VisualStrings,8398314,511,126)
{
Lines=#3:300|
Point(doText)
Point(onText)
link(onText,6241365:doWork2,[])
}
Add(HubEx,6241365,567,126)
{
Angle=1
link(onEvent,4436180:doMax,[(571,244)])
}
Add(Hub,10993647,280,91)
{
OutCount=3
link(onEvent1,9755744:doText,[])
link(onEvent2,4436180:doOn,[(375,104)(375,83)(578,83)(578,216)])
link(onEvent3,10130747:doWork2,[(347,111)(347,160)])
}
Add(Hub,14926724,280,126)
{
OutCount=3
link(onEvent1,8398314:doText,[])
link(onEvent2,4436180:doError,[(480,139)(480,237)])
link(onEvent3,10130747:doWork3,[(340,146)(340,167)])
}
Add(HubEx,5725520,469,224)
{
link(onEvent,4686105:doWork2,[])
}
Add(Button,3184065,210,175)
{
Left=15
Top=95
TabOrder=-1
Caption="Stop"
link(onClick,2475810:doEvent1,[])
}
Add(ChanelToIndex,10130747,371,147)
{
Count=3
link(onIndex,14621937:doValue,[])
}
Add(Memory,14621937,420,147)
{
}
Add(Hub,2475810,280,175)
{
OutCount=3
link(onEvent1,10130747:doWork1,[(305,181)(305,153)])
link(onEvent2,3652682:doText,[(459,188)(459,181)])
link(onEvent3,4436180:doOff,[(459,195)(459,223)])
}
Add(VisualStrings,3652682,504,175)
{
Lines=#1:0|
Point(doText)
Point(onText)
link(onText,4686105:doWork1,[(564,181)])
}
Add(HubEx,4686105,560,224)
{
link(onEvent,4436180:doPosition,[])
}

карма: 22

0
Ответов: 195
Рейтинг: 1
#23: 2014-09-02 17:37:13 ЛС | профиль | цитата
так мне на один прогрессбар и надо.

короче опишу немного.

у меня программа таймер. она отсчитывает минуты и выключает комп.

только после истечения заданного времени включается секундный таймер на 30 секунд (что бы можно было успеть продлить, если надо)

так вот задача в том, что бы вначале отображался прогресс времени минутного таймера зеленым.
а как включится секундный таймер то прогресс был красным и показывал значения до окончания таймера.

вот например как реализовать?
code_34231.txt

при нажатии одной кнопки прогресс показывает с одного счетчика
при нажатии другой с другого счетчика

такое реально реализовать?
------------ Дoбавленo в 17.37:
ой я опоздал. все уже побежал проверять.
карма: 0

0
файлы: 1code_34231.txt [1.1KB] [183]
Разработчик
Ответов: 26155
Рейтинг: 2127
#24: 2014-09-02 17:38:43 ЛС | профиль | цитата
z80 писал(а):
так мне на один прогрессбар и надо

А я и написал, что было написано для одного прогресса. Теперь я убрал привязку.
z80 писал(а):
такое реально реализовать?

nesco писал(а):
Обнови компонент с SVN и попробуй вот такую схему

Пример моей схемы на два независимых счетчика приведен в предыдущем моем посте
------------ Дoбавленo в 17.38:
z80 писал(а):
ой я опоздал. все уже побежал проверять

Ну вот, я тут кинулся объяснять
карма: 22

0
Ответов: 195
Рейтинг: 1
#25: 2014-09-02 17:42:06 ЛС | профиль | цитата
урааа как раз то, что нужно
------------ Дoбавленo в 17.42:
а для трех счетчиков компонент сработает?

это я просто ради интереса спрашиваю
карма: 0

0
Разработчик
Ответов: 26155
Рейтинг: 2127
#26: 2014-09-02 17:47:27 ЛС | профиль | цитата
z80 писал(а):
а для трех счетчиков компонент сработает?

Да, должен сработать
карма: 22

0
26
Сообщение
...
Прикрепленные файлы
(файлы не залиты)