Hier ein SQLite Test...
Wenn das jemand gebrauchen kann bitte melden ich machs dann weiter.
(http://trucidare.funpic.de/SQL.JPG)
http://trucidare.funpic.de/SQL.JPG
Also von meiner Seite würde auf jeden Fall Interesse bestehen... =)
Kranker Hund ! :D
nee langeweile ;)
coole Sache!
Also mir gefällt die Idee! *ggg*
Damit ich das nachher in ne tolle DLL packen kann...
Magst du bitte noch diesen Fehler beheben?
compiling:
C:/DOKUME~1/Tamm/LOKALE~1/Temp/glbasic/gpc_temp1.cpp: In function `int DllMain(HINSTANCE__*, long unsigned int, void*)':
C:/DOKUME~1/Tamm/LOKALE~1/Temp/glbasic/gpc_temp1.cpp:75: error: `__GLB_Defaults' was not declared in this scope
*** FATAL ERROR - Bitte die Compiler-Ausgabe ins Forum kopieren
Hehehe.
DLL muss ich nochmal gucken. Da passt was nicht...
das wird nen richtig geiles projekt ^^
jedoch brauch ich dich noch bei der ausgabe gernot.
die ergebnisse der anfragen gibt sqlite an eine callback funktion weiter... jedoch weiß ich nich wie ich den kram am besten übergebe das man die daten auch verwenden kann. bei einer eindeutigen abfrage wie es in meinem sample ist, ist dieses kein problem jedoch mit mehr als einer ausgabe.
mfg
Hmm. Speicher die Ausgaben der Callback doch in einem Feld. So mach' ich das bei Newton.
naja die callback funktion bekommt die ergebnise als char **argv. und da bin ich gerade ein wenig hilflos evtl kommt noch der geistesblitz.
ist da ein "int argc" dabei?
Ein char** ist ein Pointer to char*. Also ein Feld von String-Pointern.
Dann so:
GLOBAL stack$[]
INLINE
extern "C" callgirl(int argc, char** argv)
{
for(int i=0; i {
DGStr str = CGStr(argv[i]);
DIMPUSH(stack_Str, str);
}
}
ENDINLINE
also meine Callback funktion bekommt 4 parameter:
erstens einen Pointer ( genau hab ich di ebezeichnung nich im kopf stell ich nachher mal hier rein )
dann int argc für die anzahl der spalten ! ( nicht zeilen )
dann char **argv für die werte
und char **coloumName für den namen der spalte.
int callback(... *pointer, int argc, char **argv, char **coloumName)
{
for(i=0;i {
PRINT(argv[i],0,0+(i*10));
}
}
das ist die momentane Ausgabe für den Test.
das problem ist argc gibt nur die anzahl der spalten aus die zurückgegeben werden und nicht die zeilen. somit sieht das ganze bei einer abfrage bei:
SELECT eintrag from Test where number=1
so aus:
1
Testeintrag
bei einer abfrage nach diesem Schema:
SELECT eintrag from Test
kommt raus:
123 (alles aufeinandere geschrieben)
Testeintrag 23 (2,3 auch aufeinander)
Wie kann ich nun den kram den die callback funktion bekommt als wert übergeben um es im hauptprogramm zu nutzen?
Wie ich's geschrieben hab. Mach ein Fedl, wo Du die Sachen unten dran hängst, und mach eine Funktion, die immer den obersten Eintrag zurückgibt und aus der Liste löscht.
OK werd ich morgen während der aarbeit mal machen. ich hoffe ich kann es so erstellen, dass man die datenbank in spielen nutzen kann. dann wäre das ein perfekter ersatz zu flatfiles etc pp.
wir müssen übrigens freitag weiter an den netzwerkkram weitermachen ich brauch das ganze bald.