46.63.67.135 писал(а):
code_36852.txt
меня вот удивляет , что даже самый продвинутые тут разработчики , не могут придумать правильное решение.
Add(Edit,518480,392,406)
{
Left=100
Top=325
Width=175
Height=60
Font=[Courier New,36,1,0,204]
Text="0.00"
ClearAfterEnter=1
Point(onKeyDown)
Point(doPosition)
Point(doSetFocus)
Point(Position)
link(onChange,4050585:doFormatIP,[(447,412)(447,401)(240,401)(240,412)])
}
Add(InlineCode,4050585,252,406)
{
WorkPoints=#10:doFormatIP|
EventPoints=#8:onFormat|
Code=#15:unit HiAsmUnit;|0:|9:interface|0:|21:uses kol,Share,Debug;|2: |39:type TIPAdr = array[ 0..3] of integer; |41:type TIPAdrOld = array[ 0..3] of integer;|0:|4:type|28: THiAsmClass = class(TDebug)|10: private|18: fIpAdr:TIPAdr;|24: fIpAdrOld:TIPAdrOld;|15: old:string;|9: public|23: onFormat:THI_Event;|49: procedure doFormatIP(var dt:TData; idx:word);|0:|5: end;|0:|14:implementation|0:|16:uses hiStr_Enum;|0:|33:procedure THiAsmClass.doFormatIP;|39:var i: integer; p: integer; s,f:string;|5:begin|20: s := ToString(dt);|23: if old = s then exit;|11: old := s;|19: Replace(s,' ','');|20: for i := 0 to 3 do|7: begin|41: fIpAdr[i] := str2int(fparse(s, '.'));|44: if fIpAdr[i] = 0 then fIpAdrOld[i] := 0;|28: if fIpAdrOld[i] = 0 then|12: begin |38: fIpAdr[i] := fIpAdr[i] div 10;|34: fIpAdrOld[i] := fIpAdr[i];|10: end;|21: case fIpAdr[i] of|22: 0..99: Continue;|39: else fIpAdr[i] := fIpAdr[i] div 10;|9: end; |4: |13: end; |86: f := int2str(fIpAdr[0]) + '.' + int2str(fIpAdr[1]); |47: old := f; _hi_onEvent(onFormat,f); |4:end;|0:|4:end.|
link(onFormat,518480:doText,[])
}
Add(Label,8197398,392,336)
{
Left=320
Top=320
Width=51
Height=17
Caption="Оценка 1"
}
Add(InfoTip,11612808,217,364)
{
Info=#16:ограничние ввода|
Width=113
Height=109
}