Вверх ↑
Ответов: 5227
Рейтинг: 587
#1: 2013-03-22 08:44:01 ЛС | профиль | цитата
foksov, увы глючная схема
------------ Дoбавленo в 08.44:
избавился от ввода трёхзначных чисел
Add(MainForm,2953706,84,161)
{
Width=297
Height=109
Caption="HostName"
BorderStyle=1
Position=1
}
Add(InlineCode,104692,203,161)
{
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;|27:var i: integer; s,f:string;|5:begin|20: s := ToString(dt);|23: if old = s then exit;|11: old := s;|20: 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|23: 0..255: Continue;|39: else fIpAdr[i] := fIpAdr[i] div 10;|10: end; |13: end; |33: f := int2str(fIpAdr[0]) + '.' +|33: int2str(fIpAdr[1]) + '.' +|33: int2str(fIpAdr[2]) + '.' +|59: int2str(fIpAdr[3]); |47: old := f; _hi_onEvent(onFormat,f); |4:end;|0:|4:end.|
link(onFormat,2940467:doText,[])
}
Add(Edit,2940467,266,161)
{
Left=10
Top=10
Width=160
Font=[Courier New,8,1,0,204]
Text="0.0.0.0"
Alignment=2
ClearAfterEnter=1
Point(onKeyDown)
Point(doPosition)
link(onChange,13974967:doWork3,[(347,167)])
link(onEnter,10484049:doWork1,[(310,174)(310,200)(256,200)])
link(onKeyDown,7495500:doCase,[])
}
Add(Case,7495500,322,175)
{
Value=Integer(46)
DataOnTrue=Integer(0)
link(onTrue,6042913:doEvent1,[])
}
Add(Button,6583515,203,224)
{
Left=180
Top=10
Width=100
Caption="Name"
link(onClick,10484049:doWork2,[])
}
Add(Label,9540426,322,224)
{
Left=10
Top=50
Caption="HostName"
}
Add(Host,10776569,266,224)
{
link(onHostByIP,9540426:doText,[])
link(IP,2940467:Text,[])
}
Add(Hub,6042913,371,182)
{
link(onEvent1,13974967:doWork2,[(401,188)(401,144)])
link(onEvent2,2940467:doPosition,[(402,195)(402,214)(249,214)(249,181)])
}
Add(Label,539405,133,162)
{
Left=10
Top=30
Width=124
Height=17
Caption="Clear edit to key "Delete""
}
Add(HubEx,10484049,252,224)
{
link(onEvent,10776569:doHostByIP,[])
}
Add(HubEx,13974967,343,138)
{
Angle=2
link(onEvent,104692:doFormatIP,[(189,144)(189,167)])
}

карма: 4
Мой форум - http://hiasm.bbtalk.me/ схемы, компоненты...
0