Evgen818 писал(а):
Можно ли добиться что бы счетчик останавливался по достижению максимума.
Тоесть например, я нажал на кнопку 10 раз, после десятого раза счетчик начинает считать заново, а мне нужно что бы счетчик не реагировал на последующие нажатие кнопки.
на одном стандартном элементе палитры:
Add(Button,11486341,161,105)
{
Left=115
Top=35
Caption="next"
link(onClick,1289255:doCalc,[])
}
Add(Label,14401749,245,105)
{
Left=115
Top=10
Caption="0"
}
Add(MathParse,1289255,203,105)
{
DataCount=0
MathStr="min(%0 + 1, 10)"
link(onResult,14401749:doText,[])
}
всем, кто предложит схему с аналогичным функционалом и количеством элементов будет добавлено 100ћ капитала (как минимум существует еще одно решение).
PS: использование элементов из группы "Языки" недопустимо
[block]Небольшое уточнение задачи: две схемы с одним и тем же набором элементов считаются одинаковыми (их выкладывание допустимо только интереса ради). Любая схема, которая при последовательном многократном нажатии кнопки выдает в элементе отображения(это не обязательно Label) ряд чисел от 1 до 10 считается удовлетворяющей условиям задачи. В качестве элемента отображения нельзя использовать заголовок формы или надпись на кнопке. MathParse и FastMathParse принимаются равными[/block]
[block]использование элементов, позволяющих подключать внешние библиотеки и запускать приложения так же не допускается[/block]
Решений с учетом уточнений как минимум два.
Список предложенных и одобренных решений
Автор sla8a, элементы Button+Position+Label
Add(Button,11486341,70,105)
{
Left=115
Top=35
Caption="next"
Data=String(..........)
link(onClick,4392029:doSearch,[])
}
Add(Label,14401749,168,105)
{
Left=115
Top=10
Caption="0"
}
Add(Position,4392029,119,105)
{
Target="."
StartPos=0
link(onSearch,14401749:doText,[])
link(StartPos,14401749:Caption,[(139,93)(157,93)(157,149)(174,149)])
}
Автор Ivann, элементы Button+Counter+Edit
Add(Button,11486341,168,238)
{
Left=115
Top=35
Caption="next"
Data=String(0123456789)
link(onClick,8239983:doNext,[])
}
Add(Edit,11298274,280,238)
{
Left=200
Top=35
link(onChange,8239983:doMin,[(331,244)(331,294)(212,294)(212,265)])
}
Add(Counter,8239983,224,238)
{
Max=10
Point(doMin)
link(onNext,11298274:doText,[])
}
Автор Ivann, элементы Button+Math+ProgressBarRush
Add(ProgressBarRush,2507503,343,126)
{
Left=120
Top=115
Width=15
Max=10
Caption=""
}
Add(Button,4588211,231,126)
{
Left=65
Top=115
link(onClick,637464:doOperation,[])
}
Add(Math,637464,287,126)
{
Op2=1
link(onResult,2507503:doPosition,[])
link(Op1,637464:Result,[(293,114)(281,114)(281,170)(293,170)])
}
Автор Nic, элементы WebBrowser+DoData+Timer
Add(WebBrowser,12367157,175,77)
{
Left=70
Top=10
Width=580
Height=500
Align=5
Point(doFromText)
}
Add(DoData,7137533,126,105)
{
Data=String(<SCRIPT TYPE="text/javascript">
<!--
function Counter(Form){var Count = Form.Edit.value;if (Count < 10) { Count++; Form.Edit.value = Count; }}
//-->
</SCRIPT>
<FORM>
<INPUT TYPE=BUTTON OnClick="Counter(this.form);" VALUE="Push">
<INPUT NAME="Edit">
</FORM>)
link(onEventData,12367157:doFromText,[])
}
Add(Timer,15867566,77,105)
{
Interval=100
AutoStop=1
link(onTimer,7137533:doData,[])
}
Автор Assasin, элементы Button+StrList+Label
Add(Button,10852794,273,161)
{
Left=70
Top=10
link(onClick,7110116:doGetString,[])
}
Add(StrList,7110116,322,119)
{
Strings=#1:1|1:2|1:3|1:4|1:5|1:6|1:7|1:8|1:9|2:10|2:10|
Point(String)
Point(doGetString)
Point(IdxToSelect)
Point(onGetString)
link(IdxToSelect,7110116:String,[(342,107)(358,107)(358,180)(349,180)])
link(onGetString,1605527:doText,[])
}
Add(Label,1605527,371,126)
{
Left=135
Top=15
}
Автор olDjeka, элементы Button+Replace+Label
Add(Button,11499601,385,126)
{
Left=139
Top=121
Data=String(0123456789)
link(onClick,7320165:doReplace,[])
}
Add(Label,11892274,504,126)
{
Left=142
Top=82
Caption="0"
AutoSize=1
Alignment=2
link(Text,7320165:CurentPos,[(510,117)(482,117)(482,165)(454,165)])
}
Add(Replace,7320165,441,126)
{
Point(CurentStr)
Point(CurentPos)
link(onReplace,11892274:doText,[])
link(Sub_str,11892274:Caption,[(454,110)(495,110)(495,165)(510,165)])
}