| [résolu]Lire/Sauver des données dans un fichier externe | |
|
|
Auteur | Message |
---|
hanakin Cliqueur Amateur
Nombre de messages : 492
Age : 59
Localisation : Angers
Date d'inscription : 12/09/2012
| Sujet: [résolu]Lire/Sauver des données dans un fichier externe Jeu 18 Sep 2014 - 17:53 | |
| J'ai essayé de sauvegarde un score et un nom tout seul comme un grand mais ça doit pas être ça. avant de cliquer sur le bouton ok du gui quitter j'ai mis ça:
File *output = File.Open("Highscore.dat", eFileWrite); output.WriteInt(score); output.WriteString(Nom.Text); output.Close();
Le nom ,quand j'édite le fichier, je le vois bien mais le score ???? Ah au fait la variable score c'est celle d'AGS interne que j'affiche dans un gui comme ça : @score@ (est elle utilisable autrement que dans un label.text ?)
et au debut du jeux pour affichage dans un gui j'ai mis ça: File *input = File.Open("Highscore.dat", eFileRead); Hscore=input.ReadInt(); NomHS=input.ReadRawLineBack(); input.Close(); NomHS.Text=String.Format("%s", NomsHS); HScore.Text=String.Format("%d", Hscore);
a la place du nom j'ai un carré et a la place du highscore j'ai toujours 0 Je dois comme d'habitude faire appel a vos connaissances car le codage la dessus n'est pas clair pour moi. _________________ Ce qui est utile à beaucoup l'emporte sur les désirs du petit nombre. ( Spock)
Dernière édition par hanakin le Mar 4 Aoû 2015 - 8:24, édité 1 fois |
|
| |
valoulef Délégué de la tasse bleue
Nombre de messages : 1791
Age : 35
Localisation : Condate
Date d'inscription : 01/08/2011
| Sujet: Re: [résolu]Lire/Sauver des données dans un fichier externe Jeu 18 Sep 2014 - 18:52 | |
| Alors je ne sais pas exactement comment tu procèdes (je n'ai pas tout suivi) mais la variable "score" d'AGS se définit avec la fonction GiveScore et est vérifiée par l'intermédiaire de game.score (variable en lecture seule). En dehors des labels où tu peux effectivement entrer @SCORE@ comme texte (enfin je n'ai jamais utilisé ce mot clé en particulier mais si tu l'utilises c'est qu'il doit exister). Ah et j'oubliais, tu peux définir un score maximal dans le General Settings (0 = infini). Je ne sais pas si ça t'aideras mais bon j'aurai tenté. _________________ Vous êtes déjà allés à Condate ? Ils ont un petit vin qui à un goût de pierre à catapulte. C'est Toutatis en culotte de velours si j'ose m'exprimer ainsi.
|
|
| |
hanakin Cliqueur Amateur
Nombre de messages : 492
Age : 59
Localisation : Angers
Date d'inscription : 12/09/2012
| Sujet: Re: [résolu]Lire/Sauver des données dans un fichier externe Jeu 18 Sep 2014 - 19:49 | |
| j'ai remplacer ça output.WriteInt(score); par output.WriteInt(game.score);
Pas mieux ? Merci quand même je vais refaire un tour sur le site Anglais ya ds trucs pas bien documenter dans l'aide (ou j'ai pas bien recherché). _________________ Ce qui est utile à beaucoup l'emporte sur les désirs du petit nombre. ( Spock) |
|
| |
valoulef Délégué de la tasse bleue
Nombre de messages : 1791
Age : 35
Localisation : Condate
Date d'inscription : 01/08/2011
| Sujet: Re: [résolu]Lire/Sauver des données dans un fichier externe Jeu 18 Sep 2014 - 19:56 | |
| - hanakin a écrit:
- ya ds trucs pas bien documenter dans l'aide
Que veux-tu dire par là ? _________________ Vous êtes déjà allés à Condate ? Ils ont un petit vin qui à un goût de pierre à catapulte. C'est Toutatis en culotte de velours si j'ose m'exprimer ainsi.
|
|
| |
hanakin Cliqueur Amateur
Nombre de messages : 492
Age : 59
Localisation : Angers
Date d'inscription : 12/09/2012
| Sujet: Re: [résolu]Lire/Sauver des données dans un fichier externe Jeu 18 Sep 2014 - 20:13 | |
| Eh bien j'essaye de sauvegarder simplement un nombre et un nom dans un fichier quand je regarde l'aide sur File read/write j'applique ce que je vois dans l'aide et pourtant ça ne marche pas.Tout ce qui est variables , je ne vois pas grand chose ou j'ai mal regardé ? Ca doit pas etre compliqué mais c'est surement la syntaxe qui n'est pas bonne (ce que je fais evidement) mais je vois pas . _________________ Ce qui est utile à beaucoup l'emporte sur les désirs du petit nombre. ( Spock) |
|
| |
valoulef Délégué de la tasse bleue
Nombre de messages : 1791
Age : 35
Localisation : Condate
Date d'inscription : 01/08/2011
| Sujet: Re: [résolu]Lire/Sauver des données dans un fichier externe Jeu 18 Sep 2014 - 20:16 | |
| Pour l'utilisation de fichiers externes je ne peux pas t'aider car je n'y connais rien, en revanche toutes les variables incluses de base dans AGS (ou en tout cas l'extrême majorité) figurent sauf erreur de ma part dans l'aide en ligne. Après ce n'est pas toujours évident de trouver la variable (ou la fonction) dont on a besoin, ça vient avec l'habitude. _________________ Vous êtes déjà allés à Condate ? Ils ont un petit vin qui à un goût de pierre à catapulte. C'est Toutatis en culotte de velours si j'ose m'exprimer ainsi.
|
|
| |
hanakin Cliqueur Amateur
Nombre de messages : 492
Age : 59
Localisation : Angers
Date d'inscription : 12/09/2012
| Sujet: Re: [résolu]Lire/Sauver des données dans un fichier externe Jeu 18 Sep 2014 - 20:25 | |
| Effectivement je ne dénigre en aucun cas l'aide mais je ne suis pas un super programmeur (comme certain sur ce site d'ailleurs, qui sont extrêmement compétent ) mais j'ai fait un peu de visual basic et même du GwBasic (il y a très longtemps). Tout ce qui était Lecture/écriture de fichiers était plus simple mais c'est surement du au langage que je ne connait pas bien. Pourtant il y a plein de commande que je connais qui ressemble au basic . Il y en a bien un qui va trouver la solution. Ma question est peut être aussi pas assez claire ? _________________ Ce qui est utile à beaucoup l'emporte sur les désirs du petit nombre. ( Spock) |
|
| |
valoulef Délégué de la tasse bleue
Nombre de messages : 1791
Age : 35
Localisation : Condate
Date d'inscription : 01/08/2011
| Sujet: Re: [résolu]Lire/Sauver des données dans un fichier externe Jeu 18 Sep 2014 - 20:45 | |
| - hanakin a écrit:
Ma question est peut être aussi pas assez claire ? Non, c'est juste que les personnes vraiment compétentes pour te répondre ne sont pas encore passées par là _________________ Vous êtes déjà allés à Condate ? Ils ont un petit vin qui à un goût de pierre à catapulte. C'est Toutatis en culotte de velours si j'ose m'exprimer ainsi.
|
|
| |
hanakin Cliqueur Amateur
Nombre de messages : 492
Age : 59
Localisation : Angers
Date d'inscription : 12/09/2012
| Sujet: Re: [résolu]Lire/Sauver des données dans un fichier externe Jeu 18 Sep 2014 - 20:51 | |
| Ah je viens de réussir a récuperé le nom c'est déja ça .
File *input = File.Open("Highscore.dat", eFileRead); Hscore=input.ReadInt(); String NomsHS=input.ReadStringBack(); input.Close(); NomHS.Text=String.Format("%s",NomsHS); <---------------- HScore.Text=String.Format("%d",Hscore);<----------------
Ah le score aussi Youpi je suis pas trop bête. _________________ Ce qui est utile à beaucoup l'emporte sur les désirs du petit nombre. ( Spock) |
|
| |
hanakin Cliqueur Amateur
Nombre de messages : 492
Age : 59
Localisation : Angers
Date d'inscription : 12/09/2012
| Sujet: Lire/Sauver des données dans un fichier externe Jeu 18 Sep 2014 - 21:06 | |
| Merci valoulef cette variable "game.score" me manquait
Je répète clairement pour ceux que ça intéresse.
lors du click ok sur le gui quitter comparaison du nouveau score avec l'ancien si le nouveau est plus grand ,avant de quitter je sauvegarde le nom et le score
if (game.score>Hscore) { <-------------------------comparaison File *output = File.Open("Highscore.dat", eFileWrite); output.WriteInt(game.score); <-------score output.WriteString(Nom.Text); <-------nom saisi au depart du jeux output.Close(); }
dans le globalscript je lis le fichier pour afficher le nom et le score dans un gui transparent
function game_start() { File *input = File.Open("Highscore.dat", eFileRead); Hscore=input.ReadInt(); <-------------score sauvé String NomsHS=input.ReadStringBack(); <-------------Nom sauvé input.Close(); NomHS.Text=String.Format("%s",NomsHS); Label1 du gui HScore.Text=String.Format("%d",Hscore); Label2 du gui }
OUF...... _________________ Ce qui est utile à beaucoup l'emporte sur les désirs du petit nombre. ( Spock) |
|
| |
Kitai Délégué de la tasse bleue
Nombre de messages : 2907
Date d'inscription : 01/08/2006
| Sujet: Re: [résolu]Lire/Sauver des données dans un fichier externe Sam 20 Sep 2014 - 23:48 | |
| J'ai pris la liberté de diviser le sujet original pour faire ce nouveau sujet, concernant uniquement ta dernière question hanakin. Tu peux utiliser la balise [code ](sans l'espace) pour mettre en forme le code que tu postes, ce sera plus lisible, comme ça : - Code:
-
if (game.score>Hscore) { // comparaison File *output = File.Open("Highscore.dat", eFileWrite); output.WriteInt(game.score); // score output.WriteString(Nom.Text); // nom saisi au depart du jeux output.Close(); }
// dans le globalscript je lis le fichier pour afficher le nom et le score dans un gui transparent
function game_start() { File *input = File.Open("Highscore.dat", eFileRead); Hscore=input.ReadInt(); // score sauvé String NomsHS=input.ReadStringBack(); // Nom sauvé input.Close(); NomHS.Text=String.Format("%s",NomsHS); // Label1 du gui HScore.Text=String.Format("%d",Hscore); // Label2 du gui } Note que ce qui se passe avec la partie où tu écris, c'est qu'en ouvrant le fichier avec l'option eFileWrite tu effaces tout éventuel ancien contenu du fichier, puis tu écrit un premier bloc d'information qui est une valeur numérique correspondant au score, et un deuxième bloc d'information qui est une valeur textuelle correspondant au texte de l'étiquette Nom. Ce qui se passe avec la partie où tu lis, c'est que tu ouvres le fichier sans le modifier et le "curseur" se place en tout début du fichier, puis tu lis le premier bloc d'information du fichier en l'interprétant comme une valeur numérique et ensuite tu lis le deuxième bloc d'information du fichier en l'interprétant comme une valeur textuelle. Tout ceci fonctionne puisque tu respectes scrupuleusement le même ordre de blocs à l'écriture et à la lecture (et que tu recrées le fichier de zéro à chaque écriture). Un des problèmes avec ton code plus haut (outre celui que vous avez discuté sur @SCORE@) c'est que tu utilisais la commande ReadRawLineBack au lieu de ReadStringBack. La différence est pas toujours très claire, ce qu'il faut garder en mémoire c'est que la première lit des données écrites avec WriteRawLine tandis que la seconde lit des données écrites avec WriteString. Si tu les croises comme ce que tu faisais au début, alors tu as un souci. _________________ Ga is Ga Vous pouvez consulter l' aide d'AGS 3.2 en français et contribuer à la traduction et à l'amélioration si le cœur vous en dit ! |
|
| |
Contenu sponsorisé
| Sujet: Re: [résolu]Lire/Sauver des données dans un fichier externe | |
| |
|
| |
| [résolu]Lire/Sauver des données dans un fichier externe | |
|