tig-rrr писал(а):
а здесь... + тут ещё 3 строка (выбор округа)Там, похоже, API скрипт работает
------------ Дoбавленo в 03.46:
tig-rrr, мне пока что удалось вычислить только адрес фрейма личного кабинета -- http://epd.asueirc.ru/epdinfo/. Вот там как раз есть все то, что надо для ввода параметров. Осталось только разобраться, как управлять выпадающим списком.
------------ Дoбавленo в 12.24:
tig-rrr, на тебе управление авторизацией в твоем кабинете
Add(InlineCode,3684175,637,245)
{
WorkPoints=#16:doSetValueByName|20:doSetFocusByName |17:doSetFocusByValue|13:doClickByName|14:doClickByValue|16:doSelectByValue |
EventPoints=#10:onSetValue|10:onSetFocus|7:onClick|8:onSelect|
DataPoints=#2:ph|4:name|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;|20: name: THI_Event;|21: value: THI_Event;|26: onSetValue: THI_Event;|26: onSetFocus: THI_Event;|27: onClick: THI_Event; |28: onSelect: THI_Event; |0:|57: procedure doSetValueByName(var dt:TData; index:word);|61: procedure doSetFocusByName(var dt:TData; index:word); |58: procedure doSetFocusByValue(var dt:TData; index:word);|58: procedure doClickByName(var dt:TData; index:word); |64: procedure doClickByValue(var dt:TData; index:word); |56: procedure doSelectByValue(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, name);|33: val := ReadString(dt, value); |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:|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);|24: if idx < 0 then exit; |74: PKOLWebBrowser(pc).OleObject.Document.all.tags('input').Item(idx).focus;|26: _hi_onEvent(onSetFocus);|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; |74: PKOLWebBrowser(pc).OleObject.Document.all.tags('input').Item(idx).focus;|26: _hi_onEvent(onSetFocus);|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, name);|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;|33: val := ReadString(dt, value); |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:|38:procedure THiAsmClass.doSelectByValue;|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); |80: PKOLWebBrowser(pc).OleObject.Document.all.tags('select').Item(0).value := val;|24: _hi_onEvent(onSelect);|4:end;|0:|4:end.|
link(ph,15563951:PHandle,[])
}
Add(MainForm,5793487,294,182)
{
Width=695
Height=561
}
Add(WebBrowser,15563951,623,175)
{
Left=5
Top=80
Width=670
Height=435
URL="http://epd.asueirc.ru/epdinfo/"
Silent=0
Point(PHandle)
Point(doFromText)
}
Add(Edit,15375584,357,182)
{
Left=400
Top=5
Width=135
Text="user"
}
Add(Edit,12692327,399,182)
{
Left=540
Top=5
Width=135
Text=""
}
Add(Button,3488175,294,245)
{
Left=545
Top=55
Width=130
TabOrder=-1
Caption="Продолжить"
link(onClick,3134972:doAdd,[])
}
Add(Edit,3057939,476,259)
{
Left=400
Top=30
Width=135
Text="j_password"
}
Add(Edit,6191608,518,259)
{
Left=540
Top=30
Width=135
Text=""
Password=0
}
Add(MT_AddData,3134972,357,245)
{
link(onAdd,3087097:doEvent1,[])
link(Data1,15375584:Text,[])
link(Data2,12692327:Text,[(370,222)(405,222)])
}
Add(MT_AddData,1475487,476,322)
{
link(onAdd,3095249:doWork3,[(564,328)])
link(Data1,3057939:Text,[])
link(Data2,6191608:Text,[(489,299)(524,299)])
}
Add(HubEx,3095249,560,245)
{
link(onEvent,3684175:doSetValueByName,[])
}
Add(DoData,5921312,560,476)
{
Data=String(Продолжить)
link(onEventData,3684175:doClickByValue,[(606,482)(606,279)])
}
Add(Hub,3087097,406,245)
{
OutCount=4
link(onEvent1,3095249:doWork2,[])
link(onEvent2,1475487:doAdd,[(466,258)(466,328)])
link(onEvent3,1626501:doRead,[(459,265)(459,440)])
link(onEvent4,5921312:doData,[(438,272)(438,482)])
}
Add(ComboBox,7562385,476,364)
{
Left=400
Top=55
Width=135
Height=21
Strings=#18:--Выберите округ--|9:Восточный|8:Жилищник|8:Западный|14:Зеленоградский|8:Северный|16:Северо-Восточный|15:Северо-Западный|11:Центральный|5:ЭВАЖД|13:Юго-Восточный|12:Юго-Западный|5:Южный|2: |
Text=""
ReadOnly=0
Point(Index)
}
Add(StrList,11694366,546,364)
{
Strings=#6:header|3:vao|3:zks|3:zao|6:zelgrd|3:sao|4:svao|4:szao|3:cao|5:evajd|4:uvao|4:uzao|3:uao|
}
Add(ArrayRW,1626501,560,434)
{
link(onRead,3684175:doSelectByValue ,[(599,440)(599,286)])
link(Array,11694366:Array,[])
link(Index,7562385:Index,[(573,425)(496,425)])
}