и как будильничек чтобы после отсчета энного кол-ва минут подавал сигнал.
Также сделал сразу контроль ошибки если установлен "ноль" ничего не происходит.
(хотя максимальное кол-во не контролировал не тестировал! но кому в голову придет тестировать таймер
999 минут или более))) )
Диод и вывод секунд добавил для удобства чтобы было видно что таймер работает...
Да вроде всё работает как надо кроме нижней части
на таймере после события onStop происходит:
1:
сброс счетчиков "CounterEx" минут и секунд
2: так как счетчики сброшены, дополнительно
"ноль" отправляется через "IntToStr" в поле вывода минут и секунд...
3: вырубается светодиод который в свою очередь врубает кнопку "старт" и вырубает кнопку "стоп"
(может не самое лучшее решение пришло мне в голову, загнать отключение кнопок через светодиод, но получилось очень удобно)
4: играет сигнал или музыка... "PlaySound"
Вот тут и загвоздка.
Дело в том что сигнал играет и при нажатии на кнопку "стоп" так как все-равно таймер выводит событие "onStop"
правильно работает лишь то что событие onStop происходит и после отработки таймера через указанное кол-во минут
когда и должен подаваться сигнал.
И вот теперь пытаюсь найти решение чтобы при нажатии на кнопку "Стоп" музыка не играла.
Поясню...
Нижний "Edit" он вообще не нужен, поставил просто чтобы видеть что выдаёт "Memory"
А именно какая кнопка нажата. И я планировал что вот этот "IndexToChanel"
будет считывать из "Memory" ноль или единицу т.е. если была нажата кнопка "старт" значил логично что таймер
отработал сам и сигналмузыка должна играть, если была нажата кнопка "стоп" то музыка не играет.
Но только отдалённо догадываюсь почему это не работает...
На первом канале "IndexToChanel" вообще не срабатывает сигнал, на втором канале по прежнему
в обоих случаях и когда отрабатывает таймер и когда нажата кнопка "стоп".
Подскажите у кого какие идеи как сделать чтобы при нажатии на кнопку "стоп" - "PlaySound" не работал?
--
Ну и вообще по схеме может что-либо лишнее и что-то можно упростить...
Я то дилетант в этом деле, нагородил целый лес...
Если я кнопку стоп вырубаю и врубаю только после того
как заработал таймер то возможно проверка что таймер работает после нажатия на кнопку "стоп" - это
на самом деле лишнее... Так сам кое чего вижу что нагородил...
А и ещё вопрос, как мне зациклить "PlaySound" чтобы после отработки таймера он проигрывал указанную мелодию энное кол-во раз???
Я конечно представляю что можно через цикл for, на паскале я знаю как это сделать
но тут у меня есть сомнение что элемент For будет ожидать окончания проигрывания файла элементом "PlaySound".
Тут не совсем понимаю как это реализовать.
------------ Дoбавленo в 07.52:
Dimon777 писал(а):
А и ещё вопрос, как мне зациклить "PlaySound" чтобы после отработки таймера он проигрывал указанную мелодию энное кол-во раз???Я конечно представляю что можно через цикл for, на паскале я знаю как это сделать
но тут у меня есть сомнение что элемент For будет ожидать окончания проигрывания файла элементом "PlaySound".
Тут не совсем понимаю как это реализовать.
Этот вопрос я решил вот так:
Может есть еще более простые способы?
Оказалось не сложно после того как я догадался выставить PlayType: SND_SYNC
Конечно до этого зациклить не мог по тому что PlaySound возвращал управления после начала проигрывания.
----
Make(delphi)
ver(4.04 build 185)
Add(MainForm,2953706,56,70)
{
Width=636
Height=138
Caption="Таймер"
}
Add(ChildPanel,11201473,126,56)
{
}
BEGIN_SDK
Add(EditMulti,6664656,21,21)
{
Width=783
Height=277
}
Add(Panel,10952720,35,105)
{
Left=10
Top=5
Width=609
Height=95
BevelInner=1
BevelOuter=2
}
Add(Edit,14216317,140,112)
{
Left=30
Top=20
Width=45
Hint="минуты"
Text="0"
Alignment=2
DataType=2
}
Add(If_else,10559353,140,182)
{
Op2=Integer(0)
link(onFalse,6571022:doOperation,[])
link(Op1,11377847:Var2,[])
}
Add(Timer,16538377,364,196)
{
Enable=1
AutoStop=1
Point(doAutoStop)
Point(onStop)
link(onTimer,12672298:doNext,[(406,202)(406,181)])
link(onStop,517818:doEvent1,[])
}
Add(Math,6571022,189,189)
{
OpType=2
Op2=60
link(onResult,13233474:doEvent1,[])
link(Op1,11377847:Var3,[(195,166)])
}
Add(CounterEx,12672298,469,175)
{
Max=59
Point(doReset)
Point(onThroughMax)
link(onNext,1638401:doWork2,[])
link(onThroughMax,9479884:doNext,[])
}
Add(CounterEx,9479884,525,182)
{
Point(doReset)
link(onNext,2343702:doWork1,[(573,188)])
}
Add(PlaySound,7103322,609,126)
{
PlayType=0
Sound=[ZIPD620000078DAED5969B36C6575C66FA9545996060714C1A0094EC8E03C444C620820D13862053877E09EB1CFE9B9F7F0CEC39E7A3C7D7A38E7DC994B292825896522513417078C49142418419184281A252A563EE56B9EB5FB62E94F48957D87EABDFB7DD7BBC6673D6BEF0F5C77CD350FBEECBCF36EFCE38FFCD9CA56FB65CF3BEFBCF39E853FEFBAF8BCF2DFB3CEFB1DDC3972A87DE81358657EFBF9EDE7B79FFF571FFD1B7FCEDD50BFBAA3CDAF7ED1E637162A6D95A1058BBF462D7EB65A5BFD6B5BB18AE4597C534E2BABCB7D56292B9597B4565B5C3963A4F5423B2D0D7E354E1A672544B8A0AD8276A2A4EFC49DB5B8B5C6C2A6665A0A676D24ACACB10E730D088DB58C5483859D5A43B7B5C8AC1BDAA19369B7994CDAD560AAB6547F1CA793716FF74C31CE4CBB351235C5C2BECDA6BE31D407627ECBB2A81E89A639F3FB47B3FE7E518B3BCB55515F6DD7659C1F9589D91EE5ACDD0F4C77FD701073DDCFFC7C6854C4DBCB2BADFA5233CCE6A3819B9FD9CE755D746E0DE2CAE1F53AC761F2D4F16136CC4DC2C383C245DA66557B7C323A3A4C0BCE1A1FBC2909579A3AEFCE0A3E9844F5BCD7B8B999C45173B5E1BA36EE4E8CDBE9252C74B211EB46DD8E9B2BC3BE302AF623B555EFD437636D649CCAEE64A35A14DD1EB3BBA26965BDEE9BF549DFA693691C652EECCB9BE5B6AA754F85F698EE8CC6A6976776231246AFB7994CD2788DF575AD3B590EFBEDCDBAA8B7B687B5F66DA328E3B59A55816CDB42BB4CAEA77BA9523A1A9F08562B8C35A3B019CCBAF1B162C3EC38E82733C6EAED8027612BB4D6A7B57A844418C946B197D478B3B53D53D1B41F2403D3AAD7A27EC16A663BEBA6B54ED7B3411EE7F3316BB0685D0EDA5B9EDB693750FD6116FB8207326C6FB69021F341CD9D4837A2CCC86E11B5F3A0E6D295DAA42BFB054FFAA2515F8D13514F7794D93675E66B5B492FDCEAE6B14DDA7CEAABFD998DAD0C62667D9186DC381FB4ED30F5DE1961A2B54E1E6DD93E83A59112D596EF85416A4D16B685623C7243297D9AB46B2E11BA68B9A3695DE4CC38233B4ED57C16C4B94F6D806C4F3ACDA6C90C97C34E2B375B1D55D3735D8F275947F158770D4B531DCBA4BDD54A6C3650DD341F451B49BF299230D43D27474925DA299A01725D4691B2190F9C08782CE236877A83A8834837990C90E79D411605C6B543DFCBA5888C65CD1617306EA4E2611AC58EC5A6082B45D724858FBB23C5988922994A99EBEED068C6FA76AB99395BF454909866C7674C8EB2283688346F3692BE94965B013522990897E84ED8F31D6E84EE99B61EF48443BDE92C8E4D13B5C89CED1E2FB85161DB04359EC49D5EDEE49E054604CEF9A8E53C533E903D4BA5AF844E65907413ED4C94A6E4DAC893386089EF06E150773A2D262550A33BE97B40492356418DD9B8C8A23083AB64AE641F527514A746323DCCB5904238DE09F24147FB30B422D45C856247D514A29932914A1E07A18879AFC8B2ED89F6AED546A603B5123FF47AD48B753F0E0147220A75E68DCCBA990DA4E934BC6959CF93D484619A74A284E9BEE988C4186410AC91464491F57997DB79576AD909150B426F633F30DC79EE4C1828C7DA013034B179C153270CAFC7850620F60CE2ACFA45E852298CE770894DFA867BE9458769A612E1071E6ED7CDB6736DA545DA4BB8CD0CAC65CCC75C499DF8DE48AA540B1605DC58237B85F658A5B14DF1262B78086CCD9DF652CA569B3158655397E5DEDBA88DF070EDE16AAF8A4C668064C66D1CD8C4F6BA2815E476A4E396B52CF5CAA689002AC442368565D23A9FE8ACAB249C1F474C9B6E21101E6DA5401A05AACB789E21AA2AB11C49AC91CD4EA5495E109C042A6EA21639EF7BDB75B12A608914A1C2C12E73C3BE5642D212C98AD4252E3788632BB031371C8BAD343ED54A45118F38722AD1FD212EB58A4219A317C834F70607090DD709DE893DF6BBB48B18C42C6E03CCB974032F1367E0D68E95718CE37596DB2295B032EE307438458801613892391EA55E58AF5DEA6D18FB4820FB10324F9BA04ADC8A8502489B611FC960B047C8D832952A91C0D3D22630A71560114032D149AEB8893B8EB795CA9C705EA405839719E486DC26499624053A62D016B2AD0CCF8A2C45BAC53AEDB451964A289D16906A8592320482E43A2B648AD4415A296163D5450AA7523BEF39C70DCB020ABAF6B966266E0A2004BAB52C0AE374286D1C46505943B53C7369C219328C3703F81E97DEA74865D9D186A128F1E1C2152E02AE21F0DA726F556E38BC1FB4110CEB9943A7D11E3A2A152BC52DE2D54D8B2E93082A6F07520060FB2820A7390F28A2310881C4DFC2A1C533AA65C90C9C6F91995E850C5E045C3BEF522048E09350284EF90C0473CA30C1638EBAB52EE92146A9118C3B0E27008F559E486F924C6B8EE8A0C80C7212F6280454C7A810CFE334535A024F99604A709011EB5C060A22204305D6C358678143914A390A130E76796211D8C4680E5C21987448262419502B0E5100A94247F1A90717B2480AC175EA9437590F2B18EA9F9341AE486201792839E4AE240A0428474C219B0501BE7803A0D54E2A27438AACF61605E5219A43AE06F639D4398ACA682A17AA5C657CE690F84A086635E5A14373B28455040E1103CB82DB72AD8C62009408A96FA188541256653E6AD4DABADBEBDB76BDAE768EEDE6D59B96AAEEF4A74EC8A50F1E92A7FFFE53DDC3EFBE666DFFECFDA757DFF9FA0FCFEE7FF45EF1CE4BDEDAFEFC130F4C6EB8F8B25BEFFAC113771DBAF4C23F1F7FFBC75F6C5FFE7B6FB40FFCCF7747EF78EEC5CB9FFBE58F8E5FF3A28B6EBCEBC73FFFC2DA2B5EF027E3EFFCE21F6B973CFB0DC923FFFB9DE44DCF7955F38B3FFDDEEE35E75F74E0EE1FFDE4EE0FBDF0F9EF39F9E4D35F58BBE8396FCB1FFAC503D9DBCF7F55F5ECCF9FD8BDF6052FFEABBB9E7AFAEF6EB9F0FC6BF6BFFFF4FDC16B9FFBDAC6577FF6E8FEB5E7BF7CED9EA77E74C7875FF8FCEB761FFBE5979B57BEE02DFE9B4F3F6CDFF2BC57D7CEFEF4F193EF7BC38B2F6FFEC3CF1E3B79FD0517DF72F74F7EFAB7872FB9F0BD7B8F3CF5A5C62B9FFB46FFE0D30F9937BFE8F2D6D9FFFAFEF1EB5FF2FB1FBDF389FFFCE4475FFA92F71E7FFCA9B3C19517BC4D7DF9C907F277BCF0F2F67D4F3D76EAFD975C7AD39D8FFFE0D3475E73F1F5F3EFFCF7BFC8D73FFF0DECCB4F7E6BFC6717BCEAC8DFFCF03FEEF8C8C517BDEFD8B7FFFD33952B2E7CBBFFFA0FFE397DDB8BAE6C9DFDF1C3D31B2EB9F4A3271EFDE13D1BAF79E9B5E36F3D795F74E5056F6A7DF68987661F7CC52B97EEF8DEE377DEFC0717BD67FC8D27EE0BDEFA8A77B07B1FFBA7C1352F7DD5813B1E7DF48E83AF7BE55FCEBEF1DD7B82B7BCFC6AF9C5EF7DAD7FC31F5EB5FCB1871FBEFDD0E597DE50DCF7F067A3B75FFA6EFEB97FFBCAF687AE78D381630F7CFB93AB57BDFAFDA3FB1FB9D75C77C5BB6A9FFAD7AFEDDD7CD5EB974E7FEB91BF6E5C7DD9F5FEF30F9DED7FE0B237AE7FFCC1076F3B74D5A5D7269FFFE6A7A33F7DCDD5B53B1FF8DADE4DAFBBECC6F1D96F7CB2FDEE2BAE139FF9E6972637BDF98F568E7FF5EB9F08FFE2EA1BD34F7FE573F38DF7DC503D71EF3DBB5BEFBFE140F2F1CFDE911DBAE143D5D11D77EF776EBE71C51FBBF3983A72D3A135379916F5834B6B7267D6B7D5A5A586CDB2B87EF8E60DD1DDDD96ADB58D4A649DAA2E1D5CAA8FC6A34C7450E94537E59D7AA093E1C083EF58CAE6B8D50A6556248687CC758BCCB21870E5B3CCA2FDA6BD7E6A5810319301301415092A310A80E81E15C904B5780C0B21AA3D01780B61B2DC291E7500DFB927BCF4DD5E6169479A2516B56A8082898E3A7139950093133056143AB1475C33A17C9E270A4D4F0119A823D9BC57248A4500B214A8160B971739584827D60E50410897757BA9C22168715EF310420743D0FD4E800681BE1B86DC7507FD44C611D0153D210898C97B3DD0287C49A057D00E55DAEF626984769201123A01B8400F1018C7684399157180B69CC2518031C0B8D3719BFAB4A5B10B64DE03A14308432FE74C42A893512780B9203CA032C04F8709290639C2564B7EB3E08A6144B28074E8958478400CB1980A1D4C31D43B8D2CC748E320126D1C142201B8E31EBCE10141029B89170089B00050CD8502A42A8E2130C3A11C872E66516073690820D1D202AE13F8CD30C22D7852C6D01F5B0C2C9434822A3415E8058E84769340A604F1730912816E58F21B5812287C42E8AFE10B403C8E4D605BC95370A4607006101233A9A4F114B84A390055155D8297A271D1008A0955532B90C80158A0C942FC8C0023399880A79DC735F50F495E103414433B62192444D11516A0F5117A430EEED14D43B288F24001680D6685BF98F24479853D36038D458C8420620C33700AB609B289C80029E2C95F68B074B9D00DA3356835BAB0A2C9DAD3A18B995FAAC5B8EEC88352C221820C7186B6C15E8885FB486B5B06858494FCEA9C41380AACAF3CA4FCD5D256E414594CE64357ECA46700F0B1064B822FCB93A45E7CE06E8F5040882C95A5DE549EAECAE70B3054822EE7D8057B845E4853D4BAD2D499B8D589A89E7A96078D50BB6ED78956B51127DB93494F34372B2DD3DB19E7A255A9B1747A743E909BCB2B753FDEDF1FC8EA91F54EBA7B6ABF1F1E59BAB59EEC9D39B5CD2B076F6DB8E9C9637DBE7EF04823D9BBEDF444556E59AAA89DDB6EDF4D1A870F6EB0EDD36776EDD6A103AB7C74F2E3C78B6075E9482B99434CBC7AF050CD4DCF9C99B9DAA19B5782EEB1D3BB7967E5F06AD03B76E6442F5C5B3A58D5D3D367F6D2F6EAAD95B87FF4E43C6DAD1C5A6EE7FB1F3BB3AD2B4B07D7D8F0F8A9996DAC1C5C67FD13B71F2D3ACBB71CD8B2B35327B7656DF570D56C9FBE6DE6EA07217C70E2CCA901DB3AB8DC4A764F9F1CB0F503B7D6F4E8D889B9AF1F595A61FDA3B7EF67E1EAE195BA1DEEED0FF8E6EA7233199DBC6D626A476EDD6827D313C707ACBEBA1AA6F3937B79B071F0D03A1B9DBCFD7837DC5CABF1EECEEE50428B95BADB3D7D6AAC1AEBAB35D59DED4F32565DA984E9F4C489896BAC1DDEE0F9EC1866FFEA5A2DCA774FC0055B2B479AAE379FF7546B75B9C1FB7BFB531F6CAE6DC6E9F8D8348DABCBEB811D1FDBDDF69DCDD5BAEE4DF7B76D5859A9B26C767C6FC83797976BBA3B99F74DB8556989DE6CB66D2167ADE307BBB39E6E57AB81ED93F0EAF2CAA6ECCF8FCF33D158AB867634DBE9B2DAC646906C1F3D3E36EDF5239B819FCCC73EA8566A51B13D9FA5BCBEBCD694DDE974643BB5CD3ACFA74767296B566A31B261DA37ADCA6A5591423E866A3C1DCFC629ABAE6D34ED60BE3F3030A2CEFDF6B897045B1B5B38FBC45EC1614E5316D3F9D0B737B7DA6638DBDBB16175652B34E3BDF940D5D6D71BB63F9915B2B9BED110D9F6DEDED0B6D6D7AAE4E01DC7EA6BD538991E9D74596575ADE5067BFB3B49B4B55E8FD3E9DEC8753636EA5131DBDFED8AC6EA4A43F476277DD3DC80A0EE140E0C2AAB1B613A393E2B54BDB2D972A3194E6C6DAC36757FEFE824831CB86034DFC97863733370C3DD492E6BCB2B35D99BEC4F5246C7F8D16C3B0D2B6B9BA11F1FDD1B9A7665AD2EBBB3F93089362B75D1DDD9A380AF553A66B40BA7C3C696EC4FA63DD9C242D585AF325E5DAF745C7F3A2D646BAB16E1408CBECDF5F51A2B26F39D9CC3BF22DD9E0C534467AB6387F3DD816E6D54E0B5F1B4A7C3CA4683F766F39D24ACAD6D466E309DF44C73B3DA713D1CA39A954A43F5667BE324AEAD6F057E38DE46C4366B3C19CD50DDD5B532A0F3910BEBD526CFC7F36D176FAE6CB5939DE96CA083EA56A0B2D1B86F83DA167EDE81B1717D6BB3658BEDEDDC468D66A0D2DEA09F8BA0510B64BEBD33CC54D86E63B2CAF30CAD3CC0905760EE9121CDB444210895CAEE44F845106408A4D00D3CEEA0FD280C6B68FA4051706F602CC129E6FAC23BD109026A9E0584A0694A2CF49A859D10434A9EA347A1F1A003624F1CF3D8A66019601384A2005E477867D179D1DB5814E13BDA9EE534A450D7414BC2C88D460DD8C42D7AB44A8A11CE13D927062009D32D3DABA5A18D9A29834598F140622426634CB63465E310CC553420951D93FA0CDD4CA097502CC60E744F0F48E69A8C274331C2948D1B648906269C0C7998C640313069C69888C03600DEA5786804E18C1E70A00F6B5031A03E9A22BAABA471982CE5E896E88A600B7621C9781A6CE1ED3445EBD325E92A6360E8E1B1A3A830CE2374A70C0ACB324034DF506BB3C45FF00DE30D3433B042E36C4323108B39CDB0E83DC4579455A4A204D7D0199A94A6914FD364553EFE466412CC9B6422F442880D6635CCDC0A2C49124D342565905C961D97DA93F289490C8D620A81257A646872C47F861E5141B52C053910929E37D0C371491A5393C6299440D6946D531345408030F4E14B9AA2BF0A6867178FDF8900503317E04D8251CCA93F13A18085445E24CDCA44314ACE513E7587DEF0BFA1879E826C245A73EE1500310041A3B1060DD444211003F29926EE82F91507613AA5CC02F172BAF40F888A20BA664B8A413C867A3D510D2422FC2A4B2622E159EC7094B18A980A7C442CC91399A1EC200256321C6DF19D08D0E25E4953A0206D293951E96CF70C1159F0106227B011A4A824A4E43BECA65C92B2144C419654B634982BB3A066E619A97AF10283D831F900B1C7DC7CEE650651BEB220149D5C722D0A3065058970E7C2549231BBB824FBC8E38B55584721A1D389E391761412701E7A26A5F03D21FD17C48FFE836E34DDD3204FCF52162F5828DC70EB39D64734C89D7BE142C186A729AD4B822ACF99541256F22D3EB80B3FD33B96323C58602469469E2A43B62070B6746C998DA5B355594A257B53C4DD69992324B1A581E6DC026B17569764D2DAC502694A68D1F29C68185206E0DC88401BB19C2C2AB3CB960542BA95DA97447211344A3971EE65D3426AE915FDCC9C50725EBA2EA9B02DEB1C15A2A57E86E42E3283C494954A6234228A98CA85D1E549247461EEC2D92800C05119D832D9E000000D65C28207437908E5E57B2D7A3C55864C2D7C40D0EBCD3950015E097ACB45C12F5B0797A557166A9754BF4C52F820A3FC27F5284D200220520E082866D2AE64D77006208722520680EAC9944C997C5D3E95A38743C054CA1E49CA234D1CA5BAE46508A95E708CA6F71AAAEC21D464A0824063900B034ACF52B9C0D954E16A71A78C2265F7AFF2B29C5D04A50A9C40FA29CDB0808EA4A181460E11534949CA704523131C2F383D8512A5CF4808216F59EF65432DA340B601BD5452A686266C857E0463347D287ADC068390AF0BE0291F62D20B470C196571FFDA9BCC732F309FFDBBFF0741323D67]
link(onEndPlay,3397869:doCompare,[])
}
Add(ChildPanel,4661267,665,175)
{
}
BEGIN_SDK
Add(EditMulti,16495647,21,21)
{
WorkCount=2
VarCount=1
link(doWork1,12426421:doText,[(42,27)(42,41)])
link(doWork2,14281500:doText,[(42,34)(42,97)])
link(Var1,14281500:Caption,[(27,172)(97,172)])
}
Add(Panel,12867422,154,35)
{
Left=90
Top=15
Width=59
Height=28
BorderStyle=1
BevelInner=1
BevelOuter=2
}
Add(Label,14281500,91,91)
{
Left=5
Top=5
Width=23
Height=12
Name="Lab01"
Hint="минуты"
Caption="000"
AutoSize=1
Alignment=2
}
Add(Label,9031525,105,35)
{
Left=30
Top=5
Width=7
Height=12
Caption=":"
}
Add(Label,12426421,63,35)
{
Left=35
Top=5
Width=16
Height=12
Name="Lab02"
Hint="секунды"
Caption="00"
AutoSize=1
Alignment=2
}
END_SDK
Add(Hub,517818,420,203)
{
OutCount=6
link(onEvent1,9156090:doCompare,[(448,209)(448,132)])
link(onEvent2,12672298:doReset,[(455,216)(455,188)])
link(onEvent3,9479884:doReset,[(513,223)(513,195)])
link(onEvent4,1638401:doWork3,[(592,230)])
link(onEvent5,2343702:doWork2,[])
link(onEvent6,852986:doOff,[(442,244)(442,185)(205,185)(205,125)])
}
Add(Button,5738008,280,203)
{
Left=95
Top=50
Height=25
Font=[MS Sans Serif,12,1,0,1]
Enabled=1
Hint="остановить таймер"
Caption="Stop"
Point(doEnabled)
Point(doBringToFront)
link(onClick,492213:doEvent1,[])
}
Add(Hub,13233474,238,189)
{
OutCount=4
link(onEvent1,16538377:doAutoStop,[(324,195)(324,216)])
link(onEvent2,16538377:doTimer,[])
link(onEvent3,852986:doOn,[(264,209)(264,169)(209,169)(209,132)])
link(onEvent4,10512364:doOn,[(388,216)(388,69)])
}
Add(GetDataEx,11377847,140,161)
{
link(Data,14216317:Text,[])
}
Add(Convertor,10992691,609,231)
{
Digits=3
SymbolFill="0"
link(onResult,4661267:doWork2,[(653,237)(653,188)])
}
Add(Convertor,11773094,609,175)
{
SymbolFill="0"
link(onResult,4661267:doWork1,[])
}
Add(If_else,9156090,462,126)
{
link(onTrue,8370929:doWork2,[])
link(Op1,11377847:Var1,[(468,87)(130,87)(130,166)])
link(Op2,4661267:Var1,[(475,89)(742,89)(742,219)(671,219)])
}
Add(HubEx,1638401,588,175)
{
link(onEvent,11773094:doConvert,[])
}
Add(HubEx,2343702,569,231)
{
link(onEvent,10992691:doConvert,[])
}
Add(Button,2160451,91,182)
{
Left=20
Top=50
Height=25
Font=[MS Sans Serif,12,1,0,1]
Hint="стартовать таймер"
Caption="Start"
Point(doEnabled)
Point(doBringToFront)
link(onClick,10559353:doCompare,[])
}
Add(LED,852986,217,112)
{
Left=165
Top=15
Hint="Таймер"
link(onChange,3455663:doEvent1,[])
}
Add(Hub,3455663,266,112)
{
OutCount=3
link(onEvent1,4403182:doSwitch,[])
link(onEvent2,5738008:doEnabled,[(292,125)(292,167)(268,167)(268,209)])
link(onEvent3,3501677:doEnabled,[(376,132)(376,55)])
}
Add(Switch,4403182,301,112)
{
DataOn=Integer(0)
DataOff=Integer(1)
link(onSwitch,2160451:doEnabled,[(345,118)(345,153)(79,153)(79,188)])
}
Add(CounterEx,16497834,567,126)
{
link(onNext,7103322:doPlay,[])
}
Add(If_else,3397869,700,126)
{
Op2=Integer(20)
link(onFalse,8370929:doWork1,[(736,139)(736,105)(505,105)])
link(Op1,16497834:Count,[(706,111)(629,111)(629,170)(573,170)])
}
Add(Memo,10161287,644,35)
{
Left=260
Top=20
Width=265
Height=45
HintManager="заметки"
Strings=#11:Для заметок|
}
Add(If_else,11548649,525,126)
{
Type=5
Op2=Integer(0)
link(onTrue,16497834:doNext,[])
link(Op1,10512364:Value,[(531,104)(559,104)])
}
Add(Button,11028999,595,42)
{
Left=535
Top=20
Width=60
Height=25
Hint="Очистить заметки"
Caption="Очистить"
link(onClick,10161287:doClear,[])
}
Add(LED,10512364,553,49)
{
Left=210
Top=15
Hint="Сигнал"
}
Add(Button,3501677,501,49)
{
Left=190
Top=50
Height=25
Enabled=1
Hint="Включаетвыключает сигнал"
Caption="Сигнал"
Point(doEnabled)
Point(onMouseDown)
link(onClick,10512364:doChangeValue,[])
}
Add(Hub,492213,336,203)
{
link(onEvent1,16538377:doStop,[])
link(onEvent2,10512364:doOff,[(452,216)(452,62)])
}
Add(HubEx,8370929,501,126)
{
link(onEvent,213571:doWork2,[])
}
Add(HubEx,213571,511,126)
{
link(onEvent,11548649:doCompare,[])
}
END_SDK