Delphi World - это проект, являющийся сборником статей и малодокументированных возможностей  по программированию в среде Delphi. Здесь вы найдёте работы по следующим категориям: delphi, delfi, borland, bds, дельфи, делфи, дэльфи, дэлфи, programming, example, программирование, исходные коды, code, исходники, source, sources, сорцы, сорсы, soft, programs, программы, and, how, delphiworld, базы данных, графика, игры, интернет, сети, компоненты, классы, мультимедиа, ос, железо, программа, интерфейс, рабочий стол, синтаксис, технологии, файловая система...
Автоматическое заполнение web-форм в запущенном IE

Оформил: DeeCo
Автор: http://www.swissdelphicenter.ch

{ 
  This example shows how to automatically fill in a search string 
  in the "Search Tip" page and click the search button. 
}

 uses
   MSHTML_TLB;

 // first navigate to tipspage 

procedure TForm1.Button1Click(Sender: TObject);
 begin
   Webbrowser1.Navigate('http://www.swissdelphicenter.ch/en/tipsuchen.php');
 end;

 // Try to access IE instance and fill out the search field with 
// a text and click the search button 

procedure TForm1.Button3Click(Sender: TObject);
 var
   hIE: HWND;
   ShellWindow: IShellWindows;
   WB: IWebbrowser2;
   spDisp: IDispatch;
   IDoc1: IHTMLDocument2;
   Document: Variant;
   k, m: Integer;
   ovElements: OleVariant;
   i: Integer;
 begin
   ShellWindow := CoShellWindows.Create;
   // get the running instance of Internet Explorer 
  for k := 0 to ShellWindow.Count do
   begin
     spDisp := ShellWindow.Item(k);
     if spDisp = nil then Continue;
     // QueryInterface determines if an interface can be used with an object 
    spDisp.QueryInterface(iWebBrowser2, WB);

     if WB <> nil then
     begin
       WB.Document.QueryInterface(IHTMLDocument2, iDoc1);
       if iDoc1 <> nil then
       begin
         WB := ShellWindow.Item(k) as IWebbrowser2;
         begin
           Document := WB.Document;

           // count forms on document and iterate through its forms 
          for m := 0 to Document.forms.Length - 1 do
           begin
             ovElements := Document.forms.Item(m).elements;
             // iterate through elements 
            for i := 0 to ovElements.Length - 1 do
             begin
               // when input fieldname is found, try to fill out 
              try
                 if (CompareText(ovElements.item(i).tagName, 'INPUT') = 0) and
                   (CompareText(ovElements.item(i).type, 'text') = 0) then
                 begin
                   ovElements.item(i).Value := 'FindWindow';
                 end;
               except
               end;
               // when Submit button is found, try to click 
              try
                 if (CompareText(ovElements.item(i).tagName, 'INPUT') = 0) and
                   (CompareText(ovElements.item(i).type, 'SUBMIT') = 0) and
                   (ovElements.item(i).Value = 'Search') then  // Suchen fьr German 
                begin
                   ovElements.item(i).Click;
                 end;
               except
               end;
             end;
           end;
         end;
       end;
     end;
   end;
 end;
Проект Delphi World © Выпуск 2002 - 2004
Автор проекта: ___Nikolay