------------ Дoбавленo:
konsvik, вот рабочий пример, только не забудь время-гринвич, разница 3 часа
Add(COM,5708819,406,165)
{
BaudRate=4800
Parity=4
TimeOut=1
link(onRead,11289978:doValue,[])
link(Port,10797025:Text,[])
}
Add(Timer,11901500,308,193)
{
Interval=1
Enable=1
link(onTimer,16112240:doData,[])
}
Add(DoData,16112240,357,193)
{
Data=Integer(2)
link(onEventData,5708819:doRead,[])
}
Add(Hub,15962356,245,158)
{
OutCount=3
link(onEvent2,5708819:doOpen,[])
link(onEvent3,11901500:doTimer,[(293,178)(293,199)])
}
Add(Button,6627573,175,158)
{
Left=45
Top=177
Caption="Start"
link(onClick,15962356:doEvent1,[])
}
Add(Button,1445190,175,277)
{
Left=45
Top=215
Caption="Stop"
link(onClick,13915471:doEvent1,[])
}
Add(Hub,13915471,224,277)
{
OutCount=3
link(onEvent1,5708819:doClose,[(331,283)(331,178)])
link(onEvent2,11901500:doStop,[(282,290)(282,206)])
}
Add(Case,15358791,595,172)
{
Value=String(0D0A)
link(onNextCase,5079453:doStrCat,[])
link(onTrue,10885940:doEvent1,[(639,185)(639,231)(394,231)(394,269)])
}
Add(Hub,10885940,406,263)
{
OutCount=3
link(onEvent1,6657354:doAdd,[(604,269)(604,255)])
link(onEvent2,5079453:doClear,[(558,276)(558,185)])
link(onEvent3,9262457:doClear,[(586,283)(586,185)])
}
Add(StrCat,5079453,679,172)
{
Point(doClear)
link(onStrCat,9262457:doValue,[])
link(Str1,9262457:Value,[(685,160)(723,160)(723,216)(741,216)])
link(Str2,11289978:Value,[(692,125)(518,125)(518,216)(482,216)])
}
Add(Memory,9262457,735,172)
{
Default=String()
}
Add(MainForm,3499755,294,39)
{
Width=270
Height=427
}
Add(Label,12496219,840,214)
{
Left=20
Top=125
Width=28
Height=17
Caption="COM"
}
Add(Edit,10797025,406,102)
{
Left=50
Top=120
Text="1"
}
Add(Stream2Hex,15264765,525,172)
{
Mode=2
link(onResult,15358791:doCase,[])
}
Add(Memory,11289978,476,172)
{
link(onData,15264765:doConvert,[])
}
Add(ArrayRW,4041938,693,347)
{
link(onRead,14866170:doSplit,[(737,353)(737,395)(240,395)(240,402)])
link(Array,6657354:Array,[])
link(Index,3811123:Result,[(706,335)(657,335)(657,391)(608,391)])
}
Add(StrList,6657354,679,249)
{
link(onChange,3811123:doOperation,[(723,255)(723,304)(590,304)(590,353)])
link(Str,5079453:Result,[])
}
Add(Label,13570189,735,517)
{
Left=140
Top=125
}
Add(Case,14895840,364,503)
{
Value=String($GPGGA)
link(onNextCase,14126032:doCase,[])
link(onTrue,12021055:doData,[(401,516)(401,579)])
}
Add(Case,14126032,413,503)
{
Value=String($GPRMC)
link(onTrue,11747814:doData,[])
}
Add(DoData,12021055,518,573)
{
link(onEventData,12689483:doWork3,[(620,579)])
link(Data,4725754:Var3,[(524,477)])
}
Add(DoData,11747814,469,510)
{
link(onEventData,12689483:doWork2,[])
link(Data,4725754:Var2,[])
}
Add(HubEx,12689483,616,503)
{
link(onEvent,2787558:doCompare,[])
}
Add(GetDataEx,4725754,462,468)
{
link(Data,504915:Value,[])
}
Add(StrMask,2787558,658,510)
{
Mask="######"
link(onTrue,13570189:doText,[])
}
Add(Math,3811123,602,347)
{
OpType=1
Op2=1
link(onResult,4041938:doRead,[])
link(Op1,6657354:Count,[(608,321)(692,321)])
}
Add(StrPart,14866170,252,396)
{
Char=","
DirectEvent=0
link(onSplit,5034539:doSplit,[])
link(onPart,14895840:doCase,[(296,409)(296,509)])
}
Add(Memory,504915,469,417)
{
}
Add(StrPart,5034539,315,396)
{
Char=","
link(onPart,16021113:doSplit,[])
}
Add(StrPart,16021113,378,403)
{
Char="."
link(onPart,504915:doValue,[(440,416)(440,423)])
}
konsvik, смотри на публикаторе выложил готовую схему синхронизации http://www.hiasm.com/sha/shatools.php?q=5&id=62