Les membres ayant 30 points peuvent parler sur les canaux annonces, projets et hs du chat.
La shoutbox n'est pas chargée par défaut pour des raisons de performances. Cliquez pour charger.
Menu
Calculatrices
Graph 35 à 100
Graph 25+Pro/25+E/25+E II
Graph 35+USB/75(+E)/85/95 SD
Graph 100(+)
Classpad 300/330(+)
fx-CG 10/20 (Prizm)
Classpad 400(+E)
Graph 90+E
fx-92+ SC
Liens
¤ Transférer un programme sur
sa calculatrice

¤ Vous cherchez une fonction ?
Utilitaires >> Graph 35+USB/75(+E)/85/95 SD >> Add-ins >> Memory
Memory
Version : 3.0 Taille : 10917 octets Ajouté le : 2014-02-14 08:13 Modifié le : 2020-08-24 11:17
Auteur et posteur :
LephenixnoirHors ligneAdministrateurPoints: 24229 Défis: 170 Message
Planète Casio - Add-in Casio - Memory - LePhenixNoir - Calculatrices
Nombre de visites sur cette page : 16714
Score au progrank : 40
Pas encore de note !
Vous devez être connecté(e) pour noter (inscription).
2414 téléchargements | Soumettre un test

Ce programme est sous licence Creative Commons 2.0 BY


A cause du changement de processeur des nouvelles Graph 35+ USB, 75 et 95 SD, de nombreux addins sont incompatibles avec ces calculatrices.
Rendre un addin compatible - Plus d'informations sur ce problème - Liste des addins compatibles

Description :

Attention : cette antiquité n'est compatible qu'avec le fx-9860G SDK et n'est plus maintenue depuis 2015.

La bibliothèque C memory simplifie la manipulation de la mémoire. Elle permet entre autres d'utiliser des interfaces utilisateur, de charger et sauvegarder les fichiers automatiquement, d'utiliser des char * pour les adresses, tout en se passant de Bfile.

Une documentation en HTML est jointe à l'archive, très complète depuis la version 3. Celle-ci comprend quelques explications sur la mémoire, la liste des fonctions de memory et un court tutoriel pour l'utilisation de cette dernière.
N'oubliez pas d'inclure memory.h au début de votre programme et d'ajouter memory.c au projet.
Cette bibliothèque génère un code nativement compatible SH4.

Pour ceux qui utilisent encore les versions 1.1 ou 2, je les laisse dans les fichiers (données perdues...).

Fichiers
1. memory.zip : version 3.0
2. memory.zip : version 2.0
3. memory.zip : version 1.1
Les archives contiennent la source, le header, et la documentation HTML.

Changelog
Cliquer pour enrouler
13.06.2014
Ajout de la documentation de la version 3.

11.06.2014 -- Version 3.0
Compression de la transformation de l'adresse char * en FONTCHARACTER.
Ajout de l'affichage des erreurs et causes pour les développeurs.

29.05.2014
Correction de bugs détectés au niveau de l'allocation, qui généraient parfois une adresse FONTCHARACTER fausse et provoquaient systématiquement une erreur.

24.05.2014 -- Version 2.0
Ajout des fonctions d'interfacage et des fonctions automatisées.
Définition par define des fonctions basiques.

15.03.2014 -- Version 1.1
Ajouté un header à la bibliothèque.
La fonction memory_seekfile() (alias de Bfile_SeekFile) a été ajoutée.
Les doubles inclusions de headers sont évitées.

01.03.2014
Quelques bugs corrigé (inclusions de headers)


Commentaires :

Pages: Précédente | 1, 2, 3, 4, 5, 6, 7, 8, 9 | Suivante

AlphacreatorHors ligneMembrePoints: 1464 Défis: 43 Message
Posté le 25-04-2014 à 13:48 | #
Petit problème avec memory_find: je veux chercher tous les fichiers avec l'extension .cof, or quand je fais
char files[20][20];
n = memory_find(files , "\\\\fls0\\*.COF");
le compilateur ne me crie pas dessus mais quand je lance le programme, j'obtient un beau system error (avec "TLB error!!")
Une solution?
Merci d'avance.
LephenixnoirHors ligneAdministrateurPoints: 24229 Défis: 170 Message
Posté le 25-04-2014 à 20:16 | #
Ça la fout mal car c'est le code d'exemple.
En fait, après un rapide coup d'oeil, memory_find alloue la place nécéssaire dans votre tableau de pointeurs.
Du coup:
char **files = malloc(20*sizeof(char *));

Et le tour est joué.
AlphacreatorHors ligneMembrePoints: 1464 Défis: 43 Message
Posté le 25-04-2014 à 20:19 | #
Illegal initializer type
LephenixnoirHors ligneAdministrateurPoints: 24229 Défis: 170 Message
Posté le 25-04-2014 à 20:22 | #
#include <stdlib.h>

?
AlphacreatorHors ligneMembrePoints: 1464 Défis: 43 Message
Posté le 25-04-2014 à 20:23 | #
J'avais oublié, par contre j'ai toujours le system error
LephenixnoirHors ligneAdministrateurPoints: 24229 Défis: 170 Message
Posté le 25-04-2014 à 20:25 | #
Non, c'est moi qui me suis trompé. J'avais alloué manuellement mes pointeurs, mais du coup je ne comprends pas pourquoi ça ne fonctionne pas avec le double tableau.

Je peux voir ton code ?
AlphacreatorHors ligneMembrePoints: 1464 Défis: 43 Message
Posté le 25-04-2014 à 20:26 | #
#include "MonochromeLib.h"
#include "memory.h"
#include "fxlib.h"
#include <stdlib.h>

unsigned int key;

int AddIn_main(int isAppli, unsigned short OptionNum)
{
    char **files = malloc(20*sizeof(char *));
    int n=0;
    n = memory_find(files,"\\\\fls0\\*.COF");
    PrintV(1,1,n,0);
    ML_display_vram();
    while(1);
    return 1;
}
Dark stormHors ligneLabélisateurPoints: 11634 Défis: 176 Message
Posté le 25-04-2014 à 20:28 | #
Essaie en castant :
char **files = (char**)malloc(20*sizeof(char *));
AlphacreatorHors ligneMembrePoints: 1464 Défis: 43 Message
Posté le 25-04-2014 à 20:29 | #
Nop, toujours le system error au pire je me crée ma propre fonction
LephenixnoirHors ligneAdministrateurPoints: 24229 Défis: 170 Message
Posté le 25-04-2014 à 20:30 | #
Ok, c'est clair. Le double tableau génère une System Error (il faudra que je corrige ça), donc pour l'instant tu est obligé de déclarer un tableau de pointeurs et de les allouer manuellement.

char **files = malloc(20*sizeof(char *));
int n,i;
for(i=0;i<20;i++) *(files+i) = malloc(14);
n = memory_find(files,"\\\\fls0\\*.COF");

Pages: Précédente | 1, 2, 3, 4, 5, 6, 7, 8, 9 | Suivante

Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 63 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements

Planète Casio est un site communautaire non affilié à Casio. Toute reproduction de Planète Casio, même partielle, est interdite.
Les programmes et autres publications présentes sur Planète Casio restent la propriété de leurs auteurs et peuvent être soumis à des licences ou copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd