(darkGDK) dbOpenToWrite [Résolu]

corwin Message lu Posté le 26 Juil 2011 à 23:04 Bulle
Avatar de corwin
Membre Confirmé

Messages : 459
GCPoints : 63647
Bijour, je travaille toujours sur mon projet open-source mais voila je rencontre un problème que je n'arrive a pas résoudre. Je voudrais rentrer dans un ficher (qui sert pour la sauvegarde de la map) le genre des objets... Je m'explique, la variable obj commence a 701 et descend jusqu'à 100 tout les objets sont reconnu donc il devrai rentrer le calcul obj/100 dans le fichier mais rien... tout se passe a merveille avec aucune erreur mais quand j'ouvre le fichier load.txt il est vide.

Code : C++
if(dbKeyState(31) == 1 && move==0 && save==0)
{
	save=1;
	dbOpenToWrite(1,"load.txt");
}
 
if(save==1)
{
	obj--;
 
	if(obj==100)
	{
		dbCloseFile(1);
		save=0;
		obj=701;
	}
	else
	{
		if(dbObjectExist(obj)==1)
		{
			dbWriteString(1,dbStr(obj/100));
			dbText(10,70,dbStr(obj/100));
		}
	}
}
Dernière édition le 27 Juil 2011 à 03:19
SEB Message lu Posté le 26 Juil 2011 à 23:32 Bulle
Avatar de SEB
Membre Evolué

Messages : 554
GCPoints : 103313
Je pense que ton code n'est pas assez complet pour pouvoir dire ce qui pose problème ici, a mon avis tout ceci se trouve dans une boucle non? pour que obj puis aller de 701 jusqu'a 100 ?
NextGine : 3D games engine
Nombre de lignes actuel : 77683
corwin Message lu Posté le 26 Juil 2011 à 23:40 Bulle
Avatar de corwin
Membre Confirmé

Messages : 459
GCPoints : 63647
Oui mais je ne peut pas mètre la totalité du programme sa serai beaucoup trop long. Il n'y a que cette partit qui gère la sauvegarde. je fait écrire le résultat et sa marche c'est qu'il arrive bien à aller jusqu'à la ligne Code : C++
dbWriteString(1,dbStr(obj/100));
Le chiffre obj revient bien à 701 après toute les opérations donc toute les commandes sont pris en compte. Je ne vois vraiment pas pourquoi il faire genre d'écrire dans le fichier.
SEB Message lu Posté le 27 Juil 2011 à 00:02 Bulle
Avatar de SEB
Membre Evolué

Messages : 554
GCPoints : 103313
Y a-t-il une commande DB qui permet de vérifier qu'un fichier est ouvert en écriture ?? juste avant d'écrire défois qu'il ai mal été ouvert, ou au contraire qu'il ai été fermé ailleur sans faire exprès
NextGine : 3D games engine
Nombre de lignes actuel : 77683
bebou007 Message lu Posté le 27 Juil 2011 à 00:04 Bulle
Avatar de bebou007
Explorateur

Messages : 238
GCPoints : 43228
essaye de supprimer le fichier et recommence car la commande open to write failled si le fichier existe déjà

si non voie pour lancer ton appli en administrateur

j'ai fait un essai sur dbpro si le fichier existe déjà et qu'il est vide si je relance l'appli le fichier reste vide et se remplie pas
Dernière édition le 27 Juil 2011 à 00:09
corwin Message lu Posté le 27 Juil 2011 à 00:16 Bulle
Avatar de corwin
Membre Confirmé

Messages : 459
GCPoints : 63647
Ok j'ai fait le test avec la commande dbFileOpen et c'est bien qu'il n'arrive pas à l’ouvrir. (pourtant sans mètre d'erreur) Il ne faut pas qu'il soit déjà créé pour utiliser dbOpenToWrite ? Sa m'étonne sa mais je crois bien que sa viens de la ! Je vais tester je vous tien au courant. merci
corwin Message lu Posté le 27 Juil 2011 à 00:24 Bulle
Avatar de corwin
Membre Confirmé

Messages : 459
GCPoints : 63647
Sa marche parfaitement ! Merci bien vous deux :grin:
Répondre
GameCorp - Site d'apprentissage et d'entraide à la création de jeux vidéo.
XHTML Valid 1.1 - Page générée en 0.0619 secondes