/ Forside / Teknologi / Udvikling / Delphi/Pascal / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Delphi/Pascal
#NavnPoint
oldwiking 603
jrossing 525
rpje 520
EXTERMINA.. 500
gandalf 460
gubi 270
DJ_Puden 250
PARKENSS 230
technet 210
10  jdjespers.. 200
HTML
Fra : Harald


Dato : 21-12-02 19:27

Hej

Jeg skal lave et program der henter en HTML side med en formular på.
Programmet skal så udfylde denne formular og "trykke" på send knappen. Hvad
skal jeg lede efter?

Jeg kan sagtens hente siden ved at bruge f.eks. TWebBrowser på internet
fanen, men hvad så?

Jeg bruger Delphi 7 prof.

Mvh
HK




 
 
Dennis (21-12-2002)
Kommentar
Fra : Dennis


Dato : 21-12-02 21:18

du kan også bruge webbrowseren til at udfylde formen med og klikke på
knappen.

Kan ikke huske delphi koden, men det er nok det samme som bliver brugt i JS.

"Harald" <swobu@kroning.dk> skrev i en meddelelse
news:3e04b25c$0$217$edfadb0f@dread14.news.tele.dk...
> Hej
>
> Jeg skal lave et program der henter en HTML side med en formular på.
> Programmet skal så udfylde denne formular og "trykke" på send knappen.
Hvad
> skal jeg lede efter?
>
> Jeg kan sagtens hente siden ved at bruge f.eks. TWebBrowser på internet
> fanen, men hvad så?
>
> Jeg bruger Delphi 7 prof.
>
> Mvh
> HK
>
>
>


---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.427 / Virus Database: 240 - Release Date: 06-12-2002



Lars B. Dybdahl (21-12-2002)
Kommentar
Fra : Lars B. Dybdahl


Dato : 21-12-02 22:15

Da du under alle omstændigheder bliver nødt til at programmere til den
specifikke form, skal du alligevel kende input felternes navne og mulige
værdier. Derfor kan du lige så godt bare fyre en TIdHTTP.Post af, uden at
hente websiden først.

TIdHTTP er en Indy komponent og finde på Indy fanebladet.

Lars.

Harald wrote:
> Hej
>
> Jeg skal lave et program der henter en HTML side med en formular på.
> Programmet skal så udfylde denne formular og "trykke" på send knappen.
> Hvad skal jeg lede efter?
>
> Jeg kan sagtens hente siden ved at bruge f.eks. TWebBrowser på internet
> fanen, men hvad så?
>
> Jeg bruger Delphi 7 prof.
>
> Mvh
> HK

--

Dybdahl Engineering: http://dybdahl.dk/
Delphi brugergruppen DAPUG: http://dapug.dk/


Harald (21-12-2002)
Kommentar
Fra : Harald


Dato : 21-12-02 22:48

"Lars B. Dybdahl" <Lars@dybdahl.dk> skrev i en meddelelse
news:3e04d9cc$0$137$edfadb0f@dread13.news.tele.dk...
> Da du under alle omstændigheder bliver nødt til at programmere til den
> specifikke form, skal du alligevel kende input felternes navne og mulige
> værdier. Derfor kan du lige så godt bare fyre en TIdHTTP.Post af, uden at
> hente websiden først.
>
> TIdHTTP er en Indy komponent og finde på Indy fanebladet.

Jeg bliver nød til at hente siden først da nogle af felterne på forhånd er
udfyldt, så det letteste vil være (tror jeg) hvis man kunne bruge f.eks.
TWebBrowser til at hente siden, udfylde de 2-3 felter det drejer sig om og
så aktivere post knappen.

Mvh
HK




Dennis (22-12-2002)
Kommentar
Fra : Dennis


Dato : 22-12-02 14:05

Ok jeg fixede lige dette, og det ser ud til at virke:

function SubmitForm(WebBrowser: TWebBrowser; KnapNavn: string): Boolean;
var
I, J: Integer;
FormItem: Variant;
begin
Result := False;
if WebBrowser.OleObject.Document.all.tags('FORM').length = 0 then
Exit;
for I := 0 to WebBrowser.OleObject.Document.forms.Length - 1 do
begin
FormItem := WebBrowser.OleObject.Document.forms.Item(I);
for J := 0 to FormItem.Length - 1 do
try
if FormItem.Item(J).Name = KnapNavn then
begin
FormItem.Item(j).Click;
Result := True;
end;
except
end;
end;
end;

function FillForm(WebBrowser: TWebBrowser; Fieldname: string; Value:
string): Boolean;
var
I, J: Integer;
FormItem: Variant;
begin
Result := False;
if WebBrowser.OleObject.Document.all.tags('FORM').length = 0 then
Exit;
for I := 0 to WebBrowser.OleObject.Document.forms.Length - 1 do
begin
FormItem := WebBrowser.OleObject.Document.forms.Item(I);
for J := 0 to FormItem.Length - 1 do
try
if FormItem.Item(J).Name = FieldName then
begin
FormItem.Item(j).Value := Value;
Result := True;
end;
except
end;
end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
webbrowser1.Navigate('http://www.google.com');
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
FillForm(webbrowser1, 'q', 'Dette er en test');
SubmitForm(webbrowser1, 'btnG');
end;






"Harald" <swobu@kroning.dk> skrev i en meddelelse
news:3e04b25c$0$217$edfadb0f@dread14.news.tele.dk...
> Hej
>
> Jeg skal lave et program der henter en HTML side med en formular på.
> Programmet skal så udfylde denne formular og "trykke" på send knappen.
Hvad
> skal jeg lede efter?
>
> Jeg kan sagtens hente siden ved at bruge f.eks. TWebBrowser på internet
> fanen, men hvad så?
>
> Jeg bruger Delphi 7 prof.
>
> Mvh
> HK
>
>
>


---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.427 / Virus Database: 240 - Release Date: 06-12-2002



Harald (22-12-2002)
Kommentar
Fra : Harald


Dato : 22-12-02 16:24

"Dennis" <dknzippo[remove]@hotmail.com> skrev i en meddelelse
news:3e05b872$0$47409$edfadb0f@dtext01.news.tele.dk...
> Ok jeg fixede lige dette, og det ser ud til at virke:
>
> function SubmitForm(WebBrowser: TWebBrowser; KnapNavn: string): Boolean;
> var
> I, J: Integer;
> FormItem: Variant;
> begin
> Result := False;
> if WebBrowser.OleObject.Document.all.tags('FORM').length = 0 then
> Exit;
> for I := 0 to WebBrowser.OleObject.Document.forms.Length - 1 do
> begin
> FormItem := WebBrowser.OleObject.Document.forms.Item(I);
> for J := 0 to FormItem.Length - 1 do
> try
> if FormItem.Item(J).Name = KnapNavn then
> begin
> FormItem.Item(j).Click;
> Result := True;
> end;
> except
> end;
> end;
> end;
>
> function FillForm(WebBrowser: TWebBrowser; Fieldname: string; Value:
> string): Boolean;
> var
> I, J: Integer;
> FormItem: Variant;
> begin
> Result := False;
> if WebBrowser.OleObject.Document.all.tags('FORM').length = 0 then
> Exit;
> for I := 0 to WebBrowser.OleObject.Document.forms.Length - 1 do
> begin
> FormItem := WebBrowser.OleObject.Document.forms.Item(I);
> for J := 0 to FormItem.Length - 1 do
> try
> if FormItem.Item(J).Name = FieldName then
> begin
> FormItem.Item(j).Value := Value;
> Result := True;
> end;
> except
> end;
> end;
> end;
>
> procedure TForm1.Button1Click(Sender: TObject);
> begin
> webbrowser1.Navigate('http://www.google.com');
> end;
>
> procedure TForm1.Button2Click(Sender: TObject);
> begin
> FillForm(webbrowser1, 'q', 'Dette er en test');
> SubmitForm(webbrowser1, 'btnG');
> end;

Ser ud til at virke perfekt, mange tak for det.

Mvh
HK




Harald (24-12-2002)
Kommentar
Fra : Harald


Dato : 24-12-02 15:01

"Dennis" <dknzippo[remove]@hotmail.com> skrev i en meddelelse
news:3e05b872$0$47409$edfadb0f@dtext01.news.tele.dk...
> Ok jeg fixede lige dette, og det ser ud til at virke:

Har du et link til hvor man kan finde info om dette, jeg har nemlig også
brug for at kunne "trykke" på et link?

Mvh
HK




Søg
Reklame
Statistik
Spørgsmål : 177460
Tips : 31964
Nyheder : 719565
Indlæg : 6408201
Brugere : 218881

Månedens bedste
Årets bedste
Sidste års bedste