1

Lu tous,

Voila je voulais savoir si c'était difficile de lire le contenu d'un fichier .txt externe sur la SMC et d'afficher son contenu.
A savoir s'il y a des particularité s'il y a des accents et des caracteres spéciaux...
et s'il y a particularité.
L'utilisation du systeme de Font du sdk est préférable ?

2

bin bien sur que c'est possible, mais le systeme de font de gp ne gere pas les accents par contre, donc si tu veux les lire, faudra refaire ton propre systeme..; je comprend pas quel est ton probleme pour lire les fichiers texte??

3

-

4

J'arrive plus a remettre la main sur le gars qui a justement fait un package pour afficher des fontes.

Sinon pour creer tes fontes http://www.nekanium.com/gp32/projects.htm utilise gpfontmaker et OKF font project

5

bah le prob c que le fxe ne lit pas le texte quand y'a des accents .. "héhé" bah il lit rien que les "h".
je sais pas pkoi...

6

-

7

bah le prog quoi... tu prends vraiment les gens pour des cons !
J'essaye de lire une fichier texte avec des accents mais quand je compile et que je lance le fxe compilé du prog sur la console, il ne s'afiche que les h, pas les "é".

8

-

9

bah non c'était pas le cas smile

10

-

11

oui ça ok mais comment faire pour lire un fichier texte et que ;e systeme detecte les accents car moi j'ai une font aussi no prob smile

12

-

13

il faudrais modifier la fonte fourni ds le sdk gp

14

oui c'est plus simple aussi, j'y avais meme pas pensé smile

15

Bon sinon je fais des tests mais j'arrive pas à afficher le texte j'ai que des chiffres.
Voila le code :

F_HANDLE hfile;
u32 fsize;
char texte[255];
sprintf (texte, "alors %d",texte);

GpFileOpen("lire.txt",OPEN_R,&hfile);
GpFileGetSize("lire.txt", &fsize);
//GpFileSeek(hfile,FROM_BEGIN,0,NULL);
GpFileRead(hfile,texte,fsize,NULL);
GpFileClose(hfile);
GpTextOut16(NULL, &gpDraw[nflip], 10, 10, texte, 0x0);
flip_screen();


Ce sont des chiffres genre 0562564156654
Donc c ptet de l'hexa ?
Comment transformer cette chaine pour afficher le texte ?

16

c quoi le sprintf au dessus????

17

heu c rien on peut l'enlever smile

18

-

19

c'est un simple fichier non formaté .txt avec dedans "okokokokokokok" que j'ai mis avec le blocnote smile

20


char texte[255];
sprintf (texte, "alors okokokokok");

GpTextOut16(NULL, &gpDraw[nflip], 10, 10, texte, 0x0);
flip_screen();

Deja ca, ca marche ?

21

Ensuite

F_HANDLE hfile;
u32 fsize;
char texte[255];

GpFileOpen("lire.txt",OPEN_R,&hfile);
GpFileGetSize("lire.txt", &fsize);
GpFileClose(hfile);

sprintf (texte, "taille %i",(int) fsize);
GpTextOut16(NULL, &gpDraw[nflip], 10, 10, texte, 0x0);
flip_screen();


Ca marche ?

22

oui tout marche smile

23

Bonne taille de fichier ? Bah alors j'vois pas trop.
T'as regarde si t'as pas une ligne pour initialiser les acces a la carte memoire ? (YaouanK, le dinosaure qui bosse sous minigp32 avec le sdk d'origine et ou rien n'est simple)
un bon vieux GpFatInit ();
et moi je ferais le getsize avant le fileopen.

24

Au fait pour afficher une chaine, t'as essaye %s au lieu de %d.
D'ailleurs c'est quoi %d ?

EDIT: %d c'est pour afficher un nombre. http://www.cplusplus.com/ref/cstdio/printf.html . D'ailleurs c'est %i qu'on utilise normalement. %i comme integer. %f comme float. %o comme octal. %x comme hexa. %p comme pointeur. %s comme string



GROS EDIT: oublie tout ca, tu m'as perturbe avec ta ligne sprintf qui sert a rien. Reste sur l'idee de gpfatinit et du getsize avant le fileopen.

25

%i ca existe pas en C :/ pour les entiers c'est %d

26

bah bonne taille, ouais enfin il me sort 83 pour un fichier de 8 ko.
la je vois pas ce qui va pas sad

27

ok je v tester ça.

28

grincheux :
%i ca existe pas en C :/ pour les entiers c'est %d

J'ai trouve pire dinosaure que moi

29

sans le sprintf en fait y'a rien qui s'affiche...

30

bon en fait c bon avseth m'a aidé. c'était un NULL qui devait pas y être. IL fallait mettre à la place un &k ulong smile

voila le code :

F_HANDLE hfile;
u32 fsize;
ulong k;
GpFileOpen("gp:\gpmm\lire.txt",OPEN_R,&hfile);
GpFileGetSize("gp:\gpmm\lire.txt", &fsize);
//GpFileSeek(hfile,FROM_BEGIN,0,NULL);
GpFileRead(hfile,texte,fsize,&k);
//if(GpFileRead(hfile,texte,fsize,NULL)!=SM_OK) GpTextOut16(NULL, &gpDraw[nflip], 10, 20, "Impossible d\'ouvrir le txt", 0x0);
GpFileClose(hfile); GpTextOut16(NULL, &gpDraw[nflip], 10, 10, texte, 0x0);
*

merci tous smile