Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

TBrowser i tab i enter

[es] :: Pascal / Delphi / Kylix :: TBrowser i tab i enter

[ Pregleda: 2454 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

sojic
Dalibor Sojic
Makedonija

Član broj: 7051
Poruke: 796
62.162.240.*

Sajt: right-sock.net


+1 Profil

icon TBrowser i tab i enter04.01.2006. u 12:40 - pre 222 meseci
U Delphi-ju ubacio sam TBrowser (sad sam stavio Mozila). Imam stranu sa formulare. TAB, ENTER ne rade. Kad udrim TAB fokusiram se na drugi objekat koji imam u formi, a ne u sledeće polje na WEB strani.

Dali mogu da "punim" TBrowser programski (da ne učitujem fajl, nego da u delphi generišem kod i "napunim" TBrowser).


routing protocols enable routers to route routed protocols!
 
Odgovor na temu

Passwd

Član broj: 54624
Poruke: 640
*.adsl.net.t-com.hr.



Profil

icon Re: TBrowser i tab i enter04.01.2006. u 16:52 - pre 222 meseci
Mozda nisam najbolje shvatio sta zelis ali formulare mozes popunit na 2 osnovna nacina:

1.Uz koristenje Indy komponenti, preciznije IdHttp
Evo ti mali primjer:
Code:

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, IdMultipartFormData, StdCtrls, IdBaseComponent, IdComponent,
  IdTCPConnection, IdTCPClient, IdHTTP;

type
  TForm1 = class(TForm)
    Button1: TButton;
    IdHTTP1: TIdHTTP;
    Memo1: TMemo;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
M: TIdMultiPartFormDataStream;
begin
  M := TIdMultiPartFormDataStream.Create;
  M.AddFormField('username', 'neki_parametar');
  M.AddFormField('email', 'neki_parametar');
  M.AddFormField('submit', 'neki_parametar');

    IdHTTP1.Post('http://StranicaKojaSadrziGoreNavedeneFormulare.com', M);

  M.Free;

end;


end.


Ovo username, password i submit su imena objekata na stranici..


2.Uz pomoc TWebBrowser kontrole, i imas ove dvije JaHvram-ove funkcije:
Code:

 function FillForm(WebBrowser: TWebBrowser; FieldName: String; Value: String): Boolean;
 var
   I, J: Integer;
   FormItem: Variant;
 begin
   Result := False;
   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
     begin
       if FormItem.Item(J).Name = FieldName then
       begin
         FormItem.Item(J).Value := Value;
         Result := True;
         Exit;
       end;
     end;
   end;
 end;




function SubmitForm(WebBrowser: TWebBrowser; FieldString:string): Boolean;
var
  i, j: Integer;
  FormItem: Variant;
begin
Result := False;
  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
    begin
      if (UpperCase(FormItem.Item(j).Type) = FieldString) then
      begin
      FormItem.Item(j).focus;
      keybd_event( Ord(' '), MapvirtualKey( Ord(' '), 0), 0, 0 );
      keybd_event( Ord(' '), MapvirtualKey( Ord(' '), 0), KEYEVENTF_KEYUP, 0 );
      Result := True;
      end;
    end;
  end;

end;


Jedna popunjava formu, druga submituje...
 
Odgovor na temu

sojic
Dalibor Sojic
Makedonija

Član broj: 7051
Poruke: 796
62.162.240.*

Sajt: right-sock.net


+1 Profil

icon Re: TBrowser i tab i enter04.01.2006. u 18:31 - pre 222 meseci
Nisi baš dobro razumeo. Treba da user popunuje formulare. Ne treba da se učituju od bazu ili sl. podatke, nego treba da korisnik unasa.

Radim popunjivanje prazne forulare, pa da ne popunjuju na mašinu za pisanje, nego na kompjuter, tako da popunjene podatke kasnije se štampaju.

E sad, da ne dajem 50 fajla, pa u zavisnost sta treba da popunjuje da korisnik trazi po direktoriumu "formular1.html", da napravim neki jednostavni program u delphi i da u njega učitam TBrowser.

Sve je OK, jedino kad treba da se popunuje textarea (html kontrola), ne radi enter. Isto ne mogu da se "šetam" po polja u HTML-u.

Nadam se da sam sad mnogo jasniji.
routing protocols enable routers to route routed protocols!
 
Odgovor na temu

sojic
Dalibor Sojic
Makedonija

Član broj: 7051
Poruke: 796
62.162.213.*

Sajt: right-sock.net


+1 Profil

icon Re: TBrowser i tab i enter06.01.2006. u 00:17 - pre 222 meseci
Pokusavam da izvedem nesto u stilu ove dve funkcije, ali dobijem:

Code:

Project Formulari.exe raised exception class EOleSysError with message
'Library not registred'. Process stopped. Use Step or Run to continue.


Ovo se desava u prvom pristupu do OleObject (valjda).
routing protocols enable routers to route routed protocols!
 
Odgovor na temu

sojic
Dalibor Sojic
Makedonija

Član broj: 7051
Poruke: 796
62.162.213.*

Sajt: right-sock.net


+1 Profil

icon Re: TBrowser i tab i enter06.01.2006. u 00:39 - pre 222 meseci
Mislim da sam resio problem. Problem je sto sam koristio Mozilla ActiveX komponentu. Kad sam stavio standardnu (IE) TWebBrowser komponentu radi.
routing protocols enable routers to route routed protocols!
 
Odgovor na temu

sojic
Dalibor Sojic
Makedonija

Član broj: 7051
Poruke: 796
62.162.241.*

Sajt: right-sock.net


+1 Profil

icon Re: TBrowser i tab i enter12.01.2006. u 11:54 - pre 222 meseci
Sad je skoro sve OK. Koristim TWebBrowser (IE), sve je kao sto sam ocekivao sem "textarea" i enter.

Znaci, kad imam "textarea" u HTML-u, ne prihvata enter. Znaci, ne mogu preci u novi red.

Resenje?
routing protocols enable routers to route routed protocols!
 
Odgovor na temu

[es] :: Pascal / Delphi / Kylix :: TBrowser i tab i enter

[ Pregleda: 2454 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.