Вверх ↑
Этот топик читают: Гость
Ответов: 254
Рейтинг: 6
#1: 2019-10-25 13:40:28 ЛС | профиль | цитата
Добрый день!
Есть две радиокнопки и два поля ввода. Как сделать, чтобы при нажатии на одну радиокнопку одно поле становилось активным, а другое блокировалась. И далее при клике на другую радиокнопку происходило обратное с полями?



Add(MainForm,16049581,35,35)
{
Width=450
Height=235
}
Add(RadioButton,16036686,294,308)
{
Left=45
Top=80
Selected=0
link(onSelect,10079352:doEvent1,[])
}
Add(RadioButton,8301173,301,385)
{
Left=45
Top=120
link(onSelect,12528994:doEvent1,[])
}
Add(Edit,5581946,434,266)
{
Left=195
Top=75
Point(doReadOnly)
Point(doVisible)
link(Str,16036686:Selected,[(440,254)(370,254)(370,352)(300,352)])
}
Add(Edit,9479864,490,301)
{
Left=210
Top=135
Point(doReadOnly)
Point(doVisible)
link(Str,8301173:Selected,[(496,289)(402,289)(402,429)(307,429)])
}
Add(Hub,2815840,371,336)
{
InCount=2
OutCount=4
link(onEvent1,8833042:doCompare,[(445,342)(445,398)])
link(onEvent3,5581946:doText,[(409,356)(409,272)])
link(onEvent4,9479864:doText,[(437,363)(437,307)])
}
Add(If_else,8833042,504,392)
{
Type=2
link(onTrue,5043401:doSwitch,[])
link(onFalse,5043401:doReset,[])
link(Op1,5581946:Text,[(510,345)(440,345)])
link(Op2,9479864:Text,[(517,334)(496,334)])
}
Add(Edit,13784407,714,357)
{
Left=330
Top=75
ReadOnly=0
Point(doEnabled)
}
Add(Edit,3658791,714,441)
{
Left=335
Top=135
Enabled=1
Point(doEnabled)
}
Add(Hub,10079352,336,308)
{
link(onEvent1,2815840:doEvent1,[(366,314)(366,342)])
link(onEvent2,10673904:doWork2,[(519,321)(519,433)])
}
Add(Hub,12528994,343,385)
{
link(onEvent1,2815840:doEvent2,[(352,391)(352,349)])
link(onEvent2,10855169:doWork2,[(523,398)(523,391)])
}
Add(Switch,5043401,588,392)
{
Point(onOn)
Point(onOff)
link(onOn,10855169:doWork3,[(691,405)])
link(onOff,10673904:doWork1,[(691,412)])
}
Add(HubEx,10855169,687,385)
{
Angle=3
link(onEvent,13784407:doEnabled,[(691,377)])
}
Add(HubEx,10673904,687,427)
{
Angle=1
link(onEvent,3658791:doEnabled,[(691,461)])
}


Редактировалось 3 раз(а), последний 2019-10-25 13:41:52
карма: 0

0
Ответов: 4628
Рейтинг: 749
#2: 2019-10-25 14:33:42 ЛС | профиль | цитата

Add(MainForm,16049581,231,133)
{
Width=450
Height=235
Position=1
}
Add(RadioButton,16036686,357,322)
{
Left=45
Top=80
Width=85
Selected=0
Caption="RadioButton1"
link(onSelect,8894647:doData,[])
}
Add(RadioButton,8301173,364,490)
{
Left=45
Top=120
Width=85
Caption="RadioButton2"
link(onSelect,9424335:doData,[])
}
Add(Edit,5581946,644,308)
{
Left=155
Top=80
Point(doEnabled)
}
Add(Edit,9479864,686,476)
{
Left=155
Top=120
Enabled=1
Point(doEnabled)
}
Add(Edit,13784407,700,315)
{
Left=220
Top=80
Point(doEnabled)
}
Add(Edit,3658791,742,483)
{
Left=220
Top=120
Enabled=1
Point(doEnabled)
}
Add(Hub,10079352,469,322)
{
link(onEvent1,15726968:doEvent1,[])
link(onEvent2,3110441:doOperation,[(514,335)(514,356)])
}
Add(Hub,12528994,483,490)
{
link(onEvent1,1702055:doOperation,[(511,496)(511,461)])
link(onEvent2,9148344:doEvent2,[])
}
Add(Hub,9148344,630,490)
{
InCount=2
link(onEvent1,9479864:doEnabled,[])
link(onEvent2,3658791:doEnabled,[])
}
Add(Hub,15726968,602,322)
{
InCount=2
link(onEvent1,5581946:doEnabled,[])
link(onEvent2,13784407:doEnabled,[])
}
Add(Math,3110441,525,350)
{
OpType=6
Op2=1
ResultType=0
link(onResult,9148344:doEvent1,[(590,356)(590,496)])
}
Add(DoData,8894647,413,322)
{
Data=Integer(1)
link(onEventData,10079352:doEvent1,[])
}
Add(DoData,9424335,420,490)
{
Data=Integer(1)
link(onEventData,12528994:doEvent1,[])
}
Add(Math,1702055,525,455)
{
OpType=6
Op2=1
ResultType=0
link(onResult,15726968:doEvent2,[(576,461)(576,335)])
}

Редактировалось 1 раз(а), последний 2019-10-25 15:27:45
карма: 26

1
Голосовали:Medvedoc
Ответов: 254
Рейтинг: 6
#3: 2019-10-25 15:12:18 ЛС | профиль | цитата
Netspirit, не додумался использовать элемент DoData )) спасибо огромное. Оказалось все легко так и просто.
карма: 0

0
Ответов: 4628
Рейтинг: 749
#4: 2019-10-25 15:24:51 ЛС | профиль | цитата
Я тоже некоторое время разбирался почему без DoData не работает. Интуитивно спутал с CheckBox.

Убрал связь к Selected, поставив 1 в DoData.

Редактировалось 3 раз(а), последний 2019-10-25 15:28:24
карма: 26

0
Ответов: 8919
Рейтинг: 823
#5: 2019-10-25 15:40:43 ЛС | профиль | цитата
Medvedoc, а вот и элемент на все случаи жизни IndexToCanalAll https://forum.hiasm.com/getfile/38768
И схемка к нему


Add(MainForm,16049581,231,98)
{
Width=450
Height=235
Position=1
}
Add(RadioButton,16036686,231,154)
{
Left=45
Top=10
Width=20
Caption=""
link(onSelect,5940887:doWork1,[(291,160)(291,216)])
}
Add(RadioButton,8301173,231,196)
{
Left=45
Top=45
Width=20
Caption=""
link(onSelect,5940887:doWork2,[(277,202)(277,223)])
}
Add(Edit,5581946,497,140)
{
Left=150
Top=10
Enabled=1
Point(doEnabled)
}
Add(Edit,9479864,497,224)
{
Left=150
Top=70
Enabled=1
Point(doEnabled)
}
Add(Edit,13784407,497,182)
{
Left=150
Top=40
Enabled=1
Point(doEnabled)
}
Add(Edit,3658791,497,266)
{
Left=150
Top=100
Enabled=1
Point(doEnabled)
}
Add(RadioButton,4221957,234,240)
{
Left=45
Top=70
Width=20
Caption=""
link(onSelect,5940887:doWork3,[(284,246)(284,230)])
}
Add(RadioButton,10880800,234,282)
{
Left=45
Top=100
Width=20
Caption=""
link(onSelect,5940887:doWork4,[(291,288)(291,237)])
}
Add(IndexToChanelAll,9954104,441,203)
{
Count=4
Data=Integer(1)
DataAll=Integer(0)
link(onEvent1,5581946:doEnabled,[(480,209)(480,160)])
link(onEvent2,13784407:doEnabled,[(487,216)(487,202)])
link(onEvent3,9479864:doEnabled,[(487,223)(487,244)])
link(onEvent4,3658791:doEnabled,[(480,230)(480,286)])
}
Add(ChanelToIndex,5940887,301,210)
{
Count=4
link(onIndex,9954104:doEventAll,[])
}

карма: 19

0
файлы: 1IndexToChanelAll.rar [3.1KB] [571]
Разработчик
Ответов: 26113
Рейтинг: 2126
#6: 2019-10-25 15:41:35 ЛС | профиль | цитата
Еще один вариант (собран чисто из доступных элементов, в отличие от предыдущего варианта). Гораздо проще для более чем двух наборов полей, и можно варьировать включением определенных наборов полей. Еще можно и программировать включение наборов, если применит внешний список параметров (в данной схеме не реализовано).
Схема

Add(MainForm,16049581,133,287)
{
Width=450
Height=235
Position=1
}
Add(RadioButton,16036686,189,287)
{
Left=45
Top=90
Width=85
Selected=0
Caption="RadioButton1"
link(onSelect,860631:doWork1,[])
}
Add(RadioButton,8301173,189,329)
{
Left=45
Top=120
Width=85
Caption="RadioButton2"
link(onSelect,860631:doWork2,[(242,335)(242,300)])
}
Add(Edit,5581946,462,224)
{
Left=155
Top=90
Point(doEnabled)
}
Add(Edit,9479864,462,308)
{
Left=155
Top=120
Enabled=1
Point(doEnabled)
}
Add(Edit,13784407,462,266)
{
Left=220
Top=90
Point(doEnabled)
}
Add(Edit,3658791,462,350)
{
Left=220
Top=120
Enabled=1
Point(doEnabled)
}
Add(Hub,9148344,420,322)
{
link(onEvent1,9479864:doEnabled,[])
link(onEvent2,3658791:doEnabled,[(452,335)(452,370)])
}
Add(Hub,15726968,420,238)
{
link(onEvent1,5581946:doEnabled,[])
link(onEvent2,13784407:doEnabled,[(452,251)(452,286)])
}
Add(ChanelToIndex,860631,266,287)
{
Count=3
link(onIndex,2811476:doSet,[])
}
Add(MultiSetParam,2811476,322,287)
{
Parameters=#5:1;0;1|5:0;1;0|5:1;1;1|
link(onSet1,15726968:doEvent1,[(361,293)(361,244)])
link(onSet2,9148344:doEvent1,[(396,300)(396,328)])
link(onSet3,9016601:doEvent1,[(389,307)(389,412)])
}
Add(RadioButton,9450025,189,371)
{
Left=45
Top=150
Width=85
Caption="RadioButton2"
link(onSelect,860631:doWork3,[(249,377)(249,307)])
}
Add(Edit,11055336,462,392)
{
Left=155
Top=150
Enabled=1
Point(doEnabled)
}
Add(Edit,4094856,462,434)
{
Left=220
Top=150
Enabled=1
Point(doEnabled)
}
Add(Hub,9016601,427,406)
{
link(onEvent1,11055336:doEnabled,[])
link(onEvent2,4094856:doEnabled,[(452,419)(452,454)])
}


Редактировалось 3 раз(а), последний 2019-10-25 15:44:52
карма: 22

0
Ответов: 16884
Рейтинг: 1239
#7: 2019-10-25 16:25:33 ЛС | профиль | цитата
Ещё один вариант

Add(MainForm,16049581,84,175)
{
Width=450
Height=235
Position=1
link(onCreate,11334698:doWork2,[])
}
Add(RadioButton,16036686,175,168)
{
Left=45
Top=90
Width=85
Selected=0
Caption="RadioButton1"
link(onSelect,2186958:doWork2,[])
}
Add(RadioButton,8301173,182,210)
{
Left=45
Top=120
Width=85
Caption="RadioButton2"
link(onSelect,6899047:doWork2,[])
}
Add(Edit,5581946,364,133)
{
Left=155
Top=90
Visible=1
Point(doVisible)
}
Add(Edit,9479864,364,217)
{
Left=155
Top=120
Visible=1
Enabled=1
Point(doVisible)
}
Add(Edit,13784407,364,175)
{
Left=220
Top=90
Visible=1
Point(doVisible)
}
Add(Edit,3658791,364,259)
{
Left=220
Top=120
Visible=1
Enabled=1
Point(doVisible)
}
Add(Hub,9148344,322,231)
{
link(onEvent1,9479864:doVisible,[])
link(onEvent2,3658791:doVisible,[(350,244)(350,279)])
}
Add(Hub,15726968,322,147)
{
link(onEvent1,5581946:doVisible,[])
link(onEvent2,13784407:doVisible,[(350,160)(350,195)])
}
Add(RadioButton,9450025,189,252)
{
Left=45
Top=150
Width=85
Caption="RadioButton2"
link(onSelect,6899047:doWork3,[(234,258)])
}
Add(Edit,11055336,364,301)
{
Left=155
Top=150
Visible=1
Enabled=1
Point(doVisible)
}
Add(Edit,4094856,364,343)
{
Left=220
Top=150
Visible=1
Enabled=1
Point(doVisible)
}
Add(Hub,9016601,329,315)
{
link(onEvent1,11055336:doVisible,[])
link(onEvent2,4094856:doVisible,[(353,328)(353,363)])
}
Add(BitsToInt,3699504,175,301)
{
Count=3
link(onNumber,4521190:doBits,[])
link(Bit1,16036686:Selected,[])
link(Bit2,8301173:Selected,[])
link(Bit3,9450025:Selected,[])
}
Add(HubEx,6899047,230,210)
{
Angle=3
link(onEvent,2186958:doWork3,[])
}
Add(HubEx,2186958,230,168)
{
Angle=3
link(onEvent,11334698:doWork1,[(234,152)(163,152)])
}
Add(IntToBits,4521190,238,301)
{
Count=3
Data_0=Integer(0)
Data_1=Integer(1)
link(onBit1,15726968:doEvent1,[(304,307)(304,153)])
link(onBit2,9148344:doEvent1,[(313,314)(313,237)])
link(onBit3,9016601:doEvent1,[])
}
Add(HubEx,11334698,159,189)
{
Angle=1
link(onEvent,3699504:doNumber,[(163,307)])
}

карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Разработчик
Ответов: 26113
Рейтинг: 2126
#8: 2019-10-25 16:38:05 ЛС | профиль | цитата
Tad писал(а):
Ещё один вариант

Да, этот вариант хорош. Единственный его недостаток -- нельзя выборочно назначить группы. Но если этого не надо, то вполне сойдет.
карма: 22

0
Ответов: 5227
Рейтинг: 587
#9: 2019-10-25 16:46:42 ЛС | профиль | цитата
Дефицит общения, понимаю
Коллеги, как можно убивать так своё время. Ну нужна то была удочка а не рыба
карма: 4
Мой форум - http://hiasm.bbtalk.me/ схемы, компоненты...
0
Ответов: 4628
Рейтинг: 749
#10: 2019-10-25 17:10:48 ЛС | профиль | цитата
andrestudio, форум и так еле живёт, а ты запрещаешь хоть немного размять заржавевшие мозги

Редактировалось 1 раз(а), последний 2019-10-25 17:11:20
карма: 26

0
Ответов: 5227
Рейтинг: 587
#11: 2019-10-25 20:32:03 ЛС | профиль | цитата
Netspirit,
Netspirit писал(а):
форум и так еле живёт,
ну например я предлагал что то с этим делать, промолчали все.
Netspirit писал(а):
а ты запрещаешь хоть немного размять заржавевшие мозги

Например я предлагал Вам с nesco помочь мне с кодом для fpc когда мне это было нужно, но Вы так дружелюбно сослались на свою занятость. Я всё понимаю что она и на самом деле была наверно но... Вы просто оказали мне неоценимую услугу, мне просто пришлось разобраться с этим самому, за что я Вам очень благодарен
карма: 4
Мой форум - http://hiasm.bbtalk.me/ схемы, компоненты...
0
Ответов: 4628
Рейтинг: 749
#12: 2019-10-28 12:10:27 ЛС | профиль | цитата
andrestudio писал(а):
сослались на свою занятость
Ну, так потому форум малоактивен - у многих появились другие заботы.
andrestudio писал(а):
помочь мне с кодом для fpc когда мне это было нужно
Зато у меня уже почти работает браузер в FPC - выложу когда будет готово.

Редактировалось 1 раз(а), последний 2019-10-28 12:10:56
карма: 26

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