Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Bestenliste im Net (https://www.delphipraxis.net/30716-bestenliste-im-net.html)

ferby 28. Sep 2004 14:12


Bestenliste im Net
 
Hallo,

Ich habe ein Spiel gemacht und möchte das es möglich ist das der Highscore ins Internet übertragen wird, aber so das der Anwender nichts davon merkt. Es soll einfach eine bestimmte PHP Datei aufgerufen werden.
So wie es bei den Delphi Spiel: SwapIt! Delphi-PRAXiS Member Edition gemacht wurde, da wird auch der Highscore übertragen ohne das man was merkt.

Wie mach ich das?

Dax 28. Sep 2004 14:13

Re: Bestenliste im Net
 
Entweder über eine .php-Datei oder über direkten Zugriff auf die DBs.

ferby 28. Sep 2004 14:40

Re: Bestenliste im Net
 
Hallo,

Ich verstehe weder das eine noch das andere.
Kann ich eine php Datei in Delphi laufen lasse?
Was ist DBs?

Kannst du mir das ein wenig genauer erklären, ich habe noch nie mit Delphi in Verbindung mit dem INternet gearbeitet.

Dax 28. Sep 2004 14:42

Re: Bestenliste im Net
 
Ich meinte das so:
Rufe doch per TIdHTTP oder einer anderen HTTP-Komponente eine PHP-Datei auf deinem Server mit dem Usernamen, Spielstand, Punktestand, ... als Parameter auf.
Oder du nimmst direkt Zugriff auf die Datanbanken des Servers und schreibst den Speilstand in eine Tabelle. Wie das genau geht, kannst du im Datanbanken.Forum nachlesen oder fragen. Ehrlich gesagt, ich weiss es selbst nicht genau.

S2B 28. Sep 2004 14:43

Re: Bestenliste im Net
 
Die Daten müssen ja irgendwie im I-Net gespeichert werden. Üblicherweise wird sowas in einer Datenbank (DB) gespeichert. Du könntest direkt zu dieser verbinden und da deine Daten reinschreiben bzw. nachher auch die Liste auslesen! :wink:

Akut-Programming 28. Sep 2004 14:47

Re: Bestenliste im Net
 
Zitat:

Zitat von ferby
So wie es bei den Delphi Spiel: SwapIt! Delphi-PRAXiS Member Edition gemacht wurde, da wird auch der Highscore übertragen ohne das man was merkt.

Doch doch, man wird vorher gefragt, ob man die Daten zur DP senden will. Einfach so passiert da nichts! Bei mir würden nicht lange Anwendungen in Verwendung sein, wenn jedesmal meine Firewall meint, das die Anwendung ins Internet will, ohne das mir klar ist warum. - Also wenn solltest du vorher schon fragen, ob der User damit einverstanden ist, das eine Internetverbindung aufgebaut wird.

Gruß,
Sascha

ferby 28. Sep 2004 14:48

Re: Bestenliste im Net
 
Hallo,

Ich frage schon den User ob er eine Verbindung aufbauen will, aber bei dem Spiel geht ja kein Internet fenster auf, wenn ich aber eine PHP Datei aufrufe dann schon, also versteh ich nicht wie ihr das meint, das nichts aufgeht???

Akut-Programming 28. Sep 2004 14:53

Re: Bestenliste im Net
 
:gruebel: Du scheinst mir das mit ShellExecute machen zu wollen. - Da ist es klar, das sich n Browserfenster öffnet. Machs doch so wies Dax schon sagte, nimm dir ne HTTP Komponente, der du die Adresse zu deiner .php mit ihren Parametern übergibst.

Zitat:

Zitat von Dax
Rufe doch per TIdHTTP oder einer anderen HTTP-Komponente eine PHP-Datei auf deinem Server mit dem Usernamen, Spielstand, Punktestand, ... als Parameter auf.

Sascha

ferby 28. Sep 2004 14:55

Re: Bestenliste im Net
 
Hallo,

Wo finde ich den HTTP Komponente?
Ich habe Delphi 7 Personal und glaube den gibt es bei mir nicht, oder doch?
Wenn nicht kann ich den wo runterladen?

S2B 28. Sep 2004 14:57

Re: Bestenliste im Net
 
klick Die Indy's! :wink:

Dax 28. Sep 2004 14:58

Re: Bestenliste im Net
 
TIdHTTP ist ein Teil der Indy-Komponenten, zu finden unter dieser Adresse.

Akut-Programming 28. Sep 2004 14:59

Re: Bestenliste im Net
 
Zitat:

Zitat von ferby
Hallo,

Wo finde ich den HTTP Komponente?
Ich habe Delphi 7 Personal und glaube den gibt es bei mir nicht, oder doch?
Wenn nicht kann ich den wo runterladen?

Hmm, :gruebel: ich hab D7 Enterprise, da sind die Indy - Komponenten dabei. Du kannst Sie aber auch runterladen...

Gruß,
Sascha

ferby 28. Sep 2004 15:07

Re: Bestenliste im Net
 
Hallo,

Werde mal herumprobieren, melde mich wieder falls ich mich wo nicht auskenne, danke daweil.


Ferby

ferby 28. Sep 2004 15:22

Re: Bestenliste im Net
 
Hi,

Ich habe jetzt Indy 10 für Delphi 7 installiert und habe den HTTP Komponent gefunden.
Gibt es eine Seite wo erklärt wird wie dieser Komponent funktoniert?
Oder kann mir jemand sagen wie ich genau damit mein Problemm löse?

fkerber 28. Sep 2004 15:59

Re: Bestenliste im Net
 
Hi!

Da hätten wir mal:
http://www.delphi-source.de/tutorials/indy/

und natürlich noch

Hier im Forum suchenidhttp

Ciao Frederic

ferby 28. Sep 2004 16:11

Re: Bestenliste im Net
 
Hallo,


Danke für den Link, werde mich mal durch alles durchstöbern.

ferby 28. Sep 2004 17:20

Re: Bestenliste im Net
 
Hallo,

Ich verstehe jetzt wie ich mit http Dateien mit Delphi heurnter lade:

http://www.delphi-source.de/tutorials/indy/?page=5

aber wie lade ich jetzt dateien hinauf?
Bzw wie kann ich mit http eine php datei aufrufen und bestimmte parameter übergeben?

fkerber 28. Sep 2004 17:24

Re: Bestenliste im Net
 
Hi!

Du musst ja nichts raufladen.
Gesetzt den Fall du hast ne PHP Datei, dass die Paramter user und score erwartet und diese in ne DB einträgt, dann machst du einfach:

Delphi-Quellcode:
IdHttp1.get('www.deinserver.de/score.php?user='+user+'&score='+score);
Sollte so gehen.

Ciao Frederic

sCrAPt 28. Sep 2004 17:27

Re: Bestenliste im Net
 
Ausser er ladet gleich über das eintragen die Highscore runter...
Delphi-Quellcode:
var
  s: string;
begin
  s := IdHttp1.get('www.deinserver.de/score.php?user='+user+'&score='+score);
s ist dann die PHP-Datei :stupid:

http://og4all.de/s.jpg, sCrAPt

ferby 28. Sep 2004 17:34

Re: Bestenliste im Net
 
Hallo,

Jetzt versteh ich wie das hin haut....
mit delphi klapt es jetzt, so jetzt muss ich nur noch ein php programm schreiben das alles verarbeitet..... das wird ne arbeit :-(

sCrAPt 28. Sep 2004 18:39

Re: Bestenliste im Net
 
Um zusätzlich noch für Sicherheit zu sorgen solltest Du aus Name und Punkte einen Hier im Forum suchenHashstring generieren (am besten einen eigenen/unbekannten Algo dazu benutzen) und dem Script mit übergeben welches den Hashstring prüft. So kann man nicht einfach via Paketsniffer die Url abfangen und beliebig viele Eintragungen machen. Das ganze läuft am Sichersten wenn du eine KickHighscore machst (keine doppelten Punktezahlen, nur das Ersetzen des Namens bei gleicher Punktezahl)

****meow****, sCrAPt

Wuaegner 26. Jul 2005 14:10

Re: Bestenliste im Net
 
Delphi-Quellcode:
IdHttp1.get('www.deinserver.de/score.php?s='+stringderleerzeichenenthält);
Mein string s sieht so aus: 0000034 Mein Name
Hier übergibt es mit nur die Zahl, den Namen lässt es weg.
Gebe ich in den Browser ein: www.deinserver.de/score.php?s=0000034 Mein Name , dann macht fült er die Leerzeichen mit %20 aus.
Dann habe ich den Aufruf aus Delphi so versucht:
Delphi-Quellcode:
IdHttp1.get('www.deinserver.de/score.php?s='+name+'%20%20%20%20%20'+punkte);
Hier schneidet er aber wieder den Namen ab. Wie geht das?

Wuaegner 26. Jul 2005 21:39

Re: Bestenliste im Net
 
Hab mit IdHTTP.Post gelöst:
Delphi-Quellcode:
s:= Highscore.Strings[0]; // erster Platz

 s:= StringReplace(s,' ','%20',[rfReplaceAll,rfIgnoreCase]); // Leerzeichen mit %20 ersetzen

 // name + punke an PHP Script senden
 IdHTTP1.Post('http://meindomain.de/highscore.php?s='+s , ParamData, PostDataStream);


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:24 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz