Make(delphi) ver(4.04 build 185) Add(MainForm,2953706,182,371) { Width=1024 Height=598 Position=1 Point(Handle) link(onCreate,15478093:doEvent1,[]) } Add(PageControl,11277553,588,196) { Width=970 Height=450 Align=5 Selected="base" SelectAdd=0 Point(doSetFocus) Point(PHandle) Point(Handle) link(onNewTab,3823461:doWork3,[(632,202)(632,260)(373,260)]) link(onThisTab,9280259:doEvent1,[]) link(onEvent,9354718:doWork2,[]) link(Data,3414812:Var3,[(594,184)(580,184)]) } BEGIN_SDK Add(EditPolyMulti,3572540,21,21) { WorkCount=#5:##add|10:doNavigate|8:##select|8:##delete|10:doSetFocus|9:doRefresh|6:doBack|9:doForward|6:doStop|6:doData| EventCount=#8:onNewTab|9:onThisTab|8:onEvent2|7:onEvent| VarCount=#7:##count|4:Page|7:PHandle|10:CurrentURL|6:Handle|7:Handle1| DataCount=#4:Data|3:URL| Width=1259 Height=676 Point(##add) Point(##select) Point(##delete) Point(##count) link(doNavigate,14620706:doNavigate,[(165,34)(165,153)]) link(doRefresh,14620706:doRefresh,[(165,62)(165,160)]) link(doBack,14620706:doBack,[(165,69)(165,167)]) link(doForward,14620706:doForward,[(165,76)(165,174)]) link(Page,8965740:Var2,[(34,451)(321,451)]) link(PHandle,14620706:PHandle,[(41,451)(328,451)]) link(CurrentURL,14620706:CurrentURL,[(48,455)(314,455)]) link(Handle,14620706:Handle,[(55,451)(335,451)]) link(Handle1,16760219:Handle,[(62,452)(790,452)]) } Add(EventFromData,5314568,168,56) { link(onEvent,7768100:doEvent1,[]) } Add(DoData,8246284,98,56) { Data=Integer(1) link(onEventData,5314568:doData,[]) } Add(Hub,7768100,245,56) { link(onEvent1,8246284:doData,[(271,62)(271,50)(86,50)(86,62)]) link(onEvent2,3572540:onNewTab,[(769,69)(769,27)]) } Add(WebBrowser,14620706,308,147) { Left=1 Top=1 Width=975 Height=371 Align=5 Name="br" URL="" Silent=0 Point(NewWindow) Point(Navigate) Point(doSavePage) Point(doFromText) Point(doVisible) Point(PHandle) Point(Handle) Point(doSetFocus) link(onNavigate,5310247:doEvent1,[]) link(onStatus,10838235:doData,[(432,167)(432,300)]) link(onProgress,5282529:doCase,[(394,174)(394,300)]) link(URL,3572540:URL,[(314,84)(34,84)]) link(NewWindow,5314568:GetData,[(321,117)(174,117)]) } Add(PagePanel,16760219,784,175) { Left=-5 Top=110 Width=977 Height=373 Point(doCaption) Point(onChange) Point(Handle) link(onChange,3572540:onThisTab,[(1048,181)(1048,34)]) } Add(DoData,5791161,504,133) { link(onEventData,8972709:doWork1,[(564,139)]) link(Data,3572540:Data,[(510,63)(27,63)]) } Add(StrMask,2372358,434,175) { Mask="http://www.web-ip.ru/*" link(onFalse,5791161:doData,[(485,181)(485,139)]) link(onTrue,13537197:doSearch,[]) } Add(BlockFind,13537197,504,182) { IncludeBlock=1 StartBlock="http://www." EndBlock="/" link(onSearch,8972709:doWork2,[]) } Add(HubEx,8972709,560,182) { link(onEvent,16760219:doCaption,[(671,188)(671,181)]) } Add(Hub,5310247,371,147) { link(onEvent1,2372358:doCompare,[(409,153)(409,181)]) link(onEvent2,3572540:onEvent2,[(833,160)(833,41)]) } Add(ChangeMon,15118099,448,371) { link(onData,1584207:doInfo,[(521,377)(521,391)(492,391)(492,405)]) link(Data,8965740:Var3,[(454,243)]) } Add(Case,5282529,448,294) { Value=Integer(0) link(onTrue,15118099:doData,[(506,307)(506,342)(436,342)(436,377)]) } Add(GetDataEx,8965740,315,238) { link(Data,14620706:Page,[]) } Add(Informer,1584207,504,399) { Data="1" } Add(ChangeMon,10838235,525,294) { link(onData,3572540:onEvent,[(919,300)(919,48)]) } END_SDK Add(DoData,5915762,434,196) { Data=String(base) link(onEventData,11277553:##add,[]) } Add(Hub,16753069,399,224) { OutCount=4 link(onEvent1,5915762:doData,[(423,230)(423,202)]) link(onEvent2,12377349:doOperation,[(469,237)(469,216)]) link(onEvent4,11277553:doNavigate,[(417,251)(417,258)(501,258)(501,209)]) } Add(Math,12377349,525,210) { OpType=1 Op2=1 link(onResult,10942054:doWork2,[]) link(Op1,3414812:Var1,[(531,198)(563,198)(563,240)]) } Add(DoData,2815959,294,245) { Data=String(http://go.mail.ru/search?fr=main&q=juk-soft) link(onEventData,3823461:doWork2,[]) } Add(HubEx,3823461,369,245) { Angle=3 link(onEvent,16753069:doEvent1,[(373,230)]) } Add(GetDataEx,3414812,574,235) { Angle=1 link(Data,11277553:##count,[(589,240)(589,274)(594,274)]) } Add(HubEx,10942054,567,210) { link(onEvent,11277553:##select,[]) } Add(StatusBarEx,10921292,973,217) { PanelPBar=1 VisiblePBar=0 Max=10 Point(doPosPBar) } Add(HubEx,9354718,826,217) { link(onEvent,7647918:doValue,[]) } Add(Hub,9280259,644,203) { link(onEvent1,10942054:doWork1,[(670,209)(670,211)(571,211)]) } Add(Memory,7647918,868,217) { link(onData,3859984:doEvent1,[]) } Add(DoData,280382,784,245) { Data=Integer(0) link(onEventData,9354718:doWork3,[(830,251)]) } Add(InlineCode,15222798,966,518) { WorkPoints=#16:doSetValueByName|20:doSetFocusByName |17:doSetFocusByValue|8:doClick | EventPoints=#7:onError| DataPoints=#2:ph|4:name|5:value|8:LinkText| Code=#15:unit HiAsmUnit;|0:|9:interface|0:|40:uses kol,Share,Debug,ActiveX,KOLSHDocVw;|0:|4:type|28: THiAsmClass = class(TDebug)|10: private|0:|9: public|18: ph: THI_Event;|20: name: THI_Event;|21: value: THI_Event;|24: LinkText: THI_Event;|23: onError: THI_Event;|57: procedure doSetValueByName(var dt:TData; index:word);|61: procedure doSetFocusByName(var dt:TData; index:word); |62: procedure doSetFocusByValue(var dt:TData; index:word); |51: procedure doClick(var _Data:TData; Index:Word);|5: end;|0:|14:implementation|0:|4:type|31: TKOLWebBrowser = PWebBrowser;|31: PKOLWebBrowser = PWebBrowser;|0:|74:function FindIdx(pc: PControl; val: string; FindByName: boolean): Integer;|3:var|13: i: integer;|5:begin|15: Result := -1;|88: for i := 0 to PKOLWebBrowser(pc).OleObject.Document.all.tags('textarea').length - 1 do|22: if FindByName then|13: begin |91: if PKOLWebBrowser(pc).OleObject.Document.all.tags('textarea').Item(i).name = val then|11: begin|20: Result := i;|15: break; |10: end;|7: end|12: else |9: begin|92: if PKOLWebBrowser(pc).OleObject.Document.all.tags('textarea').Item(i).value = val then|11: begin|20: Result := i;|15: break; |10: end;|8: end;|6:end; |0:|39:procedure THiAsmClass.doSetValueByName;|3:var|15: pc: PControl;|19: txt, val: string;|15: idx: integer;|5:begin|37: pc := PControl(ToIntegerEvent(ph));|32: if not Assigned(pc) then exit;|30: txt := ReadString(dt, name);|33: val := ReadString(dt, value); |32: idx := FindIdx(pc, txt, true);|23: if idx < 0 then exit;|92: if PKOLWebBrowser(pc).OleObject.Document.getelementbyid('wr').style.display <> 'none' then|84: PKOLWebBrowser(pc).OleObject.Document.all.tags('textarea').Item(idx).value := val|52: else _hi_onEvent(onError,'Некуда вставлять!!!'); |4:end;|0:|39:procedure THiAsmClass.doSetFocusByName;|3:var|15: pc: PControl;|14: txt: string;|15: idx: integer;|5:begin|37: pc := PControl(ToIntegerEvent(ph));|32: if not Assigned(pc) then exit;|30: txt := ReadString(dt, name);|32: idx := FindIdx(pc, txt, true);|23: if idx < 0 then exit;|77: PKOLWebBrowser(pc).OleObject.Document.all.tags('textarea').Item(idx).click;|4:end;|0:|40:procedure THiAsmClass.doSetFocusByValue;|3:var|15: pc: PControl;|14: val: string;|15: idx: integer;|5:begin|37: pc := PControl(ToIntegerEvent(ph));|32: if not Assigned(pc) then exit;|33: val := ReadString(dt, value); |33: idx := FindIdx(pc, val, false);|24: if idx < 0 then exit; |77: PKOLWebBrowser(pc).OleObject.Document.all.tags('textarea').Item(idx).click;|4:end;|0:|30:procedure THiAsmClass.doClick;|3:var|15: pc: PControl;|26: s, mylnk,lnktxt: string;|13: n: integer;|5:begin|37: pc := PControl(ToIntegerEvent(ph));|32: if not Assigned(pc) then exit;|40: lnktxt:= ReadString(_Data, LinkText); |74: for n:= 0 to PKOLWebBrowser(pc).OleObject.Document.links.Length - 1 do |8: begin|73: s:= PKOLWebBrowser(pc).OleObject.Document.links.Item(n).InnerText; |25: if s = lnktxt then |11: begin|115: PKOLWebBrowser(pc).OleObject.Document.links.Item(n).setAttribute('target', '_self'); // открыть в томже окне|65: PKOLWebBrowser(pc).OleObject.Document.links.Item(n).Click;|13: break;|11: end; |7: end;|39: //PKOLWebBrowser(pc).Navigate(mylnk);|2: |4:end;|0:|4:end.| link(ph,8922039:Var3,[(972,376)]) link(LinkText,6299205:Value,[]) } Add(Memory,6299205,987,476) { } Add(InlineCode,5734691,595,413) { WorkPoints=#8:doClick | EventPoints=#7:onError|5:onURL| DataPoints=#2:ph|5:value| Code=#15:unit HiAsmUnit;|0:|9:interface|0:|40:uses kol,Share,Debug,ActiveX,KOLSHDocVw;|0:|4:type|28: THiAsmClass = class(TDebug)|10: private|0:|9: public|18: ph: THI_Event;|21: value: THI_Event;|23: onError: THI_Event;|21: onUrl: THI_Event;|4: |51: procedure doClick(var _Data:TData; Index:Word);|5: end;|0:|14:implementation|0:|4:type|31: TKOLWebBrowser = PWebBrowser;|31: PKOLWebBrowser = PWebBrowser;|0:|0:|0:|30:procedure THiAsmClass.doClick;|3:var|15: pc: PControl;|12: s: string;|13: n: integer;|5:begin|37: pc := PControl(ToIntegerEvent(ph));|33: if not Assigned(pc) then exit; |74: for n:= 0 to PKOLWebBrowser(pc).OleObject.Document.links.Length - 1 do |8: begin|75: //s:= PKOLWebBrowser(pc).OleObject.Document.links.Item(n).InnerText; |44: //if s = ReadString(_Data, value) then |97: _hi_onEvent(onUrl, String(PKOLWebBrowser(pc).OleObject.Document.links.Item(n).outerHTML));|7: end;|39: //PKOLWebBrowser(pc).Navigate(mylnk);|4:end;|0:|0:|4:end.| link(onURL,8751746:doCompare,[(639,426)(639,444)(555,444)(555,461)]) link(ph,8922039:Var2,[]) } Add(StrMask,8751746,567,455) { Mask="*juk-soft.ru*" Point(doMask) link(onTrue,12526880:doAdd,[]) } Add(StrList,12526880,651,462) { } Add(ArrayRW,3233035,700,532) { link(onRead,12674385:doValue,[]) link(Array,12526880:Array,[(706,520)(671,520)]) } Add(DoData,12348099,651,532) { Data=Integer(0) link(onEventData,3233035:doRead,[]) } Add(If_else,13575695,595,525) { Op2=Integer(0) link(onTrue,2736392:doWork3,[(639,531)]) link(onFalse,12348099:doData,[]) } Add(BlockFind,2762768,798,532) { IncludeBlock=1 StartBlock=">" EndBlock="" Point(doStartBlock) Point(doStop) Point(onNotFind) link(onSearch,8817876:doWork2,[]) link(onNotFind,8231620:doSearch,[(842,552)(842,570)(786,570)(786,587)]) } Add(DoData,2884010,553,525) { link(onEventData,13575695:doCompare,[]) link(Data,12526880:Count,[(559,516)(664,516)]) } Add(Hub,2210136,448,413) { OutCount=4 link(onEvent1,12526880:doClear,[(556,419)(556,475)]) link(onEvent3,5734691:doClick ,[(528,433)(528,419)]) link(onEvent4,2884010:doData,[(508,440)(508,531)]) } Add(Hub,3868954,938,532) { OutCount=3 link(onEvent1,6299205:doValue,[(970,538)(970,482)]) link(onEvent2,15222798:doClick ,[]) link(onEvent3,16117885:doEvent1,[(962,552)(962,594)]) } Add(BlockFind,8231620,798,581) { IncludeBlock=1 StartBlock=">" EndBlock="" Point(doStartBlock) Point(doStop) Point(onNotFind) link(onSearch,8817876:doWork3,[(865,587)]) link(Text,12674385:Value,[(804,573)(755,573)]) link(onNotFind,2736392:doWork1,[(842,601)(842,384)]) } Add(Memory,12674385,749,532) { link(onData,2762768:doSearch,[]) } Add(HubEx,8817876,861,532) { link(onEvent,13466306:doMultiReplace,[]) } Add(MultiReplace,13466306,882,532) { link(onResult,3868954:doEvent1,[]) link(ReplaceList,14255948:Text,[]) } Add(StrList,14255948,889,462) { Strings=#5:=;|6:=;|5:=;|6:=;| } Add(Hub,8425613,357,399) { OutCount=3 link(onEvent1,15121414:doWork2,[]) link(onEvent2,11277553:doData,[(479,412)(479,265)]) link(onEvent3,6298604:doEvent1,[]) } Add(MultiElementEx,6298604,392,413) { @Hint=#26:Проверка загрузки страницы| link(onEvent2,2210136:doEvent1,[]) link(Op1,4779228:Var2,[(398,386)(405,386)]) } BEGIN_SDK Add(EditMultiEx,10534248,21,21) { WorkCount=#8:doEvent1| EventCount=#8:onEvent2|6:onTrue| DataCount=#3:Op1| Width=433 Height=207 link(doEvent1,9606918:doEvent1,[(35,27)(35,55)]) } Add(Timer,10647828,91,49) { Enable=1 link(onTimer,859475:doEvent1,[]) } Add(If_else,3965991,168,49) { Op2=String(Готово) link(onTrue,9596681:doNext,[]) link(onFalse,10063219:doWork1,[(207,62)]) link(Op1,10534248:Op1,[(174,35)(27,35)]) } Add(CounterEx,9596681,224,49) { Point(doReset) link(onNext,14714586:doCompare,[]) } Add(Hub,9606918,49,49) { OutCount=3 link(onEvent1,10063219:doWork2,[(133,55)(133,76)]) link(onEvent2,5132556:doReset,[(81,62)(81,104)]) link(onEvent3,10647828:doTimer,[(77,69)(77,55)]) } Add(If_else,14714586,273,49) { Op2=Integer(3) link(onTrue,15676341:doEvent1,[]) } Add(HubEx,10063219,203,70) { link(onEvent,9596681:doReset,[(217,76)(217,62)]) } Add(Hub,15676341,322,49) { link(onEvent1,10647828:doStop,[(348,55)(348,59)(79,59)(79,62)]) link(onEvent2,10534248:onEvent2,[(348,62)(348,44)(309,44)(309,27)]) } Add(Hub,859475,133,49) { link(onEvent1,3965991:doCompare,[]) link(onEvent2,5132556:doNext,[(159,62)(159,80)(86,80)(86,97)]) } Add(CounterEx,5132556,98,91) { Point(doReset) link(onNext,7280092:doCompare,[]) } Add(If_else,7280092,147,91) { Op2=Integer(40) link(onTrue,10534248:onTrue,[(250,97)(250,34)]) } END_SDK Add(HubEx,2736392,635,378) { Angle=3 } Add(MultiElementEx,13461815,280,399) { @Hint=#26:Проверка загрузки страницы| link(onEvent2,8425613:doEvent1,[]) link(Op1,4779228:Var1,[(286,355)]) } BEGIN_SDK Add(EditMultiEx,1139007,21,21) { WorkCount=#8:doEvent1| EventCount=#8:onEvent2|6:onTrue| DataCount=#3:Op1| Width=433 Height=207 link(doEvent1,1910070:doEvent1,[(35,27)(35,55)]) } Add(Timer,14456626,91,49) { Enable=1 link(onTimer,6213047:doEvent1,[]) } Add(If_else,14766402,168,49) { Op2=String(Готово) link(onTrue,11772215:doNext,[]) link(onFalse,2561096:doWork1,[(207,62)]) link(Op1,1139007:Op1,[(174,35)(27,35)]) } Add(CounterEx,11772215,224,49) { Point(doReset) link(onNext,4017718:doCompare,[]) } Add(Hub,1910070,49,49) { OutCount=3 link(onEvent1,2561096:doWork2,[(133,55)(133,76)]) link(onEvent2,13385961:doReset,[(81,62)(81,104)]) link(onEvent3,14456626:doTimer,[(77,69)(77,55)]) } Add(If_else,4017718,273,49) { Op2=Integer(3) link(onTrue,3350535:doEvent1,[]) } Add(HubEx,2561096,203,70) { link(onEvent,11772215:doReset,[(217,76)(217,62)]) } Add(Hub,3350535,322,49) { link(onEvent1,14456626:doStop,[(348,55)(348,59)(79,59)(79,62)]) link(onEvent2,1139007:onEvent2,[(395,62)(395,27)]) } Add(Hub,6213047,133,49) { link(onEvent1,14766402:doCompare,[]) link(onEvent2,13385961:doNext,[(159,62)(159,80)(86,80)(86,97)]) } Add(CounterEx,13385961,98,91) { Point(doReset) link(onNext,9165494:doCompare,[]) } Add(If_else,9165494,147,91) { Op2=Integer(40) link(onTrue,1139007:onTrue,[(317,97)(317,34)]) } END_SDK Add(GetDataEx,4779228,399,350) { link(Data,7647918:Value,[(405,331)(874,331)]) } Add(Hub,15478093,231,385) { OutCount=3 link(onEvent1,15121414:doWork1,[(314,391)(314,396)(389,396)]) link(onEvent2,2815959:doData,[(269,398)(269,251)]) link(onEvent3,13461815:doEvent1,[]) } Add(HubEx,15121414,385,399) { link(onEvent,280382:doData,[(577,405)(577,251)]) } Add(Edit,5444663,609,301) { Width=1016 Align=2 link(Str,11277553:CurrentURL,[]) } Add(Hub,3859984,917,217) { link(onEvent1,10921292:doText,[]) link(onEvent2,5444663:doText2,[(943,230)(943,272)(597,272)(597,314)]) } Add(GetDataEx,8922039,595,371) { link(Data,11137968:Var2,[(601,341)(608,341)]) } Add(MultiElementEx,16117885,973,588) { @Hint=#26:Проверка загрузки страницы| link(onEvent2,3255303:doWork2,[]) link(Op1,4779228:Var3,[(979,355)]) } BEGIN_SDK Add(EditMultiEx,13076245,21,21) { WorkCount=#8:doEvent1| EventCount=#8:onEvent2|6:onTrue| DataCount=#3:Op1| Width=433 Height=207 link(doEvent1,6513836:doEvent1,[(35,27)(35,55)]) } Add(Timer,10333280,91,49) { Enable=1 link(onTimer,15047885:doEvent1,[]) } Add(If_else,160552,168,49) { Op2=String(Готово) link(onTrue,254645:doNext,[]) link(onFalse,8107726:doWork1,[(207,62)]) link(Op1,13076245:Op1,[(174,35)(27,35)]) } Add(CounterEx,254645,224,49) { Point(doReset) link(onNext,353156:doCompare,[]) } Add(Hub,6513836,49,49) { OutCount=3 link(onEvent1,8107726:doWork2,[(133,55)(133,76)]) link(onEvent2,15049815:doReset,[(81,62)(81,104)]) link(onEvent3,10333280:doTimer,[(77,69)(77,55)]) } Add(If_else,353156,273,49) { Op2=Integer(3) link(onTrue,14116005:doEvent1,[]) } Add(HubEx,8107726,203,70) { link(onEvent,254645:doReset,[(217,76)(217,62)]) } Add(Hub,14116005,322,49) { link(onEvent1,10333280:doStop,[(348,55)(348,59)(79,59)(79,62)]) link(onEvent2,13076245:onEvent2,[(348,62)(348,44)(309,44)(309,27)]) } Add(Hub,15047885,133,49) { link(onEvent1,160552:doCompare,[]) link(onEvent2,15049815:doNext,[(159,62)(159,80)(86,80)(86,97)]) } Add(CounterEx,15049815,98,91) { Point(doReset) link(onNext,12551132:doCompare,[]) } Add(If_else,12551132,147,91) { Op2=Integer(40) link(onTrue,13076245:onTrue,[(250,97)(250,34)]) } END_SDK Add(MouseEvent,15887439,1176,651) { Point(Handle) link(X,13040316:Random,[(1189,635)(1168,635)]) link(Y,1422579:Random,[(1196,635)(1210,635)]) } Add(Timer,10756248,1071,588) { Interval=100 Enable=1 AutoStop=50 Point(onStop) link(onTimer,13040316:doRandom,[]) } Add(Random,13040316,1162,588) { Min=-100 link(onRandom,1422579:doRandom,[]) } Add(Random,1422579,1204,588) { Min=-100 link(onRandom,15887439:doMove,[(1248,594)(1248,629)(1164,629)(1164,664)]) } Add(GetDataEx,11137968,602,273) { link(Data,11277553:PHandle,[]) } Add(Button,368632,973,658) { Left=925 Top=535 link(onClick,3255303:doWork3,[(1033,664)]) } Add(HubEx,3255303,1029,588) { link(onEvent,10756248:doTimer,[]) }