Version Française English Version

Planète Casio - Programmes, jeux et cours pour calculatrices Casio

Bookmark and Share
Bienvenue sur Planète Casio, n'hésitez pas à poser vos questions sur le forum, et pensez à rejoindre Planète-Casio sur Facebook !
Spaceraider
Forums Casio - Problèmes de programmation ou avec un programme

Index du Forum | Problèmes de programmation ou avec un programme | Un tuto pour Bfile ? (en c avec le SDK)
Ziqumu
Hors ligne
Membre
Niveau: Aucun
Points: 42
Défis: 0
Email | Message
Posté le 30/01/2012 13:45

Un tuto pour Bfile ? (en c avec le SDK):

Bonjour, j'aimerais bien utiliser toutes les fonctions bfile pour stoquer des données une fois mon programme éteint, mais j'arrive pas a l'utiliser a partir de la doc, et sur le forum les 3codes qui sont ne marchent pas.., Quelqu'un pourrait éclairer ma lenterne svp ?




Pierrotll
En ligne
Administrateur
Niveau: Elite
Points: 4935
Défis: 41
Email | Message
Citer : Posté le 30/01/2012 14:26 |
Le fonctionnement est quasiment le même qu'avec stdio.
Tu ouvres ton fichiers, tu lis et/ou écrit dedans, puis le referme.
Une particularité est que les noms des fichiers sont contenus dans des tableaux de FONTCHARACTER, qui est un typedef de unsigned short, donc ce ne sont pas des chaines de caractères classique.
La fonction Bfile_WriteFile ne sur-écrit pas, contrairement à ce qu'elle devrait faire selon la doc. Donc quand on veut changer le contenu d'un fichier, je conseil de le supprimer d'abord.

Si tu veux des exemples, tu peux regarder les sources des jeux présents sur le site. Par exemple, dans les sources de Gravity Duck, on trouve ce petit code très simple pour sauvegarder un entier :
Cliquer pour dérouler
Cliquer pour enrouler
/* global variables */
FONTCHARACTER filename[] = {'\','\','f','l','s','0','\','G','r','a','v','i','t','y','D','.','s','a','v',0};

/* publis functions */
int save_read()
{
    int file, ret=1;
    file = Bfile_OpenFile(filename, _OPENMODE_READ);
    if(file >= 0) {
        Bfile_ReadFile(file, &ret, 4, 0);
        Bfile_CloseFile(file);
    }
    return ret;
}

void save_write(int level)
{
    int file;
    Bfile_DeleteFile(filename);
    Bfile_CreateFile(filename, 4);
    file = Bfile_OpenFile(filename, _OPENMODE_WRITE);
    if(file >= 0) {
        Bfile_WriteFile(file, &level, 4);
        Bfile_CloseFile(file);
    }
}
----------------------------------
Gravity Duck <> Orton <> Hard Game <> Ball Game <> Falldown <> IndestructoTank <> Aspirine
Ziqumu
Hors ligne
Membre
Niveau: Aucun
Points: 42
Défis: 0
Email | Message
Citer : Posté le 01/02/2012 21:28 |
Merci, je vais tester jusque moi iil faut que je sauvegarde plusieur valeurs, mais je vais essayer de bidouiller le script
Smashmaster
Hors ligne
Modérateur
Niveau: Vétéran
Points: 3195
Défis: 86
Email | Message
Citer : Posté le 01/02/2012 22:04 |
C'est aussi valable pour la prizm?
----------------------------------
L1 Math-Informatique à l'université Paul-Verlaine (Metz)
Pierrotll
En ligne
Administrateur
Niveau: Elite
Points: 4935
Défis: 41
Email | Message
Citer : Posté le 01/02/2012 22:06 |
Oui, les syscalls sont les mêmes à priori (mais je n'ai pas fait de test approfondit pour vérifier si le bug de sur-écriture avait été corrigé).
----------------------------------
Gravity Duck <> Orton <> Hard Game <> Ball Game <> Falldown <> IndestructoTank <> Aspirine
Ziqumu
Hors ligne
Membre
Niveau: Aucun
Points: 42
Défis: 0
Email | Message
Citer : Posté le 01/02/2012 22:27 |
Juste une question combien de byte prend un float dans la calto ?
Binary_man
En ligne
Rédacteur
Niveau: Vétéran
Points: 1122
Défis: 19
Email | Message
Citer : Posté le 01/02/2012 22:31 |
Je ne sais pas, il faudrait que j'aille faire un sizeof(float), mais pas envie de compiler et tout pour un chiffre...
Certains doivent le savoir
----------------------------------
Calculettes : Graph 75, Graph 95, classpad 330 et FX-CG20 !!
Ziqumu
Hors ligne
Membre
Niveau: Aucun
Points: 42
Défis: 0
Email | Message
Citer : Posté le 01/02/2012 22:36 |
...Parfois je suis vraiment con , j'ai meme pas penser à utiliser sizeof... donc ca fait 4 aussi apparemment comme le int

Ajouté le 01/02/2012 à 22:48 :
Hmm ptete pas, j'ai un bug la..
Binary_man
En ligne
Rédacteur
Niveau: Vétéran
Points: 1122
Défis: 19
Email | Message
Citer : Posté le 01/02/2012 22:48 |
Ah cool, tu fais du C. Normal que tu le fasses toi-même alors

Donc 4, d'accord.
----------------------------------
Calculettes : Graph 75, Graph 95, classpad 330 et FX-CG20 !!
Ziqumu
Hors ligne
Membre
Niveau: Aucun
Points: 42
Défis: 0
Email | Message
Citer : Posté le 01/02/2012 22:51 |
Bah si ca a l'aire d'être ca, c'est l'écriture dans le fichier qui à buggué


Index du Forum | Problèmes de programmation ou avec un programme | Un tuto pour Bfile ? (en c avec le SDK)
Pseudo :
Adresse email :
Réponse :
 :)  ;)  :D  :p
 :lol:  8)  :(  :@
 0_0  :oops:  :grr:  :E
 :O  :sry:  :mmm:  :waza:
 :?:  :arrow:  :!:  :here:
Ajouter fichier joint :


Me prévenir par mail lorsqu'une réponse est postée.

Un petit test (entrez le résultat en chiffres):
Combien font trois moins neuf ?

Recherche :
Publicité et partenaires

Omnimaga
Casio Education
Casio Éducation
Casio Scene
Casio Scene

TI-Planet
CasioFan, la communauté ClassPad
CasioFan
Space-Raider
Space-Raider
GameMaster
GameMasters.fr

Jeux Casio - www.planet-casio.com v3.0 © créé par Neuronix et Muelsaco 2004-2012 | Il y a 71 connectés | Nous contacter | Recherches effectuées
Rugby Manager | Jeu de handball | Jeu de foot | Jeu de rugby | Jeu de tennis | Space raider | Sublinet | Top-cinema, films, cinéma, séries | Pension pour chats

Planète-Casio est un site communautaire indépendant et n'est donc pas affilié à Casio | Toute reproduction de Planète-Casio, même partielle, est interdite
Les fichiers, programmes et publications postés sur Planète-Casio restent la propriété de leurs auteurs respectifs et peuvent être soumis à des copyrights
Merci de respecter le travail des autres ! | CASIO est une marque déposée par CASIO Computer Co., Ltd