неплохо
Add(Timer,16201833,427,252)
{
Enable=1
link(onTimer,5132125:doNext,[])
}
Add(CounterEx,5132125,504,252)
{
Max=0
Direct=1
Point(doMax)
link(onNext,9321960:doCount,[])
}
Add(Button,5537939,315,217)
{
Left=5
Top=5
link(onClick,10487638:doEvent1,[])
}
Add(Edit,7675031,427,168)
{
Left=65
Top=5
}
Add(Edit,4945915,434,126)
{
Left=120
Top=5
}
Add(FastMathParse,13959632,427,217)
{
MathStr="%1*3600+%2*60"
link(onResult,5132125:doMax,[(478,223)(478,265)])
link(X1,7675031:Text,[])
link(X2,4945915:Text,[])
}
Add(Hub,10487638,371,217)
{
link(onEvent1,13959632:doCalc,[])
link(onEvent2,16201833:doTimer,[(406,230)(406,258)])
}
Add(Label,12993671,609,252)
{
Left=175
Top=10
}
Add(InlineCode,9321960,557,252)
{
@Hint=#66:Перевод целочисленного значения в количество часов, минут и секунд|
WorkPoints=#7:doCount|
EventPoints=#8:onString|
VarPoints=#3:Str|
DataPoints=#5:Count|
Code=#15:unit HiAsmUnit;|0:|9:interface|0:|21:uses Kol,Share,Debug;|0:|4:type|28: THiAsmClass = class(TDebug)|10: private|17: FStr : string;|9: public|20: Count:THi_Event;|0:|23: onString:THI_Event;|0:|51: procedure doCount(var _Data:TData; Index:word);|47: procedure Str(var _Data:TData; Index:word);|5: end;|0:|14:implementation|0:|77:function SecTime(var x:integer):string; // Перевод целочисленного значения в|76:var hour,min,sec:string; // количество часов, минут и секунд|5:begin|31: hour := int2str(x div 3600);|19: x := x mod 3600;|26: if (x div 60) < 10 then|40: min := '0' + int2str(x div 60) else|30: min := int2str(x div 60);|26: if (x mod 60) < 10 then|40: Sec := '0' + int2str(x mod 60) else|52: Sec := int2str(x mod 60);|42: Result := hour + ':' + min + ':' + sec;|4:end;|0:|30:procedure THiAsmClass.doCount;|14:var C:integer;|15:var str:string;|5:begin|39: C := ReadInteger(_Data, Count, 0);|23: str := SecTime(C);|17: FStr := str;|31: _hi_onEvent(onString,str);|4:end;|0:|26:procedure THiAsmClass.Str;|5:begin|31: _Data.Data_type := data_str;|23: _Data.sdata := FStr;|4:end;|0:|4:end.|
link(onString,12993671:doText,[])
}