Вверх ↑
Этот топик читают: Гость
Ответов: 94
Рейтинг: 2
#1: 2017-02-11 11:39:06 ЛС | профиль | цитата
Добрый день. Для собственных нужд понадобилась схема, которая будет возвращать название нажатой клавиши, а так же код клавиш. В итого получилось это:

Add(MainForm,2953706,350,161)
{
Width=619
Position=1
}
Add(Edit,2099236,574,259)
{
Left=5
Top=5
Width=125
TabOrder=1
Text=""
ReadOnly=0
Point(onKeyDown)
Point(onKeyUp)
Point(doPosition)
}
Add(MultiElement,14326375,518,266)
{
@Hint=#6:HotKey|
link(onEvent1,2099236:doText2,[])
link(onEvent2,2099236:doPosition,[])
link(Data1,2850486:Var2,[])
link(Data2,1366203:Var1,[(531,254)(554,254)(554,300)])
}
BEGIN_SDK
Add(EditMulti,9389625,21,21)
{
EventCount=2
WorkCount=3
DataCount=2
VarCount=1
Width=671
Height=270
link(doWork1,7530269:doStrCatDlm,[(59,27)(59,55)])
link(doWork2,11037565:doEvent1,[(35,34)(35,132)])
link(doWork3,7841566:doWork1,[(245,41)(245,62)])
link(Var1,10467231:Value,[(27,277)(594,277)])
}
Add(MultiElement,7693555,441,140)
{
@Hint=#16:Подмена символов|
link(onEvent1,11794903:doEvent1,[])
link(Data1,12781747:Var1,[(447,113)(427,113)])
}
BEGIN_SDK
Add(EditMulti,12072838,21,21)
{
EventCount=1
WorkCount=1
DataCount=1
VarCount=1
Width=265
Height=137
link(doWork1,382155:doEnum,[(42,27)(42,104)])
link(Var1,6453291:Value,[(27,148)(223,148)])
}
Add(If_else,5677270,112,98)
{
link(onTrue,12579840:doCompare,[])
link(Op1,12072838:Data1,[(118,60)(27,60)])
link(Op2,382155:Index,[(125,84)(159,84)(159,141)(76,141)])
}
Add(ArrayEnum,382155,63,98)
{
link(onItem,5677270:doCompare,[])
link(Array,13443976:Array,[])
}
Add(StrList,13443976,49,35)
{
Strings=#3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |9:Caps Lock|3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |5:Space|7:Page Up|9:Page Down|3:End|4:Home|3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |1:0|1:1|1:2|1:3|1:4|1:5|1:6|1:7|1:8|1:9|3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |1:A|1:B|1:C|1:D|1:E|1:F|1:G|1:H|1:I|1:J|1:K|1:L|1:M|1:N|1:O|1:P|1:Q|1:R|1:S|1:T|1:U|1:V|1:W|1:X|1:Y|1:Z|3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |5:Num 0|5:Num 1|5:Num 2|5:Num 3|5:Num 4|5:Num 5|5:Num 6|5:Num 7|5:Num 8|5:Num 9|5:Num *|5:Num +|3:-1 |5:Num -|5:Num .|5:Num /|2:F1|2:F2|2:F3|2:F4|2:F5|2:F6|2:F7|2:F8|2:F9|3:F10|3:F11|3:F12|3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |8:Num Lock|3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |1:;|1:=|1:,|1:-|1:.|1:/|1:`|3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |1:[|1:\|1:]|1:'|
Point(String)
Point(Index)
}
Add(If_else,12579840,168,98)
{
Op2=String(-1 )
link(onFalse,6453291:doValue,[])
}
Add(Memory,6453291,217,105)
{
link(onData,12072838:onEvent1,[(267,111)(267,27)])
}
END_SDK
Add(Hub,5674535,588,133)
{
InCount=4
link(onEvent1,9389625:onEvent1,[(611,139)(611,27)])
link(onEvent2,14117318:doClear,[])
}
Add(Memory,14117318,623,133)
{
Default=Integer(20)
link(onData,9389625:onEvent2,[(673,139)(673,34)])
}
Add(StrCat,9758821,525,140)
{
Point(doClear)
link(onStrCat,5674535:doEvent2,[])
link(Str1,14000183:Var2,[(531,124)(392,124)(392,176)(356,176)])
link(Str2,7693555:Var1,[(538,128)(479,128)(479,177)(447,177)])
}
Add(Hub,11037565,63,126)
{
link(onEvent1,1846046:doSplit,[])
link(onEvent2,7530269:doClear,[(87,139)(87,62)])
}
Add(StrCatDelim,7530269,98,49)
{
Delimiter="/"
Point(doClear)
link(Str1,9392242:Var3,[(104,34)(140,34)(140,92)])
link(Str2,9389625:Data1,[(111,35)(27,35)])
}
Add(GetDataEx,9392242,98,87)
{
link(Data,7530269:Result,[])
}
Add(MultiStrData,1846046,98,126)
{
Char="/"
Count=4
link(Str,9392242:Var2,[])
link(onPart2,2285087:doValue,[])
link(onPart3,2653328:doValue,[])
link(onPart4,13129206:doBetween,[])
}
Add(Memory,2653328,231,140)
{
}
Add(Hub,12361774,399,133)
{
link(onEvent1,5674535:doEvent1,[])
link(onEvent2,7693555:doWork1,[])
}
Add(MultiElement,14000183,343,133)
{
@Hint=#33:Определяет функциональную клавишу|
link(onEvent1,12361774:doEvent1,[])
link(onEvent2,2494162:doValue,[(387,146)(387,237)])
link(Data1,13034995:Var,[])
link(Data2,2285087:Value,[(356,122)(309,122)(309,177)(279,177)])
}
BEGIN_SDK
Add(EditMulti,6119611,21,21)
{
EventCount=2
WorkCount=1
DataCount=2
VarCount=2
Width=503
Height=172
link(doWork1,13309890:doData,[(28,27)(28,62)])
link(Var1,9631333:Value,[(27,177)(475,177)])
link(Var2,3307965:Value,[(34,183)(482,183)])
}
Add(If_else,5472985,168,56)
{
Op2=Integer(16)
link(onTrue,4287769:doEvent1,[])
link(onFalse,8574592:doCompare,[(208,69)(208,104)])
}
Add(If_else,8574592,224,98)
{
Op2=Integer(17)
link(onTrue,1276193:doEvent1,[])
link(onFalse,11837953:doCompare,[(268,111)(268,146)])
}
Add(If_else,11837953,280,140)
{
Op2=Integer(18)
link(onTrue,13771077:doEvent1,[])
link(onFalse,6119611:onEvent2,[(516,153)(516,34)])
}
Add(Hub,1276193,273,98)
{
link(onEvent1,8262805:doCompare,[])
link(onEvent2,2564591:doWork3,[(291,111)])
}
Add(Hub,13771077,329,140)
{
link(onEvent1,2235819:doCompare,[])
link(onEvent2,7774995:doWork3,[(347,153)])
}
Add(If_else,12957218,245,56)
{
Op2=Integer(160)
link(onTrue,14924914:doClear,[(285,62)(285,34)])
link(onFalse,15475597:doClear,[])
link(Op1,2299187:Var2,[])
}
Add(Memory,14924914,294,21)
{
Default=String(LShift + )
link(onData,930469:doWork2,[])
}
Add(Hub,4287769,217,56)
{
link(onEvent1,12957218:doCompare,[])
link(onEvent2,2564591:doWork2,[])
}
Add(Memory,15475597,301,56)
{
Default=String(RShift + )
link(onData,930469:doWork3,[(340,62)])
}
Add(If_else,8262805,301,98)
{
Op2=Integer(162)
link(onTrue,16022848:doClear,[(340,104)(340,76)])
link(onFalse,9092499:doClear,[])
link(Op1,14696342:Var2,[])
}
Add(Memory,9092499,357,98)
{
Default=String(RCtrl + )
link(onData,15159488:doWork3,[(403,104)])
}
Add(If_else,2235819,357,140)
{
Op2=Integer(164)
link(onTrue,709337:doClear,[(401,146)(401,118)])
link(onFalse,13495768:doClear,[])
link(Op1,14696342:Var3,[(363,35)])
}
Add(Memory,13495768,413,140)
{
Default=String(RAlt + )
link(onData,8507648:doWork3,[(459,146)])
}
Add(Memory,16022848,357,63)
{
Default=String(LCtrl + )
link(onData,7860081:doWork3,[(396,69)])
}
Add(Memory,709337,413,105)
{
Default=String(LAlt + )
link(onData,16580076:doWork3,[(452,111)])
}
Add(Memory,3307965,476,21)
{
Default=String(Shift + )
link(onData,6119611:onEvent1,[])
}
Add(HubEx,930469,336,21)
{
link(onEvent,7860081:doWork2,[])
}
Add(HubEx,7860081,392,21)
{
link(onEvent,15159488:doWork2,[])
}
Add(HubEx,15159488,399,21)
{
link(onEvent,16580076:doWork2,[])
}
Add(HubEx,16580076,448,21)
{
link(onEvent,8507648:doWork2,[])
}
Add(HubEx,8507648,455,21)
{
link(onEvent,3307965:doValue,[])
}
Add(Memory,9631333,469,63)
{
Default=String(Shift + )
}
Add(HubEx,7774995,343,63)
{
link(onEvent,9631333:doValue,[])
}
Add(GetDataEx,2299187,245,30)
{
Angle=3
link(Data,6119611:Data1,[(27,35)])
}
Add(GetDataEx,14696342,301,30)
{
Angle=3
link(Data,2299187:Var3,[])
}
Add(HubEx,2564591,287,63)
{
link(onEvent,7774995:doWork2,[])
}
Add(DoData,13309890,35,56)
{
link(onEventData,1877724:doConvert,[])
link(Data,6119611:Data2,[(41,38)(34,38)])
}
Add(If_else,4815090,119,56)
{
Type=2
Op2=Integer(5)
link(onTrue,5472985:doCompare,[])
}
Add(Convertor,1877724,77,56)
{
Mode=1
link(onResult,4815090:doCompare,[])
}
END_SDK
Add(MultiElement,6844311,476,231)
{
@Hint=#16:Подмена символов|
link(onEvent1,5674535:doEvent3,[(564,237)(564,153)])
link(Data1,2494162:Value,[(482,219)(442,219)(442,270)(405,270)])
}
BEGIN_SDK
Add(EditMulti,14211774,21,21)
{
EventCount=1
WorkCount=1
DataCount=1
VarCount=1
Width=265
Height=137
link(doWork1,12515898:doEnum,[(42,27)(42,104)])
link(Var1,8574787:Value,[(27,148)(223,148)])
}
Add(If_else,11519957,112,98)
{
link(onTrue,460414:doCompare,[])
link(Op1,14211774:Data1,[(118,85)(27,85)])
link(Op2,12515898:Index,[(125,84)(159,84)(159,141)(76,141)])
}
Add(ArrayEnum,12515898,63,98)
{
link(onItem,11519957:doCompare,[])
link(Array,12032759:Array,[])
}
Add(StrList,12032759,49,35)
{
Strings=#3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |9:Caps Lock|3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |5:Space|7:Page Up|9:Page Down|3:End|4:Home|3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |1:0|1:1|1:2|1:3|1:4|1:5|1:6|1:7|1:8|1:9|3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |1:A|1:B|1:C|1:D|1:E|1:F|1:G|1:H|1:I|1:J|1:K|1:L|1:M|1:N|1:O|1:P|1:Q|1:R|1:S|1:T|1:U|1:V|1:W|1:X|1:Y|1:Z|3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |5:Num 0|5:Num 1|5:Num 2|5:Num 3|5:Num 4|5:Num 5|5:Num 6|5:Num 7|5:Num 8|5:Num 9|5:Num *|5:Num +|3:-1 |5:Num -|5:Num .|5:Num /|2:F1|2:F2|2:F3|2:F4|2:F5|2:F6|2:F7|2:F8|2:F9|3:F10|3:F11|3:F12|3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |8:Num Lock|3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |1:;|1:=|1:,|1:-|1:.|1:/|1:`|3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |3:-1 |1:[|1:\|1:]|1:'|
Point(String)
Point(Index)
}
Add(If_else,460414,168,98)
{
Op2=String(-1 )
link(onFalse,8574787:doValue,[])
}
Add(Memory,8574787,217,105)
{
link(onData,14211774:onEvent1,[(267,111)(267,27)])
}
END_SDK
Add(Memory,2494162,399,231)
{
link(onData,9038655:doEvent1,[])
}
Add(MultiElement,7841566,469,56)
{
link(onEvent1,5674535:doEvent4,[(579,62)(579,160)])
link(Data1,9389625:Data2,[(475,38)(34,38)])
}
BEGIN_SDK
Add(EditMulti,3902066,21,21)
{
EventCount=1
WorkCount=1
DataCount=1
VarCount=1
Width=181
Height=102
link(doWork1,15286653:doGetIndex,[(39,27)(39,90)])
link(Var1,15038973:Value,[(27,102)(153,102)])
}
Add(Memory,15038973,147,49)
{
Default=String()
link(onData,3902066:onEvent1,[(192,55)(192,27)])
}
Add(StrList,15286653,49,42)
{
Strings=#9:LShift + |9:RShift + |8:LCtrl + |8:RCtrl + |7:LAlt + |7:RAlt + |
Point(doGetIndex)
Point(StrToFind)
Point(onGetIndex)
link(StrToFind,3902066:Data1,[(69,31)(27,31)])
link(onGetIndex,7202467:doCompare,[])
}
Add(If_else,7202467,98,49)
{
Type=1
Op2=Integer(0)
link(onFalse,15038973:doClear,[])
}
END_SDK
Add(Hub,11794903,490,140)
{
link(onEvent1,9758821:doStrCat,[])
link(onEvent2,9889791:doString,[(514,153)(514,209)])
}
Add(GetDataEx,12781747,421,183)
{
Angle=3
link(Data,10958823:Var3,[])
}
Add(Memory,10467231,588,203)
{
Point(Data)
}
Add(Hub,9038655,448,231)
{
link(onEvent1,6844311:doWork1,[])
link(onEvent2,12673912:doWork3,[(571,244)])
}
Add(Memory,9030570,182,154)
{
link(onData,10548629:doWork2,[(224,160)(224,97)])
}
Add(Between,13129206,140,147)
{
Left=Integer(160)
Right=Integer(165)
link(onFalse,10548629:doWork1,[(217,153)(217,90)])
link(onTrue,9030570:doValue,[])
}
Add(FormatStr,9889791,525,203)
{
DataCount=3
Mask="%1%2%3"
link(onFString,12673912:doWork2,[])
link(Str1,14000183:Var1,[(531,198)(349,198)])
link(Str2,12781747:Var3,[(538,188)])
link(Str3,12036514:Var3,[(545,193)])
}
Add(GetIndexData,13034995,343,84)
{
link(onIndex,14000183:doWork1,[(380,90)(380,126)(331,126)(331,139)])
link(Data1,10958823:Var1,[(349,69)(321,69)])
link(Data2,12036514:Var1,[(356,72)(328,72)])
}
Add(ChanelToIndex,10548629,280,84)
{
link(onIndex,13034995:doIndex,[])
}
Add(GetDataEx,10958823,315,183)
{
Angle=3
link(Data,2653328:Value,[(237,188)])
}
Add(Memory,2285087,273,133)
{
}
Add(GetDataEx,12036514,322,188)
{
Angle=3
link(Data,9030570:Value,[(188,193)])
}
Add(HubEx,12673912,567,203)
{
link(onEvent,10467231:doValue,[])
}
END_SDK
Add(Keyboard,2247505,399,161)
{
}
Add(Timer,13957309,350,203)
{
Interval=100
link(onTimer,4392171:doEnum,[])
}
Add(ArrayEnum,4392171,399,203)
{
link(onItem,15392566:doCompare,[])
link(onEndEnum,8577875:doEvent1,[(425,216)(425,363)])
link(Array,2247505:Keys,[])
}
Add(If_else,15392566,448,203)
{
Op2=Integer(1)
link(onTrue,8694827:doEvent1,[])
link(onFalse,14326375:doWork3,[(473,216)(473,286)])
}
Add(StrCat,15996685,644,203)
{
Point(doClear)
link(Str1,11046736:Var3,[(650,194)(682,194)(682,243)])
link(Str2,2850486:Var3,[(657,153)(613,153)(613,243)])
}
Add(GetDataEx,11046736,644,238)
{
link(Data,15996685:Result,[])
}
Add(Hub,566813,518,364)
{
link(onEvent1,9075673:doGetIndex,[])
link(onEvent2,15996685:doClear,[(559,377)(559,216)])
}
Add(StrList,9075673,630,322)
{
@Hint=#5:HiAsm|
Point(onGetIndex)
Point(StrToFind)
Point(doGetIndex)
link(onChange,10927969:doString,[])
link(Str,11327399:Var2,[])
link(onGetIndex,3846055:doCompare,[])
link(StrToFind,11046736:Var2,[])
}
Add(Edit,16279678,728,329)
{
Left=5
Top=30
Width=125
Text=""
}
Add(If_else,3846055,679,329)
{
Type=4
Op2=Integer(0)
link(onTrue,16279678:doText,[])
}
Add(Memo,4673540,826,322)
{
Left=5
Top=55
Width=595
Height=200
}
Add(FormatStr,10927969,777,322)
{
DataCount=3
Mask="%3. %1: %2"
link(onFString,4673540:doAdd,[])
link(Str1,1366203:Var3,[(783,300)])
link(Str2,11327399:Var3,[(790,306)])
link(Str3,12827714:Count,[(797,311)(620,311)(620,365)(587,365)])
}
Add(GetDataEx,1366203,574,295)
{
link(Data,2099236:Text,[])
}
Add(Hub,8694827,490,203)
{
link(onEvent1,15996685:doStrCat,[])
link(onEvent2,14326375:doWork1,[(497,216)(497,272)])
}
Add(GetDataEx,11327399,630,301)
{
Angle=3
link(Data,14326375:Var1,[(524,306)])
}
Add(GetDataEx,2850486,518,238)
{
Angle=3
link(Data,4392171:Index,[(412,243)])
}
Add(CounterEx,12827714,581,322)
{
Min=-1
Max=100000
Point(doMin)
link(onNext,9075673:doAdd,[])
}
Add(Hub,8577875,490,357)
{
link(onEvent1,14326375:doWork2,[(497,363)(497,279)])
link(onEvent2,566813:doEvent1,[])
}
Add(Button,12703049,518,322)
{
Left=135
Top=5
link(onClick,12827714:doNext,[])
}
Особенности:
- возвращает название зажатых клавиш, но только по правилу: одиночная, функциональная + одиночная (пример: Alt+1);
- возвращает маску нажатых клавиш (код клавиш);
- понимает разницу между правыми функциональными клавишами и левыми (пример: LAlt + 1);
- список названия клавиш возможно редактировать;
- в списке сопоставлены кода клавиш только к латинским буквам;
- не реализовано тройное нажатие клавиш (пример: LAlt + Shift + 1), но реализовать не сложно добавив пару условий;
- реализовано определение ранее сохраненных комбинаций.

В кратце: можно определить нажатые клавиши, сохранить их и потом проверить нажаты ли они.
карма: 0

0
vip
#1.1контекстная реклама от партнеров
Ответов: 8886
Рейтинг: 823
#2: 2017-02-11 14:28:56 ЛС | профиль | цитата
Когда-то делал, подобное, правда для целей удаления некоторых набираемых слов, вот вырезка из программки:
схемка


Add(MainForm,5648784,182,147)
{
Width=240
Point(onClose)
link(onCreate,1958678:doEvent1,[])
link(onClose,2066480:doStop,[(221,174)(221,181)])
}
Add(GHotKey,14340948,133,168)
{
@Hint=#22:Exit - <Ctrl><Alt><F4>|
Alt=1
Ctrl=1
Key=115
link(onEventHotKey,5648784:doClose,[])
AddHint(-10,-42,116,13,@Hint)
}
Add(Keyboard,2077171,308,119)
{
}
Add(ArrayEnum,11951596,308,175)
{
link(onItem,579552:doEvent1,[])
link(Array,2077171:Keys,[])
}
Add(IntegerArray,11374726,392,119)
{
IntArray=['0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0,'0'=0]
}
Add(ArrayRW,7165902,392,175)
{
link(onRead,6503619:doOperation,[])
link(Array,11374726:Array,[])
link(Index,11066921:Var2,[])
link(Value,13436457:Var2,[])
}
Add(Hub,579552,364,175)
{
link(onEvent1,7165902:doRead,[])
link(onEvent2,7165902:doWrite,[])
}
Add(Math,6503619,434,175)
{
OpType=2
Op2=2
ResultType=0
link(onResult,13041990:doOperation,[])
}
Add(Math,13041990,476,175)
{
link(onResult,3067837:doCase,[])
link(Op2,13436457:Var3,[(489,166)])
}
Add(GetDataEx,13436457,406,161)
{
Angle=3
link(Data,11951596:Item,[(356,166)(356,222)(314,222)])
}
Add(Case,13522491,567,175)
{
Value=Integer(3)
DataOnTrue=String(удерж)
link(onNextCase,6026480:doCase,[])
link(onTrue,3340989:doWork1,[(606,188)])
}
Add(GetDataEx,11066921,399,154)
{
Angle=3
link(Data,11951596:Index,[(349,159)(349,215)(321,215)])
}
Add(Thread,2066480,259,168)
{
Delay=24
link(onSyncExec,11951596:doEnum,[])
}
Add(Hub,1958678,231,161)
{
link(onEvent1,14340948:doStartHotKey,[(256,167)(256,121)(117,121)(117,174)])
link(onEvent2,2066480:doStart,[])
}
Add(Case,6026480,616,175)
{
Value=Integer(2)
DataOnTrue=String(отпущ)
link(onTrue,5597539:doWork2,[])
}
Add(Case,3067837,518,175)
{
Value=Integer(1)
DataOnTrue=String(нажат)
link(onNextCase,13522491:doCase,[])
link(onTrue,3340989:doWork2,[(557,188)(557,216)])
}
Add(FormatStr,6422155,672,182)
{
Mask="%1;%2"
link(onFString,4715468:doData,[])
link(Str1,11066921:Var3,[(678,159)])
}
Add(HubEx,5597539,658,182)
{
link(onEvent,6422155:doString,[])
}
Add(HubEx,3340989,602,210)
{
link(onEvent,5597539:doWork3,[(662,216)])
}
Add(Time,11782453,763,133)
{
Format="h:m:s"
}
Add(ListBox,4338402,798,182)
{
Width=225
Height=260
AddType=1
}
Add(FormatStr,1609647,756,182)
{
Mask="%1;%2"
link(onFString,4338402:doAdd,[])
link(Str2,11782453:FormatTime,[])
}
Add(ChangeMon,4715468,714,182)
{
link(onData,1609647:doString,[])
}
карма: 19

1
Голосовали:lipKAI
2
Сообщение
...
Прикрепленные файлы
(файлы не залиты)