Вверх ↑
Разработчик
Ответов: 26170
Рейтинг: 2127
#1: 2013-04-04 17:35:55 ЛС | профиль | цитата
На. Все, на этом хватит, дальше сами думайте

Add(InlineCode,3684175,336,273)
{
WorkPoints=#73:doSetValueByName=Установить значение по названию элемнта ARG(name, value)|94:doSelectByIdAndValue=Выбрать пункт по идентификатору элемнта и значению пункта ARG(id, value) |64:doClickByName=Кликнуть на элементе по названию элемнта ARG(name)|66:doClickByValue=Кликнуть на элементе по значению элемнта ARG(value)|7:doAById|
EventPoints=#10:onSetValue|8:onSelect|7:onClick|
DataPoints=#2:ph|
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;|26: onSetValue: THI_Event;|27: onClick: THI_Event; |28: onSelect: THI_Event; |0:|57: procedure doSetValueByName(var dt:TData; index:word);|58: procedure doClickByName(var dt:TData; index:word); |64: procedure doClickByValue(var dt:TData; index:word); |61: procedure doSelectByIdAndValue(var dt:TData; index:word);|48: procedure doAById(var dt: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;|85: for i := 0 to PKOLWebBrowser(pc).OleObject.Document.all.tags('input').length - 1 do|22: if FindByName then|13: begin |88: if PKOLWebBrowser(pc).OleObject.Document.all.tags('input').Item(i).name = val then|11: begin|20: Result := i;|15: break; |10: end;|7: end|12: else |9: begin|89: if PKOLWebBrowser(pc).OleObject.Document.all.tags('input').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, NULL);|32: val := ReadString(dt, NULL); |32: idx := FindIdx(pc, txt, true);|24: if idx < 0 then exit; |81: PKOLWebBrowser(pc).OleObject.Document.all.tags('input').Item(idx).value := val;|26: _hi_onEvent(onSetValue);|4:end;|0:|36:procedure THiAsmClass.doClickByName;|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, NULL);|32: idx := FindIdx(pc, txt, true);|24: if idx < 0 then exit; |74: PKOLWebBrowser(pc).OleObject.Document.all.tags('input').Item(idx).click;|23: _hi_onEvent(onClick);|4:end;|0:|37:procedure THiAsmClass.doClickByValue;|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;|32: val := ReadString(dt, NULL); |33: idx := FindIdx(pc, val, false);|24: if idx < 0 then exit; |74: PKOLWebBrowser(pc).OleObject.Document.all.tags('input').Item(idx).click;|23: _hi_onEvent(onClick);|4:end;|0:|43:procedure THiAsmClass.doSelectByIdAndValue;|3:var|15: pc: PControl;|19: txt, val: string;|15: idx: integer;|2: |59: function FindIdxById(pc: PControl; val: string): Integer;|5: var|15: i: integer;|7: begin|17: Result := -1;|88: for i := 0 to PKOLWebBrowser(pc).OleObject.Document.all.tags('select').length - 1 do|9: begin|87: if PKOLWebBrowser(pc).OleObject.Document.all.tags('select').Item(i).id = val then|11: begin|20: Result := i;|15: break; |10: end;|8: end;|10: end; |0:|5:begin|37: pc := PControl(ToIntegerEvent(ph));|32: if not Assigned(pc) then exit;|30: txt := ReadString(dt, NULL);|30: val := ReadString(dt, NULL);|32: idx := FindIdxById(pc, txt); |82: PKOLWebBrowser(pc).OleObject.Document.all.tags('select').Item(idx).value := val;|24: _hi_onEvent(onSelect);|4:end;|0:|30:procedure THiAsmClass.doAById;|3:var|15: pc: PControl;|14: txt: string;|15: idx: integer;|2: |59: function FindIdxById(pc: PControl; val: string): Integer;|5: var|15: i: integer;|7: begin|17: Result := -1;|83: for i := 0 to PKOLWebBrowser(pc).OleObject.Document.all.tags('a').length - 1 do|9: begin|82: if PKOLWebBrowser(pc).OleObject.Document.all.tags('a').Item(i).id = val then|11: begin|20: Result := i;|15: break; |10: end;|8: end;|10: end; |0:|5:begin|37: pc := PControl(ToIntegerEvent(ph));|32: if not Assigned(pc) then exit;|30: txt := ReadString(dt, NULL);|32: idx := FindIdxById(pc, txt); |70: PKOLWebBrowser(pc).OleObject.Document.all.tags('a').Item(idx).click;|24: _hi_onEvent(onSelect);|4:end;|0:|4:end.|
link(ph,15563951:PHandle,[])
}
Add(MainForm,5793487,385,217)
{
Width=866
Height=772
Caption="Показания воды"
}
Add(WebBrowser,15563951,322,217)
{
Width=850
Height=699
URL="http://www.igra3k.ru/"
Silent=0
Point(PHandle)
link(onNavigate,5793487:doCaption,[])
}
Add(Button,5497253,224,301)
{
Left=15
Top=710
TabOrder=-1
link(onClick,5321617:doData,[])
}
Add(DoData,5321617,280,301)
{
Data=String(button_0_2)
link(onEventData,3684175:doAById,[])
AddHint(50,42,79,13,Data)
}

карма: 22

0