Вверх ↑
Этот топик читают: Гость
Ответов: 8930
Рейтинг: 823
#16: 2013-03-24 11:04:55 ЛС | профиль | цитата
nesco писал(а):
На тебе более универсальный вариант
Дама о ЖД писал(а):
А куда лошадь запрягают?
Пытался на этот форуме -- кнопку "Войти" нажимает, но логин и пароль не вставляется
карма: 19

0
Разработчик
Ответов: 26170
Рейтинг: 2127
#17: 2013-03-24 11:39:03 ЛС | профиль | цитата
Леонид писал(а):
Пытался на этот форуме -- кнопку "Войти"

Там нет кнопки "Войти" там есть кнопка "Начать игру". Пример не относится к случаю, если произошла ошибка авторизации, и выпало второе окно (кстати, вот там кнопка "Войти" как раз и есть)
карма: 22

0
Ответов: 8930
Рейтинг: 823
#18: 2013-03-24 12:15:48 ЛС | профиль | цитата
nesco, я пытался авторизироваться здесь, на HiAsm форуме
карма: 19

0
Разработчик
Ответов: 26170
Рейтинг: 2127
#19: 2013-03-24 12:33:15 ЛС | профиль | цитата
Леонид писал(а):
я пытался авторизироваться здесь, на HiAsm форуме

Тю! Понял.
------------ Дoбавленo в 12.33:
На тебе авторизилку на нашем форуме по приведенному принципу. У меня работает

Add(MainForm,1351679,98,175)
{
Width=695
Height=561
}
Add(WebBrowser,15563951,378,168)
{
Left=5
Top=80
Width=670
Height=435
URL="http://forum.d2h.ru/"
Silent=0
Point(PHandle)
Point(doFromText)
Point(Handle)
}
Add(Edit,15375584,161,175)
{
Left=400
Top=5
Width=135
Text="username"
}
Add(Edit,12692327,203,175)
{
Left=540
Top=5
Width=135
Text=""
}
Add(Button,3488175,98,238)
{
Left=545
Top=55
Width=130
TabOrder=-1
Caption="Войти"
link(onClick,3134972:doAdd,[])
}
Add(Edit,3057939,280,252)
{
Left=400
Top=30
Width=135
Text="password"
}
Add(Edit,6191608,322,252)
{
Left=540
Top=30
Width=135
Text=""
Password=0
}
Add(KeyEvent,9754410,448,245)
{
Code=32
link(Handle,15563951:Handle,[(454,215)(405,215)])
}
Add(InlineCode,10977955,392,238)
{
WorkPoints=#16:doSetValueByName|20:doSetFocusByName |18:doSetFocusByValue |
EventPoints=#10:onSetValue|10:onSetFocus|
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;|0:|57: procedure doSetValueByName(var dt:TData; index:word);|61: procedure doSetFocusByName(var dt:TData; index:word); |62: procedure doSetFocusByValue(var dt:TData; index:word); |0:|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:|4:end.|
link(onSetFocus,9754410:doPress,[])
link(ph,15563951:PHandle,[])
}
Add(MT_AddData,3134972,161,238)
{
link(onAdd,3087097:doEvent1,[])
link(Data1,15375584:Text,[])
link(Data2,12692327:Text,[(174,215)(209,215)])
}
Add(MT_AddData,1475487,280,315)
{
link(onAdd,3095249:doWork3,[(368,321)])
link(Data1,3057939:Text,[])
link(Data2,6191608:Text,[(293,292)(328,292)])
}
Add(HubEx,3095249,364,238)
{
link(onEvent,10977955:doSetValueByName,[])
}
Add(DoData,5921312,280,357)
{
Data=String(Войти)
link(onEventData,10977955:doSetFocusByValue ,[(375,363)(375,258)])
}
Add(Hub,3087097,210,238)
{
OutCount=3
link(onEvent1,3095249:doWork2,[])
link(onEvent2,1475487:doAdd,[(270,251)(270,321)])
link(onEvent3,5921312:doData,[(263,258)(263,363)])
}


карма: 22

0
Ответов: 8930
Рейтинг: 823
#20: 2013-03-24 13:09:21 ЛС | профиль | цитата
nesco писал(а):
У меня работает
У меня тоже Теперь знаю куда запрягают лошадь (хотя бы на нашем форуме)
В школе у внучки завели Журнал на своём сайте, супруга никак не могла освоить копипаст на авторизацию, пришлось делать, а т. к. я тоже не знал куда запрягают лошадь, пришлось при коэффициенте черезодноместия гораздо более единицы, двигать мышку к полям ввода и нажимать эмулятором
карма: 19

0
Ответов: 288
Рейтинг: 4
#21: 2013-03-25 20:58:28 ЛС | профиль | цитата
Благодарю nesco, +-сик тебе
карма: 2

0
Ответов: 8930
Рейтинг: 823
#22: 2013-03-27 11:10:53 ЛС | профиль | цитата
nesco, а вот на http://mail.2kom.ru не срабатывает заполнение полей, кнопка нажимается Блин, не получается запрячь лошадь!
карма: 19

0
Разработчик
Ответов: 26170
Рейтинг: 2127
#23: 2013-03-27 13:04:56 ЛС | профиль | цитата
Леонид писал(а):
Блин, не получается запрячь лошадь!

Я тебе что, тут всех лошадей буду запрягать, пора учиться самому

Открываешь HTML-код страницы и по CTRL-F находишь по очереди input, смотришь, что приблизительно похоже на нужные значения в полях name для логина и пароля, их и ипользуешь. Для кнопки используешь поле value, если нет поля name, если это поле есть, то используешь его и точку doSetFocusByName вместо doSetFocusByValue

Add(MainForm,1351679,98,112)
{
Width=695
Height=561
}
Add(WebBrowser,15563951,378,105)
{
Left=5
Top=80
Width=670
Height=435
URL="http://mail.2kom.ru"
Silent=0
Point(PHandle)
Point(doFromText)
Point(Handle)
}
Add(Edit,15375584,161,112)
{
Left=400
Top=5
Width=135
Text="_user"
}
Add(Edit,12692327,203,112)
{
Left=540
Top=5
Width=135
Text="privet"
}
Add(Button,3488175,98,175)
{
Left=545
Top=55
Width=130
TabOrder=-1
Caption="Войти"
link(onClick,3134972:doAdd,[])
}
Add(Edit,3057939,280,189)
{
Left=400
Top=30
Width=135
Text="_pass"
}
Add(Edit,6191608,322,189)
{
Left=540
Top=30
Width=135
Text="privet"
Password=0
}
Add(KeyEvent,9754410,448,182)
{
Code=32
link(Handle,15563951:Handle,[(454,152)(405,152)])
}
Add(InlineCode,10977955,392,175)
{
WorkPoints=#16:doSetValueByName|20:doSetFocusByName |18:doSetFocusByValue |
EventPoints=#10:onSetValue|10:onSetFocus|
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;|0:|57: procedure doSetValueByName(var dt:TData; index:word);|61: procedure doSetFocusByName(var dt:TData; index:word); |62: procedure doSetFocusByValue(var dt:TData; index:word); |0:|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:|4:end.|
link(onSetFocus,9754410:doPress,[])
link(ph,15563951:PHandle,[])
}
Add(MT_AddData,3134972,161,175)
{
link(onAdd,3087097:doEvent1,[])
link(Data1,15375584:Text,[])
link(Data2,12692327:Text,[(174,152)(209,152)])
}
Add(MT_AddData,1475487,280,252)
{
link(onAdd,3095249:doWork3,[(368,258)])
link(Data1,3057939:Text,[])
link(Data2,6191608:Text,[(293,229)(328,229)])
}
Add(HubEx,3095249,364,175)
{
link(onEvent,10977955:doSetValueByName,[])
}
Add(DoData,5921312,280,294)
{
Data=String(Войти)
link(onEventData,10977955:doSetFocusByValue ,[(375,300)(375,195)])
}
Add(Hub,3087097,210,175)
{
OutCount=3
link(onEvent1,3095249:doWork2,[])
link(onEvent2,1475487:doAdd,[(270,188)(270,258)])
link(onEvent3,5921312:doData,[(263,195)(263,300)])
}

карма: 22

0
Ответов: 8930
Рейтинг: 823
#24: 2013-03-27 14:15:04 ЛС | профиль | цитата
nesco, ну что такой сердитый Спасибо! (Я с интернетом и не работаю, у меня почтовая программа заглючила, пришлось пока на провайдера выходить )
карма: 19

0
Разработчик
Ответов: 26170
Рейтинг: 2127
#25: 2013-03-27 15:25:55 ЛС | профиль | цитата
Леонид писал(а):
ну что такой сердитый

Отвлек меня немного
карма: 22

0
Ответов: 288
Рейтинг: 4
#26: 2013-03-27 19:16:26 ЛС | профиль | цитата
А вот-так можно и не добавлять элемент (KeyEvent)code_30705.txt
карма: 2

0
файлы: 1code_30705.txt [3.9KB] [333]
Разработчик
Ответов: 26170
Рейтинг: 2127
#27: 2013-03-27 19:35:39 ЛС | профиль | цитата
Sova-Kmv писал(а):
А вот-так можно и не добавлять элемент

Я бы лучше такой модуль прицепил

Add(InlineCode,10977955,392,238)
{
WorkPoints=#16:doSetValueByName|20:doSetFocusByName |17:doSetFocusByValue|13:doClickByName|15:doClickByValue |
EventPoints=#10:onSetValue|10:onSetFocus|
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; |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); |0:|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:|4:end.|
}

карма: 22

0
Гость
Ответов: 17029
Рейтинг: 0
#28: 2013-03-27 19:55:19 правка | ЛС | профиль | цитата


Редактировалось 3 раз(а), последний 2025-01-09 11:38:14
карма: 0

0
Разработчик
Ответов: 26170
Рейтинг: 2127
#29: 2013-03-27 20:03:16 ЛС | профиль | цитата
host-46-63-226-126.stv.ru писал(а):
Ведь ничего особо важного в коде не поменялось!

Имена точек не соответствуют действию, непорядок
карма: 22

0
Ответов: 495
Рейтинг: 163
#30: 2013-03-28 00:07:00 ЛС | профиль | цитата
nesco, Заинтересовала идея ввода ,спасибо Вам, решил попробовать, неасилил для этого сайта http://www.gu-is.ru/cabinet прошу вашей помощи.
nesco писал(а):
Я тебе что, тут всех лошадей буду запрягать, пора учиться самому
На других сайтах ( несколько разных ) получилось , а здесь... + тут ещё 3 строка (выбор округа).
карма: 4

0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)