Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem WebBrowsera vyplňovaní formuláře v delphi

Dobry den.
Jsem jen takový domácí samouk a dělám svůj druhy projekt.
Uvízl jsem na vyplňovaní formuláře ve WebBrowseru.
Zkoušel jsem to podle návodu na živě.cz
Tipy a triky v Delphi, díl 117
Sample je plně funkční ale při kliknuti na buton vyskočí chyba.

Nenašela by se tady dobra duše, která by mi na přikladu ukázala ten nejjednoduchší způsob jak na to.
Třeba jak v nějakém registračním formuláři vyplnit Jméno a příjmení.
Třeba tady register.jsp

Předmět Autor Datum
Sample je plně funkční ale při kliknuti na buton vyskočí chyba. To je jednoduché. Stačí tu tajnou c…
host 15.02.2012 18:29
host
No, kdybych to zvlad tak tu neotravují,;-)
Jirka444 15.02.2012 20:11
Jirka444
Nevadí, že to nezvládneš, od toho je tu poradna. Ale jak máme poradit s chybou, kterou neznáme?
host 15.02.2012 20:14
host
http://www.zive.cz/clanky/tipy-a-triky-v-delphi-di l-117---automaticke-vyplnovani-formularu-v-ie/sc-…
Jirka444 15.02.2012 20:59
Jirka444
Hm :-x A co toto. www.festra.com function TForm1.FillForm(WB: TWebBrowser; FieldName, Value: string… poslední
Jirka444 16.02.2012 10:54
Jirka444

Hm :-x
A co toto.
www.festra.com

function TForm1.FillForm(WB: TWebBrowser; FieldName, Value: string): Boolean;
var
  FormNr, ItemNr: integer;
  TheForm: Variant;
begin
  Result := False;
    if WB.OleObject.Document.All.Tags('FORM').Length = 0 then begin
         ShowMessage('Error: no FORM found on page');
    Exit;
    end;
      for FormNr := 0 to WB.OleObject.Document.Forms.Length - 1 do begin
          TheForm := WB.OleObject.Document.Forms.Item(FormNr);

      for ItemNr := 0 to WB.OleObject.Document.Forms.Item.length - 1 do
      try
        // Pokud fieldname nalezena, se snaží vyplnit a zastavení
        if TheForm.Item(ItemNr).Name = FieldName then begin
          TheForm.Item(ItemNr).Value := Value;
          Result := True;
        end;
      except
        Break;
      end;
      if Result then Break;
    end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
 if not FillForm(WebBrowser1, 'Jméno', 'Jimi') then
    ShowMessage('Error: field NAME not found on page')
  else begin
    if not FillForm(WebBrowser1, 'Příjmení', 'Hendrix') then
      ShowMessage('Error: field LASTNAME not found on page')
    else begin
      if not FillForm(WebBrowser1, 'category', 'Music') then
        ShowMessage('Error: field CATEGORY not found on page');
    end;
  end;
end;
end.

Funkěčni ale ještě se mu nepodařilo něco najit.

Zpět do poradny Odpovědět na původní otázku Nahoru