Autor Beitrag
f3Lix
Hält's aus hier
Beiträge: 5



BeitragVerfasst: Mi 30.03.05 01:35 
Also, ich würd gerne den Quelltext einer Datei erstma in einem Memo haben, später mach ich damit dann mehr, erstma haben.
Das Problem: an die datei kommt man nur, wenn man eingeloggt ist. Es handelt sich um ein OnlineBrowserGame. Ich will da später Punktstände von Spielern auslesen, dazu brauch ich den Quelltext von bestimmten Seiten der Spieler:
amalia.maedhros.com/...hp?username=Spieler1
amalia.maedhros.com/...hp?username=Spieler2
usw...
Die Dateien könnte ich ja mit folgendem Code runterladen und als txt speichern, das einlesen wäre dann leicht.
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
var
quelle: string;
ziel: string;
begin
quelle := 'http://amalia.maedhros.com/user/index.php?username=Spieler1';
ziel := 'c:\spieler1.txt';
URLDownloadToFile(nil, PChar(Quelle), PChar(Ziel), 0nil);
end;

Aber wie gesagt, kommt man an die Seiten nur, wenn man eingeloggt ist bei dem Spiel. Also wie mach ich das nun noch? (Es ist egal, als welcher Spieler man eingeloggt is, man kommt dann an alle Datein ran)
Also einmal einloggen, dann alle nacheinander auslesen.
matze
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 4613
Erhaltene Danke: 24

XP home, prof
Delphi 2009 Prof,
BeitragVerfasst: Mi 30.03.05 10:12 
mit den Suche in: Delphi-Forum, Delphi-Library INDY kompos geht sowas.

_________________
In the beginning was the word.
And the word was content-type: text/plain.
WeBsPaCe
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 2322
Erhaltene Danke: 1

FireFox 3, Internet Explorer 6 SP1
D1, D3Prof, D6Pers, D7Pers+Indy, VisualStudio Express
BeitragVerfasst: Mi 30.03.05 10:58 
Hmm. Man könnte einfach die TWebBrowser-Kompo nehmen und sich mit der auf dem Formular einloggen. Such einfach mal im Forum nach Suche in: Delphi-Forum, Delphi-Library WEBBROWSER SUBMIT. ;)
f3Lix Threadstarter
Hält's aus hier
Beiträge: 5



BeitragVerfasst: Mi 30.03.05 13:05 
alles klar, hab ich hinbekommen.. jedoch nur, wenn ich das anmeldeformular selbst ausfülle... denn ich weiss nich, wie ich die sicherheitsfrage knacke.. wie checke ich da nen radiobutton?

amalia.maedhros.com/login.php

Die anderen hab ich nun so gelöst:
ausblenden Delphi-Quelltext
1:
2:
WebBrowser1.OleObject.Document.forms.Item(0).Item('nick').Value := 'Name';
WebBrowser1.OleObject.Document.forms.Item(0).Item('password').Value := 'Passwort';

Aber die Frage krieg ich so nicht:
ausblenden Delphi-Quelltext
1:
WebBrowser1.OleObject.Document.forms.Item(0).Item('antwort').Value := '3';					


einbauen, wann er welche antwort nehmen soll, krieg ich dann schon hin, wenn ich wüsste, wie man überhaupt checkt.
f3Lix Threadstarter
Hält's aus hier
Beiträge: 5



BeitragVerfasst: Mi 30.03.05 13:32 
www.swissdelphicente...showcode.php?id=2108

Da steht was, was ich auch hier im Forum gefunden habe. Nur Leider krieg ich den selben Fehler, wie derjenige, der da nen Kommentar geschrieben hat:

www.swissdelphicente...2108&detail=1665

'Interface not suported.'


Wenns nich so geht, kann man dann dem Browser sagen, er soll an ne bestimmte Stelle springen? dann mach ich das fenster so klein, dass genau die frage und antwort drin is und er jumpt dahin ich wähle antwort und drücke submit
The_Alien
Hält's aus hier
Beiträge: 4



BeitragVerfasst: Di 06.11.07 15:14 
Anstelle das Formular auszufüllen würde ich einfach die URL mit den entsprechenden Post Daten aufrufen. Danach kannst du den Webbrowser auf die Zielseite steuern und bei bedarf dann den Quelltext auslesen.
The_Alien
Hält's aus hier
Beiträge: 4



BeitragVerfasst: Do 08.11.07 01:35 
Habe da mal was rausgesucht - evtl hilft es dir ja:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
procedure TForm1.Button1Click(Sender: TObject);
var
  i: Integer;
  EncodedStr: string;
  Header: OleVariant;
  Post: OleVariant;
begin
  // Make the post string URL encoded
  EncodedStr := 'name=SwissDelphiCenter.ch&text=Test Guestbook entry';

  // The post must be an array. But without null terminator (-1)
  Post := VarArrayCreate([0, Length(EncodedStr) - 1], varByte);

  // Put Post in array
  for I := 1 to Length(EncodedStr) do
    Post[I - 1] := Ord(EncodedStr[I]);

  Header := 'Content-Type: application/x-www-form-urlencoded' + #10#13;

  WebBrowser1.Navigate('http://www.swissdelphicenter.ch/en/addguestsent.php', EmptyParam,
    EmptyParam, Post, Header);
end;


Moderiert von user profile iconNarses: Code- durch Delphi-Tags ersetzt