AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

TWebBrowser

Ein Thema von The Madcat · begonnen am 24. Aug 2006 · letzter Beitrag vom 7. Sep 2006
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von The Madcat
The Madcat

Registriert seit: 19. Jun 2006
Ort: Sonsbeck
27 Beiträge
 
#1

TWebBrowser

  Alt 24. Aug 2006, 20:42
Ich hab folgendes Problem:

Ich wollte mir einen autologin für eine hp basteln und hab dafür folgenden code benutzt:

Delphi-Quellcode:
var
  lspieler, lpasswort, wert1, wert2 : string;
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
  WebBrowser1.Navigate('www.blabla.de/login.php');
  ...
end;
Delphi-Quellcode:
procedure TForm1.WebBrowser1DocumentComplete(Sender: TObject;
  const pDisp: IDispatch; var URL: olevariant);
begin
  Form1.Login;
end;
Delphi-Quellcode:
procedure TForm1.Login;
begin
  try
    WebBrowser1.OleObject.document.Forms.item('name').elements.item(wert1).Value := lspieler;
    WebBrowser1.OleObject.document.Forms.item('name').elements.item(wert2).Value := lpasswort;
    WebBrowser1.OleObject.Document.Forms.Item('name').Submit('login');
  except
    ShowMessage('Fehler beim Login');
  end;
end;
Zuerst habe ich anstatt der Strings wert1 und wert2 die values genau wie beim Form eingegeben und es klappte wunderbar ... bis ich bemerkt hab, dass sich die werte jeden tag ändern ... die mögen wohl kein autologin ... da ich aber der meinung bin, das ein autologin nichts böses ist und das programm auch nicht wirklich was anderes machen sollte hab ich vorher über eine prozedure mit sehr vielen schleifen (die ich an dieser stelle niemanden zumuten möchte, da die werte die sie ausspuckt stimmen) die beiden values aus dem html-text ausgelesen und in wert1 und wert2 gespeichert ... seitdem kommt diese nerfige accesviolation und ich hab keinen schimmer warum ...

[schnipp]...[schnapp]
Seitdem hab ich nur noch einen gedanken ... -->

Bitte helft mir
Erfahrung ist eine nützliche Sache. Leider macht man sie immer erst kurz nachdem man sie brauchte...

Geändert von TBx (13. Feb 2013 um 15:08 Uhr) Grund: Auf Wunsch des AUtors Link entfernt
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: TWebBrowser

  Alt 24. Aug 2006, 20:47
Zitat:
seitdem kommt diese nerfige accesviolation und ich hab keinen schimmer warum ...
Was für eine?
Zitat:
die beiden values aus dem html-text ausgelesen und in wert1 und wert2 gespeichert ...
Villeicht könntest du das mal zeigen
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von The Madcat
The Madcat

Registriert seit: 19. Jun 2006
Ort: Sonsbeck
27 Beiträge
 
#3

Re: TWebBrowser

  Alt 24. Aug 2006, 21:04
Zitat:
Zitat:
seitdem kommt diese nerfige accesviolation und ich hab keinen schimmer warum ...
Was für eine?
Die von dem Screenshot in meinem thread

Zitat:
Zitat:
die beiden values aus dem html-text ausgelesen und in wert1 und wert2 gespeichert ...
Villeicht könntest du das mal zeigen
Ich bin mir sicher, dass die werte richtig sind, ich sie zum einem mit bloßem auge überprüft hab und weil ich zum test

if (wert1 = 'der wert aus der html') and (wert1 = 'der wert aus der html') then login; eingebaut hab und er es genommen hat.
Erfahrung ist eine nützliche Sache. Leider macht man sie immer erst kurz nachdem man sie brauchte...
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: TWebBrowser

  Alt 24. Aug 2006, 21:17
Zitat:
Die von dem Screenshot in meinem thread
Welcher Screenshot? Hänge ihn mal an.
Was liest du wie aus? Ohne Code kann dir hier niemand helfen!
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von The Madcat
The Madcat

Registriert seit: 19. Jun 2006
Ort: Sonsbeck
27 Beiträge
 
#5

Re: TWebBrowser

  Alt 24. Aug 2006, 21:29
den code der nicht funktioniert hab ich gepostet. Die Fehlermeldung kommt immer

Delphi-Quellcode:
procedure TForm1.Login;
begin
  try
--> WebBrowser1.OleObject.document.Forms.item('name').elements.item(wert1).Value := lspieler; <--
    WebBrowser1.OleObject.document.Forms.item('name').elements.item(wert2).Value := lpasswort;
    WebBrowser1.OleObject.Document.Forms.Item('name').Submit('login');
  except
    ShowMessage('Fehler beim Login');
  end;
end;
an der mit --><-- gekennzeichneten Stelle.

Screenshot ist nicht angehängt sondern mit [img][/img] in meinen ersten thread eingebaut.
Hier die URL, falls er nicht angezeigt wird

die andere procedure ist im prinzip ne große schleife, die mit copy() die teile aus nem memo, in das ist den html code gelade hab, rausholt, Die funktioniert wirklich, soviel traue ich mir noch zu^^
Erfahrung ist eine nützliche Sache. Leider macht man sie immer erst kurz nachdem man sie brauchte...
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: TWebBrowser

  Alt 24. Aug 2006, 21:34
Read from Adress 00000000... deutet meißtens darauf hin, daß auf eine nicht initialisierte Objektvariable zugegriffen wird.
Welche Werte haben Wert1 und Wert2?
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von The Madcat
The Madcat

Registriert seit: 19. Jun 2006
Ort: Sonsbeck
27 Beiträge
 
#7

Re: TWebBrowser

  Alt 24. Aug 2006, 21:38
Das kommt darauf an, was aus dem htmlcode ausgelesen wurde.

Das ist ja, was ich nicht verstehe, ich hab bei meinem 1. versuch für den autoeinlogger die beiden werte über
WebBrowser1.OleObject.document.Forms.item('name').elements.item('blabla').Value := lspieler; eingegeben und er hat sie ohne kommentar mit der gleichen Loginprocedure genommen und die seite ausgeführt. Dann hab ich bemerkt, dass sich die werte ändern und hab die aus der html ausgelesen, um drauf zugreifen zu können und die beiden statischen werte durch meine wert1 und wert2 ausgetauscht. Danach kam die accessviolation. der witz ist aber, dass wenn ich die beiden werte ausgebe, kopiere und wieder statisch eingebe der kein problem mehr damit hat.
Erfahrung ist eine nützliche Sache. Leider macht man sie immer erst kurz nachdem man sie brauchte...
  Mit Zitat antworten Zitat
Benutzerbild von The Madcat
The Madcat

Registriert seit: 19. Jun 2006
Ort: Sonsbeck
27 Beiträge
 
#8

Re: TWebBrowser

  Alt 24. Aug 2006, 21:43
Darüber lese ich die beiden werte aus

Delphi-Quellcode:
procedure TForm1.LocateValue;
var
  c1, c2, c3 : integer;
begin
  for c1 := 0 to memo2.Lines.Count - 1 do
  begin
    if copy(memo2.Lines.Strings[c1], 0, 14) = '...then
    begin
      for c2 := c1 to memo2.Lines.Count do
      begin
        if copy(memo2.Lines.Strings[c2], 0, 24) = '...then
        begin
          c3 := 68;
          if copy(memo2.Lines.Strings[c2], 63, 6) = '...then
          begin
            c3 := 69;
            while (memo2.Lines.Strings[c2][c3] <> '=') or
              (c3 = length(memo2.Lines.Strings[c2]) - 1) do
              Inc(c3);
            c3 := c3 + 1;
          end;
          while (memo2.Lines.Strings[c2][c3] <> '>') or
            (c3 = length(memo2.Lines.Strings[c2]) - 1) do
          begin
            wert1 := wert1 + memo2.Lines.Strings[c2][c3];
            Inc(c3);
          end;
        end;
      end;
    end;

    if copy(memo2.Lines.Strings[c1], 0, 14) = '...then
    begin
      for c2 := c1 to memo2.Lines.Count do
      begin
        if copy(memo2.Lines.Strings[c2], 0, 28) = '...then
        begin
          c3 := 95;
          while (memo2.Lines.Strings[c2][c3] <> '>') or
            (c3 = length(memo2.Lines.Strings[c2]) - 1) do
          begin
            wert2 := wert2 + memo2.Lines.Strings[c2][c3];
            Inc(c3);
          end;
        end;
      end;
    end;
  end;
  showmessage(wert1+','+wert2);
end;
Ich gebe zu, es ist weder elegant noch einfach, aber es tut seinen dienst.
Erfahrung ist eine nützliche Sache. Leider macht man sie immer erst kurz nachdem man sie brauchte...
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#9

Re: TWebBrowser

  Alt 24. Aug 2006, 21:44
Hast du schon mal versucht die Variablen anders zu deklarieren (z.B. OleVariant)
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von The Madcat
The Madcat

Registriert seit: 19. Jun 2006
Ort: Sonsbeck
27 Beiträge
 
#10

Re: TWebBrowser

  Alt 24. Aug 2006, 21:45
moment, probier ich gleich mal aus^^
Erfahrung ist eine nützliche Sache. Leider macht man sie immer erst kurz nachdem man sie brauchte...
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 18:21 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