Delphi-PRAXiS :: Das Forum für Fragen zu Delphi
Das Experten Forum für Delphi Programmierer
Hilfe für CodeGear Delphi gibts es hier im Forum
Delphi Quelltexte und Source Codes
 
Delphi-PRAXiS :: Foren-ÜbersichtForen-Übersicht Delphi-PRAXiS Modul-ÜbersichtSite-Map Delphi-PRAXiS durchsuchenSuchen Delphi-PRAXiS Code-LibraryCode-Library Jetzt registrieren!Registrieren Login  
   
 
0
 
Formular über Delphi Anwendung ausfüllen
Ein Thema von plapperkeks.

Vorheriges Thema anzeigen  |  Nächstes Thema anzeigen
Neuen Beitrag schreiben Auf Beitrag antworten
als PDF-Datei herunterladenThema ausdrucken
 
Delphi-PRAXiS Forum - Übersicht -> Internet / LAN / ASP.NET
Seite 1 von 1   [ 9 Beiträge ]  
 
 Autor 
 Nachricht 
 
plapperkeks #1|Beitrag #1128078Verfasst am: 07.02.2010, 19:44      Titel: Formular über Delphi Anwendung ausfüllen Antworten mit Zitat
gerade reingestolpert
Status: offline
Beiträge: 5
angemeldet: 07.02.2010


Sprache: Delphi Embercadero RAD Studio 2010

Hallo, alle miteinander.

Vorneweg: Ich bin noch nicht lange im Bann der Programmiersprachen

So, mein Problem ist folgendes:

Durch ein TWebbrowser Modul, 2 TEdit's und einem Button sollen die Werte in den TEdits durch den Buttonklick an eine vorher definierte Website geliefrt werden, und 2 Felder auf dieser Website ausfüllen (Email und Passwort)
Die Website ist in diesem Fall http://web.de/fm/

Delphi-Quellcode: zusammenfalten | markieren
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Keyboard, StdCtrls, OleCtrls, SHDocVw;

type
  TForm1 = class(TForm)
    Edit1: TEdit;
    Edit2: TEdit;
    Button1: TButton;
    WebBrowser1: TWebBrowser;
    procedure Button1Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
Document: OleVariant;
begin
WebBrowser1.Navigate('http://web.de/fm/'); //Website
repeat
Application.ProcessMessages;
Sleep(0);
until WebBrowser1.ReadyState = READYSTATE_COMPLETE;

Document.all.item('username').Value := Edit1.Text; // Email/Nutzer
Document.all.item('password').Value := Edit2.Text; // PASSWORT
Document.all.item('rv_dologon').submit; // Login/Submit Funktion
end;


end.


Die namen der Felder username, password und rv_dologon habe ich im Quellcode von http://web.de/fm/ (hoffentlich korekkt) ausgelesen.

So nun tritt bei Testen folgendes Problem auf:

"Ungältige Variantenoperation" meldet mir ein Delphi Fenster.

Ich hab keine Ahnung woran das liegt... für jede Hilfe bin ich dankbar.
nach oben nach unten
Benutzer-Profile anzeigen Private Nachricht senden
Markiere Begriffe im Text und klicke auf diesen Button, um nach zusätzlichen Informationen im Forum zu suchen. Markiere Begriffe im Text und klicke auf diesen Button, um nach zusätzlichen Informationen bei Google zu suchen. Markiere Begriffe im Text und klicke auf diesen Button, um nach zusätzlichen Informationen bei Wikipedia zu suchen.
 
 
daywalker9 #2|Beitrag #1128085Verfasst am: 07.02.2010, 19:55      Titel: Re: Formular über Delphi Anwendung ausfüllen Antworten mit Zitat
sehr aktives Mitglied
Status: offline
Beiträge: 76
angemeldet: 01.01.2010
RAD-Studio 2010 Arc

Dein "Document" wird nirgends zugewiesen?

Daher kann das auch nicht funktionieren
nach oben nach unten
Benutzer-Profile anzeigen Private Nachricht senden
Markiere Begriffe im Text und klicke auf diesen Button, um nach zusätzlichen Informationen im Forum zu suchen. Markiere Begriffe im Text und klicke auf diesen Button, um nach zusätzlichen Informationen bei Google zu suchen. Markiere Begriffe im Text und klicke auf diesen Button, um nach zusätzlichen Informationen bei Wikipedia zu suchen.
 
 
plapperkeks #3|Beitrag #1128092Verfasst am: 07.02.2010, 20:12      Titel: Re: Formular über Delphi Anwendung ausfüllen Antworten mit Zitat
gerade reingestolpert
Status: offline
Beiträge: 5
angemeldet: 07.02.2010


danke...... aber wie mach ich das denn?
sry für die blöde Frage ^^
nach oben nach unten
Benutzer-Profile anzeigen Private Nachricht senden
Markiere Begriffe im Text und klicke auf diesen Button, um nach zusätzlichen Informationen im Forum zu suchen. Markiere Begriffe im Text und klicke auf diesen Button, um nach zusätzlichen Informationen bei Google zu suchen. Markiere Begriffe im Text und klicke auf diesen Button, um nach zusätzlichen Informationen bei Wikipedia zu suchen.
 
 
toms #4|Beitrag #1128095Verfasst am: 07.02.2010, 20:17      Titel: Re: Formular über Delphi Anwendung ausfüllen Antworten mit Zitat
CodeLib-Manager
Alter: 31
Status: offline
Beiträge: 4.451
angemeldet: 10.06.2002
Delphi 6 Professional

Delphi-Quellcode: markieren
with WebBrowser1 do
begin
  OleObject.Document.GetElementByID('username').Value := Edit1.Text;
  OleObject.Document.GetElementByID('password').Value := Edit2.Text;
  OleObject.Document.forms.item(1).submit();
end;
nach oben nach unten
Benutzer-Profile anzeigen Private Nachricht senden
Markiere Begriffe im Text und klicke auf diesen Button, um nach zusätzlichen Informationen im Forum zu suchen. Markiere Begriffe im Text und klicke auf diesen Button, um nach zusätzlichen Informationen bei Google zu suchen. Markiere Begriffe im Text und klicke auf diesen Button, um nach zusätzlichen Informationen bei Wikipedia zu suchen.
 
 
plapperkeks #5|Beitrag #1128106Verfasst am: 07.02.2010, 20:45      Titel: Re: Formular über Delphi Anwendung ausfüllen Antworten mit Zitat
gerade reingestolpert
Status: offline
Beiträge: 5
angemeldet: 07.02.2010


Erstmal danke für die tolle Hilfe, jetzt klappts, ich habe noch eine Frage..... unzwar hab ich nun eine andere Website gewählt zum Login... die Bezeichnungen für die Felder Username und Password habe ich schnell gefunden... allerdings zeigt mir Delphi einen Fehler an der durch "OleObject.Document.forms.item(1).submit();" ensteht.
Anscheinend ist bei dieser Website dieSubmit funktion anders.... wie finde ich raus wie/wo im Quellcode diese Bezeichnet ist?


Fehlermeldung:
Zugriffsverletztung bei Adresse 004AFD7D in Modul 'Project2.exe'. Lesen
von Adresse 00000000.
nach oben nach unten
Benutzer-Profile anzeigen Private Nachricht senden
Markiere Begriffe im Text und klicke auf diesen Button, um nach zusätzlichen Informationen im Forum zu suchen. Markiere Begriffe im Text und klicke auf diesen Button, um nach zusätzlichen Informationen bei Google zu suchen. Markiere Begriffe im Text und klicke auf diesen Button, um nach zusätzlichen Informationen bei Wikipedia zu suchen.
 
 
toms #6|Beitrag #1128110Verfasst am: 07.02.2010, 20:50      Titel: Re: Formular über Delphi Anwendung ausfüllen Antworten mit Zitat
CodeLib-Manager
Alter: 31
Status: offline
Beiträge: 4.451
angemeldet: 10.06.2002
Delphi 6 Professional

Vielleicht ist es ja nicht die 1. Form...
Falls die Form einen Namen hat (siehe Quelltext der Seite), kannst du die Form auch anhand seines Namens abschicken:

Delphi-Quellcode: zusammenfalten | markieren
function WB_SubmitFrom(WebBrowser: TWebBrowser; const FormName: string): IHTMLFormElement;
var
  forms: IHTMLElementCollection;
  Doc2: IHTMLDocument2;
begin
  if Assigned(WebBrowser.Document) and
    (Succeeded(WebBrowser.Document.QueryInterface(IHTMLDocument2, Doc2))) then
    begin
      forms := Doc2.Forms as IHTMLElementCollection;
      Result := forms.Item(FormName,'') as IHTMLFormElement;
      Result.Submit;
  end;
end;
nach oben nach unten
Benutzer-Profile anzeigen Private Nachricht senden
Markiere Begriffe im Text und klicke auf diesen Button, um nach zusätzlichen Informationen im Forum zu suchen. Markiere Begriffe im Text und klicke auf diesen Button, um nach zusätzlichen Informationen bei Google zu suchen. Markiere Begriffe im Text und klicke auf diesen Button, um nach zusätzlichen Informationen bei Wikipedia zu suchen.
 
 
plapperkeks #7|Beitrag #1128125Verfasst am: 07.02.2010, 21:26      Titel: Re: Formular über Delphi Anwendung ausfüllen Antworten mit Zitat
gerade reingestolpert
Status: offline
Beiträge: 5
angemeldet: 07.02.2010


Ah, danke es hatte den Form Wert 0 ^^
Nun hab ich eig. alles was ich wollte (An dieser Stelle: Vielen, vielen dank toms für deine Hilfe)

Allerdings würde ich jetzt gern wenn sich die person eingeloggt hatt, das dann automatisch ein bestimmter wert abgelesen wird, der Wert ist in diesem fall ein Datum und eine vierstellige Zahl!

Im Quellcode der Website sehe ich das der Wert einmal eingetragen ist in

<div class="boxx">
.....
....
....
<span class="in">Gültig: </span> <span class="green">09.12.2011 11:38</span> <br />
(dieser Wet ist logischerweise bei jedem Eingeloggtem Account unterschiedlich)
Allerdings stehen noch andere unwichtige Werte in der class "in". Wie lese ich diese Werte aus, bzw. mit welchem Delphi Befehl lass ich diese Werte in einem TLabel oder einer TListBox anzeigen nachdem jmd. eingeloggt wurde??

e: bei der Vorherigen Website von EWb.de würde ich dann vergleichsweise die anzahl der emails nehmen! kann mir jmd. helfen?

 Zuletzt bearbeitet von plapperkeks am 07.02.2010, 21:52, insgesamt 2-mal bearbeitet.
nach oben nach unten
Benutzer-Profile anzeigen Private Nachricht senden
Markiere Begriffe im Text und klicke auf diesen Button, um nach zusätzlichen Informationen im Forum zu suchen. Markiere Begriffe im Text und klicke auf diesen Button, um nach zusätzlichen Informationen bei Google zu suchen. Markiere Begriffe im Text und klicke auf diesen Button, um nach zusätzlichen Informationen bei Wikipedia zu suchen.
 
 
plapperkeks #8|Beitrag #1128374Verfasst am: 08.02.2010, 21:06      Titel: Re: Formular über Delphi Anwendung ausfüllen Antworten mit Zitat
gerade reingestolpert
Status: offline
Beiträge: 5
angemeldet: 07.02.2010


Keiner eine Idee? =/
nach oben nach unten
Benutzer-Profile anzeigen Private Nachricht senden
Markiere Begriffe im Text und klicke auf diesen Button, um nach zusätzlichen Informationen im Forum zu suchen. Markiere Begriffe im Text und klicke auf diesen Button, um nach zusätzlichen Informationen bei Google zu suchen. Markiere Begriffe im Text und klicke auf diesen Button, um nach zusätzlichen Informationen bei Wikipedia zu suchen.
 
 
toms #9|Beitrag #1128382Verfasst am: 08.02.2010, 21:19      Titel: Re: Formular über Delphi Anwendung ausfüllen Antworten mit Zitat
CodeLib-Manager
Alter: 31
Status: offline
Beiträge: 4.451
angemeldet: 10.06.2002
Delphi 6 Professional

plapperkeks hat folgendes geschrieben:
Keiner eine Idee? =/


Doch, Googeln oder in der DP suchen.
nach oben nach unten
Benutzer-Profile anzeigen Private Nachricht senden
Markiere Begriffe im Text und klicke auf diesen Button, um nach zusätzlichen Informationen im Forum zu suchen. Markiere Begriffe im Text und klicke auf diesen Button, um nach zusätzlichen Informationen bei Google zu suchen. Markiere Begriffe im Text und klicke auf diesen Button, um nach zusätzlichen Informationen bei Wikipedia zu suchen.
 
Anzeige-Optionen:    
 
Delphi-PRAXiS Forum - Übersicht -> Internet / LAN / ASP.NET Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1   [ 9 Beiträge ]  
 
  Neuen Beitrag schreiben Auf Beitrag antworten
als PDF-Datei herunterladenThema ausdrucken
 
   
Gehe zu:  
Du darfst keine Beiträge in dieses Forum schreiben.
Du darfst auf Beiträge in diesem Forum nicht antworten.
Du darfst Deine Beiträge in diesem Forum nicht bearbeiten.
Du darfst Deine Beiträge in diesem Forum nicht löschen.
Du darfst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten.
Du kannst Dateien in diesem Forum nicht herunterladen.


Impressum / Kontakt
Allgemeine Geschäftsbedingungen
Verhaltenskodex & FAQ

Delphi-PRAXiS :: Das Forum für Delphi-Programmierer
Das Experten Forum für Delphi ProgrammiererHilfe für Borland Delphi gibts es hier im ForumDelphi Quelltexte und Source CodesDelphi-PRAXiS :: Das Forum für DelphiWindows APIInternet und NetzwerkeVCL und Datenbanken
 

Delphi-PRAXiS V.2005 III
© 2002-2010 by Daniel R. Wolf
powered by phpBB © phpBB Group

Impressum / Kontakt Allgemeine Geschäftsbedingungen