tutorials.de Buch-Aktion 05/2012
  • Snippet: Highscore online (lesen und schreiben) / Version online prüfen

    Hallo!
    Ich habe einmal ein kleines Script gebastelt um Highscore über C++ von einem PHP Script auszulesen, bzw einzuschreiben...
    Ich dachte es könnte für einige Leute nützlich sein, weshalb ich es gepostet habe
    Hier mal das Snippet zum auslesen einer Website(Website sollte nicht zu groß sein, da auch strings nicht alles aushalten )
    Code cpp:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    
    #include <Windows.h>
    #include <WinInet.h>
    #include <string>
    #include <conio.h>
    #pragma comment(lib, "wininet")
    using namespace std;
    string OpenInternetFile (LPCSTR address) {
    HINTERNET hInternet, hFile;
        char buffer[255]; // Für größere Sites kann man auch: char buffer[ 1024 * 1024 ]; verwenden ;) Danke an OnlyFoo
        DWORD size;
        hInternet = InternetOpen(NULL, INTERNET_OPEN_TYPE_PRECONFIG, NULL, NULL, 0);
        if (!hInternet) {
        return "0";
        }
        hFile = InternetOpenUrl(hInternet, address, NULL, 0, INTERNET_FLAG_RELOAD, 0);
        if (!hFile) {
        return "0";
        }
        InternetReadFile(hFile, &buffer, 255, &size);
        buffer[size] = '\0';
    string sbuffer;
        for (int i = 0; i < (int)size; i++) {
        sbuffer += buffer[i];
        }
        CloseHandle(hFile);
        CloseHandle(hInternet);
    return sbuffer;
    }
    So nun müsst ihr nurnoch das PHP-File öffnen, per:
    Code cpp:
    1
    2
    3
    
    string user = "Daniel";
    string highscore = OpenInternetFile("http://127.0.0.1/cpp/loadhighscore.php?user="+user);
    cout << "Your Highscore: " << highscore;
    Den Highscore speichern könnt ihr genauso:
    Code cpp:
    1
    2
    3
    4
    
    string user = "Daniel";
    int score = 12345;
    string highscore = OpenInternetFile("http://127.0.0.1/cpp/savehighscore.php?user="+user+"&high="+score);
    cout << "Highscore saved: " << highscore;
    Damit könnt ihr übrigens auch die Version eures Programms auslesen...
    Etwa so:
    Code cpp:
    1
    2
    3
    4
    
    int currentversion = 1.01;
    string newestversion = OpenInternetFile("http://127.0.0.1/cpp/version.php?v="+currentversion);
    cout << "Current Version: " << currentversion; // Zb: 1.01
    cout << "Latest Version: " << newestversion; // Zb: 1.21
    Hoffe so ein Snippet gibt es noch nicht.. Habe die Suche benutzt, jedoch nichts gefunden...
    Noch Fragen, Wünsche, Anregungen, Beschwerden?
    Hoffe ihr könnt das Snippet gebrauchen
    EDIT: So habe das Script nocheinmal ausgebessert und verbessert! Danke für eure Kritik, das Script müsste jetzt klappen
    LG
    Daniel0108
    Sublig bedankt sich. 


    Kommentare 2 Kommentare
    1. Avatar von derdumme99
      derdumme99 -
      wenn ich das programm so starte, dann wird es unterbrochen. dann wird angeizeigt, dass ein fehler in der funktion "CloseHandle" ist. wenn ich das wegmache, dann geht es ******
    1. Avatar von sheel
      sheel -
      Hi

      welcher Fehler wird angezeigt?
      In welcher Zeile tritt der auf?

      Im Allgemeinen ist es eine schlechte Idee, einfach was zu löschen...
      Auch, wenn es scheinbar geht.
    Kommentare Kommentar schreiben

    Klicke hier, um dich anzumelden

    Wie nennt man ein vierbeiniges Tier, das bellen kann?