AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi formularfelder einer website ausfülle?
Thema durchsuchen
Ansicht
Themen-Optionen

formularfelder einer website ausfülle?

Ein Thema von RomanK · begonnen am 4. Okt 2002 · letzter Beitrag vom 5. Aug 2006
Antwort Antwort
Seite 2 von 9     12 34     Letzte »    
Benutzerbild von theomega
theomega

Registriert seit: 18. Jun 2002
684 Beiträge
 
#11
  Alt 27. Dez 2002, 11:39
@Sakura: In deinem Code hat das "oleobject" gefehlt!
  Mit Zitat antworten Zitat
Act23

Registriert seit: 26. Dez 2002
8 Beiträge
 
Delphi 7 Architect
 
#12
  Alt 27. Dez 2002, 19:25
also, weiß schon jemand wie man formularfelder in einer frameseite ausfüllen kann?
z.B:
<frameset>
<frame name="NavLinks" src="menu.html">
<frame name="Hauptframe" src="index2.html">
</frameset>
die felder die ich ausfüllen will, sind im frame "Navlinks". Mit dem Code der hier gepostet wurde, kann man diese Felder aber nicht ausfüllen.
Wenn man diese Frameseite aber einzeln öffnet (menu.html), kann man man mit diesem Code machen:

WebBrowser1.OleObject.Document.Forms.item('Name des Formulars').Elements.item('Name des Feldes').value := 'Irgendetwas'; aber es geht eben nicht wenn man das ganze frameset öffnet! und das muss ich irgendwie umgehen können!
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: Unterhaching
11.412 Beiträge
 
Delphi 12 Athens
 
#13
  Alt 27. Dez 2002, 19:35
Es sollte so gehen, wenn der IE den Zugruff über Frames nicht blockt:

Code:
WebBrowser1.OleObject.Document.Frames.item('Name des Frames').Forms.item('Name des Formulars').Elements.item('Name des Feldes').value := 'Irgendetwas'
Daniel Lizbeth
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
ensacom
(Gast)

n/a Beiträge
 
#14
  Alt 28. Dez 2002, 12:22
Also ich habe es jetzt so gemacht

Code:
procedure TForm1.FormCreate(Sender: TObject);
begin
  Webbrowser1.Navigate('http://www.tmssoftware.com');
end;


procedure TForm1.Button1Click(Sender: TObject);
begin
  WebBrowser1.OleObject.Document.Frames.item('MAIN').Forms.item('loginform').Elements.item('REGEMAIL').value := 'Irgendetwas'
end;
Ich erhalte den EOleError
"Die Methode 'Forms' wird vom Automatisierungsobject nicht unterstützt"
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: Unterhaching
11.412 Beiträge
 
Delphi 12 Athens
 
#15
  Alt 28. Dez 2002, 12:28
Code:
WebBrowser1.OleObject.Document.Frames.item('Name des Frames').[color=#ff0000]Document.[/color]Forms.item('Name des Formulars').Elements.item('Name des Feldes').value := 'Irgendetwas'
Dann wohl eher so
Daniel Lizbeth
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
ensacom
(Gast)

n/a Beiträge
 
#16
  Alt 28. Dez 2002, 12:34
Vielen Dank, das klappt schon mal.
Jetzt aber eine Frage.

So benutze ich es jetzt

Code:
procedure TForm1.FormCreate(Sender: TObject);
begin
  Webbrowser1.Navigate('http://www.tmssoftware.com');
end;


procedure TForm1.Button1Click(Sender: TObject);
begin
  WebBrowser1.OleObject.Document.Frames.item('MAIN').Document.Forms.item('loginform').Elements.item('REGEMAIL').value := 'Irgendetwas'
end;
Ich rufe also die Seite 'http://www.tmssoftware.com' auf.

Das Formular was ich ausfüllen will kommt aber erst wenn ich auf "Login" klicke. Wie kann ich also die Seite "http://www.tmssoftware.com/asp/reg_input.asp" im Mainframe aufrufen damit ich das Formular ausfüllen kann?

Danke schon mal
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: Unterhaching
11.412 Beiträge
 
Delphi 12 Athens
 
#17
  Alt 28. Dez 2002, 12:39
Code:
WebBrowser1.OleObject.Document.Frames.item('MAIN')[color=#ff0008].Document[/color].location.href := 'http://www.Delphi-PRAXiS.net/';
Mit oder ohne .Document, wahrscheinlich ohne.
Daniel Lizbeth
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
ensacom
(Gast)

n/a Beiträge
 
#18
  Alt 28. Dez 2002, 12:48
Hm, danke aber das klappt nicht so wie ich es mir vorgestellt habe.

Also

Code:
procedure TForm1.FormCreate(Sender: TObject);
begin
  Webbrowser1.Navigate('http://www.tmssoftware.com');
end;
Code:
procedure TForm1.Button1Click(Sender: TObject);
begin
  with WebBrowser1 do
  begin
    OleObject.Document.Frames.item('MAIN').Document.Forms.item('loginform').Elements.item('REGEMAIL').value := 'ensacom@t-online.de';
    OleObject.Document.Frames.item('MAIN').Document.Forms.item('loginform').Elements.item('REGCODE').value := 'Passwort';
    OleObject.Document.Frames.item('MAIN').Document.Forms.item('loginform').Elements.item('B1').value := 'Passwort';
  end;
end;
Wenn ich jetzt Button 1 clicke, kommt eine zugriffsverletzung.
Klicke ich im Webbrowser auf login und dann auf Button1, wird das Formular angezeigt und ausgefüllt.

Ich will also nun das beim Start gleich das Formular im MainFrame angezeigt wird.

Wenn ich aber

Code:
 WebBrowser1.OleObject.Document.Frames.item('MAIN').Document.location.href := 'http://www.tmssoftware.com/asp/reg_input.asp';
ins onCreate schreibe egal ob allein oder hinter webbrowser1.navigate.
kommt immer eine Zugriffsverletzung.

Wie muß ich es also richtig aufrufen, so das beim start gleich die Seite mit dem Formular im Mainframe angezeigt wird?

Vielen Dank schon mal
  Mit Zitat antworten Zitat
ensacom
(Gast)

n/a Beiträge
 
#19
  Alt 28. Dez 2002, 12:50
Danke, hab es eben selber herausgefunden.
Ich hab es ins WebBrowser1DocumentComplete geschrieben.

Vielen Dank nochmal. Ich werde jetzt öfter hier sein
  Mit Zitat antworten Zitat
ensacom
(Gast)

n/a Beiträge
 
#20
  Alt 28. Dez 2002, 13:02
So, eine letzte Frage hätte ich noch

Code:
procedure TForm1.fillform;
begin
  with WebBrowser1 do
  begin
    OleObject.Document.Frames.item('MAIN').Document.Forms.item('loginform').Elements.item('REGEMAIL').value := 'ensacom@t-online.de';
    OleObject.Document.Frames.item('MAIN').Document.Forms.item('loginform').Elements.item('REGCODE').value := 'Passwort';
    OleObject.Document.Frames.item('MAIN').Document.Forms.item('loginform').Elements.item('B1').value := 'Passwort';
  end;
end;



procedure TForm1.WebBrowser1DocumentComplete(Sender: TObject;
  const pDisp: IDispatch; var URL: OleVariant);
var
  CurWebrowser: IWebBrowser;
  TopWebBrowser: IWebBrowser;
begin
  CurWebrowser := pDisp as IWebBrowser;
  TopWebBrowser := (Sender as TWebBrowser).DefaultInterface;
  if CurWebrowser = TopWebBrowser then
  begin
    WebBrowser1.OleObject.Document.Frames.item('MAIN').Document.location.href := 'http://www.tmssoftware.com/asp/reg_input.asp';
  end;
  fillform; //FEHLER
end;

Wenn ich fillform dort aufrufe gibt es eine zugriffsverletzung weil das Formular noch nicht im Mainframe ist.

Hat einer ne Idee wie ich abfragen kann ob es komplett ist, um dann das Formular zu füllen?

Danke
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 9     12 34     Letzte »    


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:17 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz