А как данную схему сделать автоматической, чтобы при выборе даты не нужно было нажимать на кнопку вычислить.
Add(MainForm,2953706,77,28)
{
Width=542
Height=303
Caption="Возраст (до дней)."
BorderStyle=1
Position=1
}
Add(InlineCode,8511652,154,210)
{
WorkPoints=#6:doCalc|
EventPoints=#8nResult|
DataPoints=#7ateINT|
Code=#15:unit HiAsmUnit;|09:interface|029:uses windows,kol,Share,Debug;|04:type|28: THiAsmClass = class(TDebug)|10: private|09: public|33: DateInt, onResult:THI_Event;|51: procedure doCalc(var _Data:TData; Index:Word);|05: end;|014:implementation|29:procedure THiAsmClass.doCalc;|20:var ST: TSystemTime;|25: Data,Birth : Integer;|27: Y, M, D, pD, pM : word;|24: sY, sM, sD : string;|5:begin|21: Data:=Trunc(Date());|33: Birth:= toIntegerEvent(DateInt);|22:If Data <= Birth then |5:begin|45: _hi_OnEvent(onResult, 'Вы ещё не родились');|6: Exit;|5:end; |32:GetLocalTime(ST); //Текущая дата|42ecodeDate(Birth,Y,M,D); // Дата рождения|0012:// Число лет|18:Y := St.wYear - Y;|31:If Y in [0,5..20] then sY:=' '|5:else |16:case Y mod 10 of|14:1: sY := ' ';|14:2..4: sY:=' ';|14:else sY:=' ';|4:end;|18:sY:=int2str(Y)+sY;|034: _hi_OnEvent(onResult, ' ' + sY );|4:end;|4:end.|
link(onResult,4824216:doWork3,[(256,216)])
link(DateINT,8438771ateInt,[(160,191)(90,191)])
}
Add(DatePicker,8438771,84,140)
{
Left=120
Top=5
Width=110
Height=21
Font=[MS Sans Serif,8,1,0,1]
DateMode=1
Point(DateInt)
link(onChange,9165230:doData,[])
}
Add(DoData,9165230,210,140)
{
Data=String()
link(onEventData,4824216:doWork2,[])
}
Add(HubEx,4824216,252,140)
{
link(onEvent,1318699:doText,[])
}
Add(Label,3423548,308,217)
{
Left=5
Top=7
Width=110
Font=[MS Sans Serif,8,1,16711680,1]
Caption="Дата рождения : "
AutoSize=1
Alignment=1
}
Add(Edit,1318699,308,140)
{
Left=175
Top=80
Width=150
Height=40
Text=""
}