Вверх ↑
Ответов: 537
Рейтинг: 14
#1: 2017-08-27 09:02:20 ЛС | профиль | цитата
Самая маленькая схема, активируется клавишей enter

Add(MainForm,2953706,21,105)
{
Width=172
Height=117
}
Add(ChildGroupBox,3872874,147,105)
{
@Hint=#6:Таймер|
AddHint(-16,34,54,13,@Hint)
}
BEGIN_SDK
Add(EditMulti,6799624,21,21)
{
Width=335
Height=172
}
Add(GroupBox,8732101,28,42)
{
Left=40
Top=10
Width=78
Height=57
Caption=""
}
Add(Edit,16734325,140,42)
{
Left=15
Top=20
Font=[MS Sans Serif,8,1,0,1]
Text="2:30"
Alignment=2
MaxLenField=5
ClearAfterEnter=1
link(onChange,15388170:doEvent1,[])
link(onEnter,8131885:doEvent1,[])
}
Add(Label,16634553,280,112)
{
Left=10
Top=20
Width=53
Height=24
Font=[MS Sans Serif,12,1,0,1]
Visible=1
Caption="Старт"
Point(doVisible)
}
Add(InlineCode,5395143,235,112)
{
@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,16634553:doText,[])
}
Add(Timer,2532539,91,119)
{
Enable=1
link(onTimer,13945467:doPrev,[])
}
Add(Counter,13945467,189,112)
{
Max=500
Default=9000
Point(doValue)
link(onNext,5395143:doCount,[])
}
Add(MultiStrPart,11981660,140,84)
{
Char=":"
link(Str,16734325:Text,[])
}
Add(MathParse,8137829,140,133)
{
MathStr="%1*60*60+%2*60"
link(onResult,13945467:doValue,[])
link(X1,11981660:Part1,[])
link(X2,11981660:Part2,[])
}
Add(Hub,15388170,182,42)
{
link(onEvent1,11981660:doSplit,[(208,48)(208,69)(128,69)(128,90)])
link(onEvent2,8137829:doCalc,[(208,55)(208,97)(128,97)(128,139)])
}
Add(Hub,8131885,224,49)
{
link(onEvent1,16634553:doVisible,[(259,55)(259,125)])
link(onEvent2,2532539:doTimer,[(250,62)(250,94)(79,94)(79,125)])
}
END_SDK
карма: 4

0