|
You last visited: Today at 03:52
Advertisement
C++ mit SQL verbinden?
Discussion on C++ mit SQL verbinden? within the C/C++ forum part of the Coders Den category.
02/17/2011, 17:55
|
#16
|
elite*gold: 7110
Join Date: Jun 2009
Posts: 28,902
Received Thanks: 25,407
|
Nein, du kannst eine Variable nicht 3.4 nennen.
Eine Funktion GETURLPAGE ist mir nicht bekannt und übrigens, warum nutzt du sprintf, um eine statische URL in den Buffer zu kopieren?
Schreib doch gleich:
Code:
char URL_V[] = "hier die url";
|
|
|
02/17/2011, 18:00
|
#17
|
elite*gold: 21
Join Date: Nov 2010
Posts: 2,062
Received Thanks: 2,320
|
Hier die GETURLPAGE Funktion...
Code:
int GETURLPAGE(char *link, char *buffer, int maxsize)
{
HINTERNET hSession;
HINTERNET hURL;
DWORD dwBYTEsRead;
int ok;
ok=0;
buffer[0]=0;
hSession = InternetOpen( // Make internet connection.
"Microsoft Internet Explorer", // agent
INTERNET_OPEN_TYPE_PRECONFIG, // access
NULL, NULL, 0); // defaults
if (hSession) {
hURL = InternetOpenUrl( // Make connection to desired page.
hSession, // session handle
link, // URL to access
NULL, 0, 0, 0); // defaults
if (hURL) {
// Read page into memory buffer.
InternetReadFile(
hURL, // handle to URL
(LPSTR)buffer, // pointer to buffer
(DWORD)maxsize, // size of buffer
&dwBYTEsRead); // pointer to var to hold return value
// Close down connections.
InternetCloseHandle(hURL);
buffer[dwBYTEsRead]=0; // end string
ok=(int)dwBYTEsRead;
}
InternetCloseHandle(hSession);
}
return ok;
}
Ok ausser das mit sprintf hast du mir nicht viel geholfen xD
Also wie die Funktion ist, würde sie dann die Version abfragen?
|
|
|
02/17/2011, 19:06
|
#18
|
elite*gold: 7110
Join Date: Jun 2009
Posts: 28,902
Received Thanks: 25,407
|
Quote:
Originally Posted by ToxicLibrary™
Ok ausser das mit sprintf hast du mir nicht viel geholfen xD
|
woran das wohl liegen mag...
Ich habe außerdem schonmal deinen Code dazu gebracht, dass er kompiliert werden kann 
Quote:
|
Also wie die Funktion ist, würde sie dann die Version abfragen?
|
Die Funktion CheckVersion? Ja, sie sollte funktionieren.
|
|
|
02/17/2011, 19:15
|
#19
|
elite*gold: 21
Join Date: Nov 2010
Posts: 2,062
Received Thanks: 2,320
|
Aber was mir fehlt ist das er vergleicht... Dort steht nirgendwo was er für einen Text checken soll.. 
...Stimmt hast mir mal geholfen xD.. war i-was mit L i-wo davor setzen oder? ^^
|
|
|
02/18/2011, 10:22
|
#20
|
elite*gold: 7110
Join Date: Jun 2009
Posts: 28,902
Received Thanks: 25,407
|
Du würdest dann einfach schreiben:
Code:
bool IsOwnVersion = false;
bool VersionChecked = false;
char OwnVersion[] = "3.4";
void CheckVersion()
{
if (!VersionChecked)
{
sprintf(szURL_V, "httü://TEST.DE/versionTEST.txt");
if(GETURLPAGE(szURL_V, VersionResult, 256) != 0)
{
if(strcmp(VersionResult, OwnVersion) == 0)
IsOwnVersion = true;
}
else
{
ExitProcess(0);
}
VersionChecked = true;
}
}
Wenn du in deiner Version.txt nur die Version und nichts anderes drin hast, sollte es so klappen.
Du vergleichst eben den Text mit OwnVersion und falls er gleich ist, wird IsOwnVersion (vorher 3.4) auf true gesetzt.
Und wenn das true ist, kannst du machen, was auch immer du machen willst, wenn die Versionen gleich sind.
Ich würde aber lieber die globale Variable IsOwnVersion entfernen und die CheckVersion zu bool machen. Dann gibst du in dem Fall true zurück, anstatt eine globale Variable auf true zu setzen, ist ein besserer Stil.
Nein, das war nicht das mit dem L, man kann Variablen nicht "3.4" nennen!
|
|
|
02/18/2011, 13:18
|
#21
|
elite*gold: 21
Join Date: Nov 2010
Posts: 2,062
Received Thanks: 2,320
|
Alles perfekt und richtig...
Was zum Teufel sollen diese 2 Fehler?
Code:
1>cBase.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""public: int __thiscall Checker::CheckActive(void)" (?CheckActive@Checker@@QAEHXZ)".
1>C:\Users\Toxic\Desktop\Toxic VIP\Release\Toxic.dll : fatal error LNK1120: 1 nicht aufgelöste externe Verweise.
Die Class:
Code:
#ifndef _ACTIVECHECKER_H
#define _ACTIVECHECKER_H
#include <windows.h>
#include <wininet.h>
#include <winsock.h>
#include <urlmon.h>
#pragma comment(lib, "wininet.lib")
#pragma comment(lib, "wsock32.lib")
#pragma comment(lib, "urlmon.lib")
class Checker
{
public:
BOOL CheckActive();
INT GETURLPAGE();
private:
CHAR * GetDirectoryFile(char *filename);
};
#endif
Die Funktionen:
Code:
#include <windows.h>
#include <stdio.h>
#include <string.h>
#include <fstream>
#include <stdio.h>
#include <time.h>
#include "activechecker.h"
int Checker::GETURLPAGE(char *link, char *buffer, int maxsize)
{
HINTERNET hSession;
HINTERNET hURL;
DWORD dwBYTEsRead;
int ok;
ok=0;
buffer[0]=0;
hSession = InternetOpen( // Make internet connection.
"Microsoft Internet Explorer", // agent
INTERNET_OPEN_TYPE_PRECONFIG, // access
NULL, NULL, 0); // defaults
if (hSession) {
hURL = InternetOpenUrl( // Make connection to desired page.
hSession, // session handle
link, // URL to access
NULL, 0, 0, 0); // defaults
if (hURL) {
// Read page into memory buffer.
InternetReadFile(
hURL, // handle to URL
(LPSTR)buffer, // pointer to buffer
(DWORD)maxsize, // size of buffer
&dwBYTEsRead); // pointer to var to hold return value
// Close down connections.
InternetCloseHandle(hURL);
buffer[dwBYTEsRead]=0; // end string
ok=(int)dwBYTEsRead;
}
InternetCloseHandle(hSession);
}
return ok;
}
BOOL Checker::CheckActive()
{
char OwnVersion[] = "3.4";
char szURL_V[256];
char VersionResult[256];
sprintf(szURL_V, "http://*ZENSIERT*.de/version/version.txt");
if(GETURLPAGE(szURL_V, VersionResult, 256) != 0)
{
if(strcmp(VersionResult, OwnVersion) == 0);
}
else
{
ExitProcess(0);
}
}
CHAR * Checker::GetDirectoryFile(char *filename){
static char path[320];
strcpy(path, dlldir);
strcat(path, filename);
return path;
}
Der Fehler ist ekelhaft, angeblich nicht aufgelöste Verweise O.o
|
|
|
 |
|
Similar Threads
|
[HP] mit [DB] verbinden , wie?
01/20/2011 - Metin2 Private Server - 3 Replies
Guten Morgen Liebe Com
Ich möchte meine HP mit der Db verbinden .
Momentan steht auf der Hp Seite :Verbindung zur Datenbank fehlgeschlagen: Abbruch
Was muss ich tun?
Danke
|
PC mit TV verbinden x)
11/03/2010 - Technical Support - 13 Replies
Wie geht das bzw. welche Programme/Kabel brauche ich dafür?
Ich weiß, Google, aber 90% von diesen Spezialbezeichnungen versteh ich nicht, PC-Depp unso xD
|
mit mc.exe verbinden?
08/12/2010 - Metin2 Private Server - 1 Replies
Heyho,
ich habe ein Problem. Ich spiele zurzeit mit dem Neonblue-Client , aber kann NUR mit dem Multistarter bzw. diesem Surafenster das spiel starten.
Wenn ich auf mc.exe klicke und sich Metin öffnet und ich mich einloggen will, kommt direkt Fehler beim Verbinden.
Einige verbinden nur mit der mc.exe, wie macht man das?
ps: ip ist in mc.txt drin
|
UGC verbinden
07/03/2010 - WarRock - 5 Replies
HI ich hab 2 mal 10 ugc und möchte mir jetzt so ein 19.95$ packet holen. Aber wie kann ich die beiden ugc miteinander verbinden?
|
PS2 mit PC verbinden?
03/05/2007 - Consoles - 2 Replies
Da meine alte PS2 flöten gegangen ist hab ich mit am WE ne neue im Mediamarkt gekauft, als ich hintendraufschaute, sah ich dass sie auch nen LAN anschluss hat, jetz wollte ich wissen ob es möglich ist die PS2 mit dem PC zu verbinden sodass man Spiele von der Festplatte aus starten kann, ist sowas in der art möglich?
MFG
DarkVenom
|
All times are GMT +1. The time now is 03:52.
|
|