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)]) }
|