µLua DS - Forum officiel | Official forum Index du Forum

µLua DS - Forum officiel | Official forum
Le bon endroit pour en savoir plus sur MicroLua et pour parler de vos projets ! | The right place to learn more about MicroLua and talk about your projects !

 FAQFAQ   RechercherRechercher   MembresMembres   GroupesGroupes   S’enregistrerS’enregistrer   ProfilProfil   Se connecter pour vérifier ses messages privésSe connecter pour vérifier ses messages privés   ConnexionConnexion 

Sauvegarde fichier .txt
Aller à la page: 1, 2  >
 
Poster un nouveau sujet   Répondre au sujet    µLua DS - Forum officiel | Official forum Index du Forum -> Section française -> Demande d'aide
Sujet précédent :: Sujet suivant  
Auteur Message
marlador5


Hors ligne

Inscrit le: 15 Avr 2013
Messages: 6

MessagePosté le: Lun 15 Avr 2013 - 08:57    Sujet du message: Sauvegarde fichier .txt Répondre en citant

Bonjour, j'ai ajouté à mon programme une fonction pour sauvegarder mes informations dans un fichier .txt, et une autre pour pouvoir les lire. Sauf que quand je passe à la ligne dans mon code avec le "\n"  il me met un caractère comme quoi il passe à la ligne. Il est invisible dans mon fichier texte, mais avec ma fonction pour le lire, ma console voit ce caractère. Le problème c'est qu'avec mon émulateur MLS 0.5 il ne voit pas ces caractères. Sur mon code j'ai mis 'r' et 'w', j'ai aussi essayé de les mettre en 'wb' et 'rb' mais ils sont toujours présent. J'aimerais donc trouver une solution pour ne plus avoir ce caractère. Auriez-vous une idée à me proposer ?

Merci


Revenir en haut
Publicité






MessagePosté le: Lun 15 Avr 2013 - 08:57    Sujet du message: Publicité

PublicitéSupprimer les publicités ?
Revenir en haut
megagugus14


Hors ligne

Inscrit le: 03 Aoû 2012
Messages: 168

MessagePosté le: Lun 15 Avr 2013 - 12:06    Sujet du message: Sauvegarde fichier .txt Répondre en citant

Pourquoi tu ne l'enlèves pas carrément de ta chaîne de caractère lue dans le fichier ?


 
Code:
 tonstring = tonstring:gsub("\n", "")


_________________
Programmeur à 11 ans... Quoi, t'as un problème ?


Revenir en haut
MSN
geeker


Hors ligne

Inscrit le: 23 Déc 2012
Messages: 363

MessagePosté le: Lun 15 Avr 2013 - 14:21    Sujet du message: Sauvegarde fichier .txt Répondre en citant

Ben ... tu utilise un truc dans ta fonction qui retire les caractères si il y en a un !

Et puis au pire:
Code:

file:write("machin")
file:write("truc")

donnera:
Code:

machin
truc

Et non pas:
Code:

machintruc

Donc pas besoin de "\n" Wink !
_________________
Beta-testeur de l'extrème
Tox: FFBDC8B34DC3CDE51F8F1CB0A628147DE740ACD1D44682EB5492A681F6541E32E8D8BB6052B3
CtrµLua: ctrulua.github.io
Des p'tits true, des p'tits true, toujours des p'tits true ...


Revenir en haut
Visiter le site web du posteur
megagugus14


Hors ligne

Inscrit le: 03 Aoû 2012
Messages: 168

MessagePosté le: Lun 15 Avr 2013 - 15:49    Sujet du message: Sauvegarde fichier .txt Répondre en citant

( et quand tu lis le fichier, avec la méthode de geeker pour écrire, il faut utiliser l'itérateur lines si je me souviens bien)

EDIT : C'est bien ça :

http://pgl.yoyo.org/luai/i/file:lines
_________________
Programmeur à 11 ans... Quoi, t'as un problème ?


Revenir en haut
MSN
geeker


Hors ligne

Inscrit le: 23 Déc 2012
Messages: 363

MessagePosté le: Lun 15 Avr 2013 - 16:05    Sujet du message: Sauvegarde fichier .txt Répondre en citant

Oui, bon, moi je fais comme ça avec textViewer (dans la version 1.21+), et c'est bien pratique ! Surtout si on veut pas faire de textBox ... Ou du stockage dans un tableau ... ça permet un accès ligne par ligne !
_________________
Beta-testeur de l'extrème
Tox: FFBDC8B34DC3CDE51F8F1CB0A628147DE740ACD1D44682EB5492A681F6541E32E8D8BB6052B3
CtrµLua: ctrulua.github.io
Des p'tits true, des p'tits true, toujours des p'tits true ...


Revenir en haut
Visiter le site web du posteur
megagugus14


Hors ligne

Inscrit le: 03 Aoû 2012
Messages: 168

MessagePosté le: Lun 15 Avr 2013 - 17:20    Sujet du message: Sauvegarde fichier .txt Répondre en citant

Bah... Pour la vue c'est mieux ok, mais je vois pas quel intérêt pour remplir un tableau...
_________________
Programmeur à 11 ans... Quoi, t'as un problème ?


Revenir en haut
MSN
marlador5


Hors ligne

Inscrit le: 15 Avr 2013
Messages: 6

MessagePosté le: Lun 15 Avr 2013 - 18:51    Sujet du message: Sauvegarde fichier .txt Répondre en citant

Voila un bout de mon code qui sert à sauvegarder et l'autre à le lire :
function lire_save1()
    file = io.open("save1.txt", 'r')
    save = 1
    if file then
        perso1.classe = file:read()
        perso1.classe = perso1.classe:gsub("\n", "")
        perso1.lvl = file:read()
        perso1.hp = file:read()
        perso1.hp_max = file:read()
        perso1.expe = file:read()
        perso1.expe_max = file:read()
        file:close()
end
    return perso1.classe
end
function ecrire_save1()
    file = io.open("save1.txt", 'w')
    file:write(perso1.classe)
    file:write("\n"..perso1.lvl)
    file:write("\n"..perso1.hp)
    file:write("\n"..perso1.hp_max)
    file:write("\n"..perso1.expe)
    file:write("\n"..perso1.expe_max)
    file:close()
end


Donc la c'est mon code original comme il était, par mon emulateur il marche très bien, mais sur la ds, elle elle voit les retours à la ligne. J'ai essayé vos méthodes, mais j'ai pas réussi à faire en sorte qu'il disparaisse.
Je vous donne aussi un screenshot de ce que ma ds me donne.



Revenir en haut
Fantasix
Modérateur

Hors ligne

Inscrit le: 26 Avr 2010
Messages: 1 317
Localisation: SCREEN_UP, en -1, -1

MessagePosté le: Lun 15 Avr 2013 - 19:27    Sujet du message: Sauvegarde fichier .txt Répondre en citant

Hum, bon déjà personnellement, j'aurais mis toutes tes informations sur une seule ligne, séparées par un même caractère (Genre "|"). Ca permet ensuite une lecture super-facile avec les RegEx.

Après, la manière la plus propre aurait été le JSON ou l'XML...

Bref, c'est peut-être un peu compliqué pour toi pour le moment, je faisais aussi autrement dans mes débuts. Si j'me souviens bien, il te suffit de détecter si le caractère est présent, et si c'est le cas, tu le supprime. A noter que le caractère de retour chariot a pour décimal "10" & "13" dans la table ASCII (Le premier c'est le caractère de nouvelle ligne, le second c'est celui du retour chariot : je ne sais jamais le quel est utilisé pour les "\n" ...). C'est à dire qu'au lieu de chercher à détecter un "\n", tu demande à chercher un string.char(10) ou string.char(13).

Sinon, t'as aussi la solution crade du "je-coupe-le-dernier-caractère-de-la-ligne", avec un string.sub().

Have fun

Fanta'
_________________


BMA News :

Création du Homebrew Storage en cours ...


Revenir en haut
Visiter le site web du posteur
marlador5


Hors ligne

Inscrit le: 15 Avr 2013
Messages: 6

MessagePosté le: Lun 15 Avr 2013 - 20:29    Sujet du message: Sauvegarde fichier .txt Répondre en citant

Pourrais tu me montrer un exemple pour la méthode avec le string.char, parce que je vois pas où le placer en fait. Pour la seconde méthode je sais pas si ça marchera, car mon nombre augmentera. Donc il pourrait être 1 comme il pourrait être 1000.

Je me demandais aussi, avec le XML j'aurais pas le problème de mon caractère indésirable ?


Revenir en haut
megagugus14


Hors ligne

Inscrit le: 03 Aoû 2012
Messages: 168

MessagePosté le: Mar 16 Avr 2013 - 17:36    Sujet du message: Sauvegarde fichier .txt Répondre en citant

Bah string.gsub(tonstring, string.char(10 ou 13), ""), non ?
_________________
Programmeur à 11 ans... Quoi, t'as un problème ?


Revenir en haut
MSN
marlador5


Hors ligne

Inscrit le: 15 Avr 2013
Messages: 6

MessagePosté le: Mer 17 Avr 2013 - 10:45    Sujet du message: Sauvegarde fichier .txt Répondre en citant

C'est bien ce qu'il me semblait mais ça ne marche toujours pas... Je n'arrive pas à comprendre pourquoi...

Revenir en haut
megagugus14


Hors ligne

Inscrit le: 03 Aoû 2012
Messages: 168

MessagePosté le: Mer 17 Avr 2013 - 12:47    Sujet du message: Sauvegarde fichier .txt Répondre en citant

En fait, j'ai pas compris le problème : si tu fais file:read(), alors ça passera automatiquement à la prochaine ligne...
_________________
Programmeur à 11 ans... Quoi, t'as un problème ?


Revenir en haut
MSN
marlador5


Hors ligne

Inscrit le: 15 Avr 2013
Messages: 6

MessagePosté le: Mer 17 Avr 2013 - 18:26    Sujet du message: Sauvegarde fichier .txt Répondre en citant

En fait, quand je passe mon programme sur ma ds, ma ds ne reconnait pas mon perso.classe. Il peut avoir 3 valeurs, 1, 2 ou 3. Mais la ds voit un caractère qui ne devrait pas être là, celui de retour a la ligne. Le même que sur la photo que j'ai donné. Donc en fait, ma fonction qui reconnait ma classe, sous forme " if perso1.classe == 1 then...." ne peut pas reconnaître ma valeur.

Revenir en haut
geeker


Hors ligne

Inscrit le: 23 Déc 2012
Messages: 363

MessagePosté le: Mer 17 Avr 2013 - 19:26    Sujet du message: Sauvegarde fichier .txt Répondre en citant

Code:

if string.find(str, "1") then

peut-etre ?
_________________
Beta-testeur de l'extrème
Tox: FFBDC8B34DC3CDE51F8F1CB0A628147DE740ACD1D44682EB5492A681F6541E32E8D8BB6052B3
CtrµLua: ctrulua.github.io
Des p'tits true, des p'tits true, toujours des p'tits true ...


Revenir en haut
Visiter le site web du posteur
marlador5


Hors ligne

Inscrit le: 15 Avr 2013
Messages: 6

MessagePosté le: Mer 17 Avr 2013 - 19:59    Sujet du message: Sauvegarde fichier .txt Répondre en citant

Merci, ta solution marche, sauf que je ne charge pas que des numéros fixes dans mes sauvegardes, je peux très bien charger 1 comme 1000. En fait je me suis lancé dans la programmation d'un mini rpg, si on peut appeler ça comme ça. Donc pour charger ma valeur vie, par exemple, j'ai besoin de mon nombre sans le caractère à la fin. Je peux vous upload mon code si vous voulez un peu plus de détails. Le truc que je comprends pas, c'est qu'il marche très bien sur mon émulateur, il me voit les caractères spéciaux que quand je le mets sur ma ds. Ou quand je le mets en 'wb' ou 'rb'. J'ai essayé le 'wb' et 'rb' car, sur ma psp, quand je programmais en lua, ça ne m'affichait plus ce caractère quand je me mettais en 'wb' et 'rb'.

Revenir en haut
Contenu Sponsorisé






MessagePosté le: Aujourd’hui à 03:47    Sujet du message: Sauvegarde fichier .txt

Revenir en haut
Montrer les messages depuis:   
Poster un nouveau sujet   Répondre au sujet    µLua DS - Forum officiel | Official forum Index du Forum -> Section française -> Demande d'aide Toutes les heures sont au format GMT + 1 Heure
Aller à la page: 1, 2  >
Page 1 sur 2

 
Sauter vers:  

Index | Creer un forum | Forum gratuit d’entraide | Annuaire des forums gratuits | Signaler une violation | Conditions générales d'utilisation
Powered by phpBB © 2001, 2005 phpBB Group
Traduction par : phpBB-fr.com