Вверх ↑
Ответов: 537
Рейтинг: 14
#1: 2017-12-21 23:16:20 ЛС | профиль | цитата
Так что, никто не ответит по моему вопросу
Add(InlineCode,9377786,476,301)
{
 WorkPoints=#5:doSet|
 DataPoints=#1:h|
 Code=#15:unit HiAsmUnit;|0:|9:interface|0:|32:uses kol,Share,Debug,KOLSHDocVw;|0:|4:type|28: THiAsmClass = class(TDebug)|10:   private|16:    wb:PControl;|9:   public|16:    h:THI_Event;|0:|46:    procedure doSet(var dt:TData; index:word);|0:|5: end;|0:|14:implementation|0:|4:type|31:  TKOLWebBrowser = PWebBrowser;|31:  PKOLWebBrowser = PWebBrowser;|0:|28:procedure THiAsmClass.doSet;|16:var i,k:integer;|21:    FormItem:Variant;|5:begin|61: if not assigned (wb) then wb := PControl(ToIntegerEvent(h));|79: if PKOLWebBrowser(wb).OleObject.Document.all.tags('div').Length = 0 then exit;|68: for i:=0 to PKOLWebBrowser(wb).OleObject.Document.forms.Length-1 do|7:  begin|67:   FormItem := PKOLWebBrowser(wb).OleObject.Document.forms.Item(i);|35:   for k:=0 to FormItem.length-1 do|49:     if FormItem.Item(k).Id = 'gmcr_imgc3'.Click;|6:  end;|4:end;|0:|4:end.|
}
Add(MainForm,7984657,168,182)
{
 link(onCreate,4976115:doData,[])
}
Add(WebBrowser,5678376,385,168)
{
 Width=712
 Height=549
 Align=5
 URL=""
 Silent=0
 Point(PHandle)
 Point(doFromText)
}
Add(DoData,4976115,245,196)
{
 Data=String(https://www.google.com/advanced_image_search)
 link(onEventData,5678376:doFromText,[])
 link(Data,8968811:Text,[])
}
Add(StrList,8968811,245,126)
{
 Strings=#45:<form><label for="imgc">Фильтр цвета:</label>|52:<input value="" id="imgc" name="imgc" type="hidden">|60:<input value="" id="imgcolor" name="imgcolor" type="hidden">|43:<div id="color-panel" style="display:none">|59:<div id="gmcr_imgc1" style="display:table-cell">любые</div>|61:<div id="gmcr_imgc2" style="display:table-cell">цветные</div>|65:<div id="gmcr_imgc3" style="display:table-cell">черно-белые</div>|71:<div id="gmcr_imgc4" style="display:table-cell">Прозрачные</div></form>|
}
Add(Button,14453633,315,238)
{
 Left=10
 Top=105
 Width=50
 Caption="Клик"
 link(onClick,6493342:Zap,[(373,244)(373,307)])
}
Add(InlineCode,6493342,399,301)
{
 @Hint=#13:Клик google 1|
 WorkPoints=#3:Zap|
 DataPoints=#1:h|
 Code=#15:unit HiAsmUnit;|0:|9:interface|0:|61:uses kol,Share,Debug,windows,ActiveX,KOLSHDocVw,Win,ShellApi;|0:|4:type|28: THiAsmClass = class(TDebug)|10:   private|16:    wb:PControl;|9:   public|16:    h:THI_Event;|4:    |46:    procedure Zap(var Data:TData; index:word);|4:    |5: end;|0:|15:implementation |0:|4:type|31:  TKOLWebBrowser = PWebBrowser;|32:  PKOLWebBrowser = PWebBrowser; |0:|26:procedure THiAsmClass.Zap;|3:var|25:  ovElements: OleVariant;|13:  i: Integer;|5:begin|37:   wb := PControl(ToIntegerEvent(h));|80:   ovElements := PKOLWebBrowser(WB).OleObject.Document.Forms.Item( 0 ).Elements;|43:   for i := 0 to ( ovElements.Length-1 ) do|76:      if ( AnsiUpperCase( ovElements.Item( i ).tagName ) = 'imgcolor' ) then|76:         if ( AnsiUpperCase( ovElements.Item( i ).Id ) = 'gmcr_imgc3' ) then|66:            if ( ovElements.item( i ).Value = 'черно-белые' ) then|42:               ovElements.Item( i ).Click;|4:end;|0:|4:end.|
 link(h,5678376:PHandle,[])
}


Обще запутался и непонятные ошибки при компиляции
Тема ведь для обучения, так подскажите как надо

Мне нужно в гуле в поиске выбрать нужные переключатели, я то сделал с указанием нужного item, хочу на будущее научится искать его в коде страницы. Покажите как нужно, а то два варианта и не найдут

Вот код который сделал
Add(MainForm,2953706,7,105)
{
 Width=728
 Height=587
 WindowsState=2
 Point(onClose)
 link(onCreate,13322211:doEvent1,[(47,125)(47,118)])
 link(onClose,4169119:del,[(65,132)(65,118)])
}
Add(WebBrowser,5678376,273,119)
{
 Width=712
 Height=549
 Align=5
 URL=""
 Silent=0
 Point(PHandle)
 Point(doFromText)
}
Add(DoData,4976115,140,119)
{
 Data=String(https://www.google.com/advanced_image_search)
 link(onEventData,5678376:doNavigate,[])
}
Add(VisualStrings,3555302,322,126)
{
 Lines=#3:Кот|
 Width=60
}
Add(Hub,13322211,56,112)
{
 link(onEvent1,4169119:write,[(77,118)(77,111)])
 link(onEvent2,4976115:doData,[])
}
Add(MultiElementEx,4169119,91,105)
{
}
BEGIN_SDK
  Add(EditMultiEx,16512711,21,21)
  {
   WorkCount=#5:write|3:del|
   Height=249
   link(write,3634544:doPart,[(95,27)(95,97)])
   link(del,8467764:doDeleteValue,[(42,34)(42,160)])
  }
  Add(Registry,8467764,154,140)
  {
   HKey=1
   Key="SOFTWARE\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION\"
   DataType=0
   Point(doDeleteValue)
   link(Data,12071228:Text,[])
   link(Value,3634544:Part,[])
  }
  Add(Application,4084507,168,42)
  {
  }
  Add(FilePartElm,3634544,168,91)
  {
   Point(Part)
   link(onPart,8467764:doWrite,[(207,97)(207,125)(144,125)(144,153)])
   link(FileName,4084507:AppFileName,[])
  }
  Add(VisualStrings,12071228,154,21)
  {
   Lines=#5:11001|
   Width=46
  }
END_SDK
Add(Button,14453633,14,231)
{
 Left=195
 Top=65
 Width=165
 Caption="Отправить"
 link(onClick,16188447:doEvent1,[])
}
Add(ComboBox,7552476,91,168)
{
 Left=325
 Top=20
 Width=130
 Height=21
 Strings=#5:Любые|8:Портреты|10:фотографии|8:Клип-арт|19:Черно-белые рисунки|13:Анимированные|
 Text="Тип"
 ReadOnly=0
 DropDownCount=6
 Point(Index)
}
Add(ComboBox,11546339,147,168)
{
 Left=460
 Top=20
 Width=85
 Height=21
 Strings=#5:Любые|7:Цветные|11:Черно-белые|10:Прозрачные|
 Text="Цвет"
 ReadOnly=0
 DropDownCount=4
 Point(Index)
}
Add(DoData,602843,105,231)
{
 link(onEventData,8562839:Тип,[(212,237)(212,202)])
 link(Data,7552476:Index,[])
}
Add(DoData,14115759,161,273)
{
 link(onEventData,8562839:Цвет,[(240,279)(240,209)])
 link(Data,11546339:Index,[])
}
Add(Hub,16188447,63,231)
{
 link(onEvent1,602843:doData,[])
 link(onEvent2,14115759:doData,[(119,244)(119,279)])
}
Add(MultiElementEx,8562839,287,196)
{
 link(h,5678376:PHandle,[])
 link(Текст,3555302:Text,[(300,167)(328,167)])
}
BEGIN_SDK
  Add(EditMultiEx,2177314,21,21)
  {
   WorkCount=#3:Тип|4:Цвет|
   DataCount=#1:h|5:Текст|4:Сайт|
   Width=146
   Height=123
   link(Тип,7482920:doEvent,[(45,27)(45,48)])
   link(Цвет,139623:doEvent1,[(31,34)(31,90)])
  }
  Add(IndexToChanel,8128150,70,84)
  {
   Count=4
   link(onEvent1,3731023:Any,[])
   link(onEvent2,3731023:Colored,[])
   link(onEvent3,3731023:Black,[])
   link(onEvent4,3731023:Transparent,[])
  }
  Add(IndexToChanel,7482920,70,42)
  {
   Count=6
   link(onEvent1,3731023:img_1,[])
   link(onEvent2,3731023:img_2,[])
   link(onEvent3,3731023:img_3,[])
   link(onEvent4,3731023:img_4,[])
   link(onEvent5,3731023:img_5,[])
   link(onEvent6,3731023:img_6,[])
  }
  Add(Hub,139623,42,84)
  {
   link(onEvent1,8128150:doEvent,[])
   link(onEvent2,3731023:Zap,[(65,97)(65,118)])
  }
  Add(InlineCode,3731023,126,42)
  {
   @Hint=#13:Клик google 1|
   WorkPoints=#36:img_1=0 Любые картинки по содержанию|16:img_2=1 Портреты|18:img_3=2 фотографии|16:img_4=3 Клип-арт|27:img_5=4 Черно-белые рисунки|21:img_6=5 Анимированные|29:Any=0 Любые картинки по цвету|17:Colored=1 Цветные|19:Black=2 Черно-белые|24:Transparent=3 Прозрачные|28:Zap=10 Заполнить и отправить|
   DataPoints=#1:h|4:Name|4:Site|
   Code=#15:unit HiAsmUnit;|0:|9:interface|0:|61:uses kol,Share,Debug,windows,ActiveX,KOLSHDocVw,Win,ShellApi;|0:|4:type|28: THiAsmClass = class(TDebug)|10:   private|16:    wb:PControl;|9:   public|16:    h:THI_Event;|19:    Name:THI_Event;|19:    Site:THI_Event;|4:    |48:    procedure img_1(var Data:TData; index:word);|48:    procedure img_2(var Data:TData; index:word);|48:    procedure img_3(var Data:TData; index:word);|48:    procedure img_4(var Data:TData; index:word);|48:    procedure img_5(var Data:TData; index:word);|48:    procedure img_6(var Data:TData; index:word);|5:	    |46:    procedure Any(var Data:TData; index:word);|50:    procedure Colored(var Data:TData; index:word);|48:    procedure Black(var Data:TData; index:word);|54:    procedure Transparent(var Data:TData; index:word);|4:    |46:    procedure Zap(var Data:TData; index:word);|4:    |5: end;|0:|15:implementation |0:|4:type|31:  TKOLWebBrowser = PWebBrowser;|31:  PKOLWebBrowser = PWebBrowser;|2:  |28:procedure THiAsmClass.img_1;|5:begin|35: wb := PControl(ToIntegerEvent(h));|83: PKOLWebBrowser(WB).OleObject.Document.getElementById('imgtype_input').value := '';|5: end;|0:|28:procedure THiAsmClass.img_2;|5:begin|35: wb := PControl(ToIntegerEvent(h));|87: PKOLWebBrowser(WB).OleObject.Document.getElementById('imgtype_input').value := 'face';|5: end;|0:|28:procedure THiAsmClass.img_3;|5:begin|35: wb := PControl(ToIntegerEvent(h));|88: PKOLWebBrowser(WB).OleObject.Document.getElementById('imgtype_input').value := 'photo';|5: end;|0:|28:procedure THiAsmClass.img_4;|5:begin|35: wb := PControl(ToIntegerEvent(h));|90: PKOLWebBrowser(WB).OleObject.Document.getElementById('imgtype_input').value := 'clipart';|5: end;|0:|28:procedure THiAsmClass.img_5;|5:begin|35: wb := PControl(ToIntegerEvent(h));|90: PKOLWebBrowser(WB).OleObject.Document.getElementById('imgtype_input').value := 'lineart';|5: end;|0:|28:procedure THiAsmClass.img_6;|5:begin|35: wb := PControl(ToIntegerEvent(h));|91: PKOLWebBrowser(WB).OleObject.Document.getElementById('imgtype_input').value := 'animated';|5: end;|0:|77://---------------------------------------------------------------------------|0:|26:procedure THiAsmClass.Any;|5:begin|35: wb := PControl(ToIntegerEvent(h));|82: PKOLWebBrowser(WB).OleObject.Document.getElementsByTagName('div').item(92).Click;|5: end;|0:|30:procedure THiAsmClass.Colored;|5:begin|35: wb := PControl(ToIntegerEvent(h));|82: PKOLWebBrowser(WB).OleObject.Document.getElementsByTagName('div').item(95).Click;|5: end;|0:|28:procedure THiAsmClass.Black;|5:begin|35: wb := PControl(ToIntegerEvent(h));|82: PKOLWebBrowser(WB).OleObject.Document.getElementsByTagName('div').item(97).Click;|5: end;|0:|34:procedure THiAsmClass.Transparent;|5:begin|35: wb := PControl(ToIntegerEvent(h));|83: PKOLWebBrowser(WB).OleObject.Document.getElementsByTagName('div').item(100).Click;|5: end;|0:|77://---------------------------------------------------------------------------|0:|26:procedure THiAsmClass.Zap;|5:begin|35: wb := PControl(ToIntegerEvent(h));|92: PKOLWebBrowser(WB).OleObject.Document.getElementById('_dKg').value := ToStringEvent (Name);|92: PKOLWebBrowser(WB).OleObject.Document.getElementById('_SKg').value := ToStringEvent (Site);|104: PKOLWebBrowser(WB).OleObject.Document.getElementById('imgsz_input').value := 'qsvga'; // Размер 400x300|112: PKOLWebBrowser(WB).OleObject.Document.getElementsByClassName('jfk-button jfk-button-action _JQ').item(0).Click;|5: end;|0:|4:end.|
   link(h,2177314:h,[(132,32)(27,32)])
   link(Name,2177314:Текст,[(139,32)(34,32)])
   link(Site,2177314:Сайт,[(146,32)(41,32)])
  }
END_SDK


Хотя в коде наверно лучше объявить клобальную переменную wb := PControl(ToIntegerEvent(h)); Чтобы не писать каждый раз

И скажите зачем нужно в коде TKOLWebBrowser = PWebBrowser; а то немного списал и без него работает. Просто в примерах всегда так делают
карма: 4

0
Редактировалось 3 раз(а), последний 2017-12-21 23:41:02