INI - Aufruf

Previous topic - Next topic

WPShadow

Und zwar folgendes Problem:

Ich habe eine *.ini - Datei worin folgende Daten vorhanden sind:

[Inventar]
3dmodell=data/modell/cockpit.ddd
textur=data/textur/schiff.bmp
...


Ich versuche es folgendermaßen zu laden:

Code (glbasic) Select
iniopen (habe jetzt den Befehl nicht genau im Kopf, aber es funktioniert...)

modell = iniget$("inventar", "3dmodell")
textur$ = iniget$("inventar", "textur")

x_loadobj modell, schiff1
loadsprite textur$, 2
Das Modell wird geladen, aber die Textur bleibt weiss. Ich habe schon alles überprüft. Die Dateien sind in den richtigen Ordnern, sie haben die richtige Größe, ansich müßte alles passen...

Dennoch ist es nur strahlend hell. Und wenn ich es aber direkt lade loadsprite "data/textur/schiff", 2 dann funktioniert es...

HILFE!!!

GLG

W.
AMD X2 4600, 2 GB Ram, ATI X1950 XTX, XP PRO SP2: GLB Premium 10.beta_dingsi, <(´.´<) Kirby Dance (>`.`)>
http://lostrevenant.blogspot.com
alea iacta est

Kitty Hello

Code (glbasic) Select
PRINT INIGET$("inventar", "textur") ,0,0
SHOWSCREEN
MOUSEWAIT
Wenn's NO_DATA liefert, bitte mal die .ini Datei schicken.

WPShadow

Glaube eher, daß das Problem beim "Buffer" liegt. Dort bleiben die Daten gespeichert!

Folgendermaßen:

modell$ = iniget$("inventar", "3dmodell")
textur$ = iniget$("inventar", "textur")

stehen in der *.ini - Datei. Der Inhalt ist:

modell$ = data/modell/cockpit.ddd
textur$ = data/modell/schiff.bmp

Ich lasse mir beides mit Print ausgeben und bemerke nichts. Dann das selbe, nur daß ich Schiff.bmp in den Hauptordner verschiebe und es in der *.ini angebe. Daraufhin bekomme ich folgende Ausgabe:

schiff.bmpdata/modell/cockpit.ddd

Das Problem habe ich so gelöst:

modell = iniget$("inventar", "3dmodell")
temp = iniget$("tmp", "temp")
textur$ = iniget$("inventar", "textur")

Der Temp - Wert löscht praktisch gesehen die gesamte vorhergehende Eingabe:

[tmp]
temp=

Ansonsten bleibt alles im Buffer, wie mir scheint...

Bin gestern Abend bis nach Mitternacht daran gesessen! :-)

Wenigstens funktioniert es jetzt...

GLG

W.
AMD X2 4600, 2 GB Ram, ATI X1950 XTX, XP PRO SP2: GLB Premium 10.beta_dingsi, <(´.´<) Kirby Dance (>`.`)>
http://lostrevenant.blogspot.com
alea iacta est

Kitty Hello

Wenn Du die .ini änderst, startest Du ja nochmal das Programm neu, oder?
Oder nicht? Dann kapier ich's schon...

Also, die INI-Textdatei wird nur gelesen, bei einem INIOPEN. Dann aber auch nur, wenn er genau diese Datei nicht schon im INI-Buffer hat. Wenn Du was am laufenden Programm änderst, dann musst Du schreiben:
Code (glbasic) Select
INIOPEN("")
INIOPEN("gleiche Datei nochmal.ini")
Sollte das nicht das Problem sein, bitte ein Beispiel zusammenbauen, an dem ich's nachvollziehen kann. Sorry, das Du Dich mit sowas so lange 'rumärgern musstest. Ich war gestern übrigens online - einfach mal versuchen anzuskypen bei solchen Problemen.

WPShadow

Bald habe ich meinen Zugang. Dann skype ich dich an... :-)
AMD X2 4600, 2 GB Ram, ATI X1950 XTX, XP PRO SP2: GLB Premium 10.beta_dingsi, <(´.´<) Kirby Dance (>`.`)>
http://lostrevenant.blogspot.com
alea iacta est