Ciao cioco,
scusa il ritardo nella risposta, ma essendomi appena iscrito al sito non potevo anticiparla più di così...
Premetto che lavoro con una versione del delphi successiva alla tua, e
per la precisione la 2007, però l'utilizzo del componente da quel che
ne sò (e che vedo dal codice che hai postato) è lo stesso.
Premetto inoltre che ho utilizzato gran poco il componente webbrowser,
però da quel che posso capire dalla riga che hai postato, questa faceva
una modifica "live" della pagina (non volendo dire una stupidaggine,
dovrebbe essere come quando si utilizza del javascript all'interno di
una pagina html, che tramite gli oggetti DOM può modificare lato client
il contenuto della pagina stessa...), mentre il componente IdHttp
agisce in modo diverso.
Sfruttando al funzione Post infatti, è come se tu premessi il pulsante
"Cerca con google" il quale passa alla funzione di ricerca il contenuto
del campo edit della pagina
Questo però non avviene su una pagina web aperta, ma è come se il tuo
software in quel momento diventasse un WebBrowser, tanto che il
risultato (la pagina html che conterrà la ricerca di google per
esempio) verrà restituito dalla funzione Post come risultato della
chiamata alla funzione
Praticamete bypassi (è corretto?!?!?) il modificare il campo, perchè
appunto dai già il "submit" alla pagina, fornendo pure i valori da
passare, però o salvi il contenuto del risultato in un file temporaneo
in locale e lo visualizzi caricandolo sempre da locale nel componente
WebBrowser (dovrebbe essere proprio quello se non erro...), o fai un
parsing del testo e puoi visualizzare i risultati della ricerca, per
esempio, in una ListBox.
Detto questo, perchè la tua procedura abbia successo, dovresti quindi fare quanto segue:
- ricavare come google lancia le ricerche;
- suddividere questa stringa in URL e parametri;
- lanciare il metodo post con questi dati;
io ho provato a cercare al parola "ciao" e la stringa che appare nella
barra degli indirizzi è
"http://www.google.it/search?hl=it&q=ciao&btnG=Cerca+con+Google&meta=",
quindi il tuo codice dovrebbe essere modificato così:
procedure TForm1.Button1Click(Sender: TObject);
var
Parametri: TStrings; // uso quest'altro modo per elencare i parametri, mi sembra più comodo
// di uno stream
url : string;
risultato: String;
begin
url := 'http://www.google.it/search';
parametri := TStrings.Create;
parametri.Add('hl=it');
parametri.Add('q=testo che vuoi cercare');
parametri.Add('btnG=Cerca+con+Google');
parametri.Add('meta=');
risultato := idhttp1.post(url,parametri);
end;
Ti sto rispondendo dall'ufficio, senza avere il delphi aperto sotto
mano, quindi per il momento non ti assicuro la correttezza di tutto al
100%, però entro sera controllerò ed eventualmente correggerò.
Sperando d'essere stato d'aiuto, e di non essere arrivato troppo in ritardo, intanto ti saluto.
Ciao,
Lsk_Gabry