Newsgroup: it.comp.lang.delphi
Titolo: Eseguire un URL

Ciao ragazzi,
in un programma devo realizzare una procedura che invia un url
(
http://www.blablabla.tld/indirizzo
) ad una finestra di Internet Explorer
gia' aperta.
Come faccio ?
Simone.
_________________________________
...e dio disse: "pkunzip universo.zip"
ICQ #: 19598133
Webmaster di 
www.drfalken.com
_________________________________

 ha scritto nel messaggio
news:pc4wIxu8$GA....@news-02.uni.net...

Var
  Tmp : String;
begin
  Tmp := '
http://www.xite.it
' + #0;  {for Delphi 1}
  {call mail program}
  {Note: ShellExecute causes problems when run from Delphi 4 IDE}
  ShellExecute(Handle, nil, @Tmp[1], nil, nil, SW_SHOWNORMAL);
  ModalResult:=mrOk;
End;

Come faccio ?
La finestra deve essere necessariamente gia' aperta ?
Nel caso non lo fosse, agganciarsi a IE e' abbastanza problematico
perche' il programma in questione non si registra nella ROT (Root
Object Table). Via COM (l'ho gia' fatto) si puo' aprire una nuova
applicazione IE pilotandone la navigazione.
Devi chiaramente avere, pero', il riferimento all'applicazione appena
creata (Browser). Vedi MSDN, alla voce "InternetExplorer".
Esempio scritto in C++ Builder :
...
void __fastcall TForm1::Button1Click(TObject *Sender)
// manda l'url al browser ;
{
     Procedure MandaURL("Navigate2") ;
     Browser = 
     Variant::CreateObject( "InternetExplorer.Application" );
     Browser.Exec( PropertySet( "Visible" ) << true ) ;
     Browser.Exec( MandaURL << "
www.disney.com
" ) ;
}
void __fastcall TForm1::Button2Click(TObject *Sender)
// ottiene l'url dal browser
{
     Location = Browser.Exec( PropertyGet( "LocationURL" ) ) ;
     Edit1->Text = Location ;
}

Esempio scritto in C++ Builder :
Scusa Andrea, ma siamo su un NG di Delphi e esempi tali sono più graditi nel
linguaggio apposito!
Io non so una mazza di C, però vorrei tanto capire cosa hai scritto!
Ciao
--
- Carlo -

 End;
Questo codice "esegue" l'url, cioe' avvia il browser di default con l'url
come parametro.
A me serviva (ho risolto...) una procedura che cambiasse l'URL del browser
gia' aperto.
Se puo' essere utile, l'ho trovato su
http://www.comlink.apc.org/fsoethe/DELPHI/BROWDDE/BROWDDE.ZIP
 .
Comunque, grazie.


Io non so una mazza di C, però vorrei tanto capire cosa hai scritto!
Tradurro' al piu' presto il codice C++ Builder in Delphi (ora sto
aspettando un treno ! ;).
--
Andrea Laforgia (
andrea_...@bigfoot.com
)
---------------------------------------------
#exclude <windows.h>

  |
|  Use manually this address!!   |
|  ICQ#: 19577419                |
+--------------------------------+

 interi codici in Pascal.
Ciao, beh "sorbirci" non mi pare la parola adatta visto che questo *è* un ng
di delphi... :)
Personalmente comprendo qualcosina della sintassi C, ma così potrebbe non
essere per altri; quindi se si posta una soluzione in un altro linguaggio...
sarebbe meglio postarla anche in pascal !! Come
del resto Andrea ha detto che farà (thx!).
Ciao!! Davide DG

aspettando un treno ! ;).
Vabbè, attendo la traduzione.


interi codici in Pascal.
Non ti ho chiesto io di venire in questo NG a "sorbirti" il codice pascal,
vai su un NG di Visual C e troverai le tue traduzioni pronte!
--
- Carlo -

 Io non so una mazza di C, però vorrei tanto capire cosa hai scritto!
uses ComObj...
var
  browser : Variant;
begin
  browser := CreateOleObject( 'InternetExplorer.Application' );
  browser.visible := true;
  browser.Navigate2('
http://www.il_tuo_sito.it
');
  edit1.text := browser.LocationURL;
//  browser.quit;
end;
Purtroppo non c'è modo di sfruttare la GetActiveOleObject per utilizzare
l'istanza attiva...
Forse usando le interfacce o i browser helper objects ci si riesce ma non ho
mai provato... Tenderei ad evitare DDE.
Ciao :-)
--
(¯`·.¸¸.·´¯`·.¸¸.-> Andrea <-.¸¸.·´¯`·.¸¸.·´¯)
AntiSpam: rimuovere il trattino basso dall'indirizzo per rispondere
AntiSpam: remove the underscore from the e-mail address to reply