Newsgroup: it.comp.lang.delphi
Titolo: Inserire un valore in un campo caricato con TWEBBROSER

Sto facendo un programmino che in pratica ha una finestra TWebBroser al suo
interno.....il rpogramma parte....si clicca un bottone e si carica una certa
pagina....chiamiamola 
www.miosito.com/pagina.html
 ....(e fin qui funzinoa).
in pagina.html però c'è u form con dei campi......due campi semplici che si
chiamano "nick" e "pass"...due campi di quelli classici per fare un
login.....il programma dovrebbe (ed è quello che non so fare) caricare dei
vlaori predefiniti in questi campi.
Mettiamo conto che la userid sia "pippo" e la password "paperino".
la pagina la carico con:
webb.Navigate('
www.miosito.com/pagina.html'
);
..ora dovrei fare una cosa del tipo (lo scrivo a logica per farvi capire
cosa mi serve):
webb.nick:='pippo';
webb.pass:='paperino';
ecco insomma...mi servirebbe sapere come si scrivono queste istruzioni per
passare al'intenro dei campi i due valori che già ho ricavato.
Grazie mille...spero di essere stato chiaro...
--
Giulio Pipitone (
www.fighters4web.com
 )
#sito per la lotta agli abusi in rete#

premesso che io di html non so un tubo.....
html non è OOP.
Non credo tu possa dirgli "oggeto.prop = valore".
Se vedi il codice html che ti genera la pagina, vedrai che viene fatto
tutto con una riga in modo testo.
Anche i tPageproducer di delphi si basano su template html che contengono
delle macro che vengono poi sostituite con un parse.
Ergo: la pagina dovrebbe già essere predisposta per mostrare i default che
tu vuoi.
Bye
A.

Ciao,
grazie per la risposta.
Mi sono comquneu informato sui modi di gestire una cosa del genere e in
effetti html čuň essere gestito in modo orietato agli oggetti grazie alla
sua struttura "DOM" che serve proprio per poter indirizzare degli elementi
al suo interno usando il linguaggio orientato agli oggetti...il problema č
che non so come fare....ho cercato in giro anche componenti che permessero
precisamente la gestione sulla struttura DOM ma non ho trovato
nulla.....penso che la soluzione nel mio caso sia usare uno diq uei comandi
"IDispatch" nellas tringa a oggetti ma non trovi in fo nell'help e non so
come fare....
Altre idee?
Grazie.


dom=xml
Bye
A.

 Altre idee?
msdn.microsoft.com
Dovresti usare i metodi di IDispatch ed in particolare
IDispatch::GetIDsOfNames,
da qui dovresti trarre informazioni sugli elementi contenuti nella
pagina,
poi usi IDispatch::Invoke per assegnare la proprieta' voluta.
Appena ho un po' di tempo faccio qualche prova.
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

Ciao Andrea,
grazie per l'aiuto.
Ho spulciato per bene questo componente TWebBroser e ho notato che queste
istruzioni che citi del IDispatch.GetIDsOfNames e Invoke esistono.
In particolare ho aperto nel componente (con comando "navigate") un URL e
all'evento "OnDocumentComplete" (cioè quando ha finito di caricare la
pagina) ho associato questa procedura:
procedure TForm1.webbDocumentComplete(Sender: TObject;
  const pDisp: IDispatch; var URL: OleVariant);
var
  p, punt1, punt2 : pointer;
  a : TGUID;
  nick: word;
  valore: word;
begin
  valore:=1;
  nick:=2;
  pDisp.GetIDsOfNames(a,p,1,2,punt1);
  pDisp.Invoke(1,a,1,nick,valore,p,punt1,punt2);
end;
..da quanto ho capito a questo documento è stato associato il IDispatch
"pdist" per cui ho provato ad assegnare dei valori a questo, che dovrebbe
riferirsi alla pagina aperta....ma come puoi vedere son tutti valori
"casuali" perchè non capisco cosa devo dichiarare all'intero dei
comandi....l'help naturalmente a questo proposito è completamente vuoto
d'esempi. :(
Ti dico in breve cosa dovrei fare..così magari ti aiuta un po' di più a
capire.
La pagina che apro è quella del link 
www.fighters4web.com/fightclub/home.asp
(la sto usando come pagina di prova, non è proprio quella per cui sto
facendo l'appplicaione)...al suo interno c'è un piccolo form con un campo
che si chiama "nick". Ecco....vorrei che, dopo aver aperto la pagina, il
programma assegnasse a quel campo (di cui so già l'esistenza e il nome
"nick") un valore arbitrario...mettiamo conto "PIPPO".
Ecco..questo è il mio scopo...non sembrerebbe uan cosa difficile visto che
non dovrei neanche ricavare i nomi degli oggetti ma posso dar per scontata
la presenza dei campi (e i loro nomi) all'interno del form.
Ti ringrazio per qualunque informazione riuscirai a darmi, ciao.
