Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    Delphi campo explorer

    Salve a tutti vorrei compilare dei campi esterni al mio proggetto.Per quanto riguarda i campi so manipolarli tramite msdn getelementbyid etc.. ma come faccio ad inviare o ricevere i dati da explorer :

    es che so......
    ........ ______
    Nome |_____| vorrei inviare Francesco comprì?

    Grazie a tutti per l'eventuale aiuto!

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,463
    La pagina viene caricata all'interno della tua applicazione (con il controllo TWebBrowser) oppure all'interno dell'applicazione esterna Internet Explorer?
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    37
    ciao!
    riesumo questa discussione perchè ho un problema similare, ho un'applicazione che mi avvia internet explorer, è possibile in un qualche modo tramite qualche componente creare ed eseguire delle macro che mi vadano a compilare i campi di una certa pagina web?

  4. #4
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    37
    allora... ho trovato questo prezioso tip

    codice:
    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  
                    begin
                      ovElements.item(i).Click;
                    end;
                  except
                  end;
                end;
              end;
            end;
          end;
        end;
      end;
    end;
    ...e fin qui ci siamo, però:
    se il click che devo eseguire alla fine non è un generico submit di tagname input, ad esempio sulla homepage di html.it voglio cliccare sull' immagine del primo articolo, come faccio?

    da quello che ho capito dovrei fare:

    if (CompareText(ovElements.item(i).tagName, 'img') = 0) then

    invece sembrerebbe che questa condizione non si verifica mai... sembra che non riesca a trovare nessun tagName al di fuori di 'INPUT'

    qualcuno sa aiutarmi?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.