90

ouep ...

91

a { father=NULL; son=b; brother=NULL; }
b { father=a; son=NULL; brother=c; }
c { father=a; son=NULL; brother=NULL; }

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

92

ok, merci Pollux.
sinon est-ce que qu'il existe un moyen plus simple que de parcourir tout l'arbre à l'envers pour libérer la mémoire occupé par un arbre.
Parce-que là je ne sais variment pas comment faire autrement.

Et voilà c'est fonctionnel... enfin je n'ai aps encore codé la partie libération de la mémoire mais pour le reste c'est fait. Il y a plus qu'à mettre en forme tout ça et c'est bon. Finalement ce n'était aps si compliqué ! smile
www.wikio.fr/user1921&info=comments

93

Euh oui, parcourir tout l'arbre. Mais comment ça "à l'envers" ? Tu veux dire, en partant du bas?

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

94

Oui : en allant à chaque fois aux extrémités en fait. Alors il n'y a pas de solution plus simple ?
Bon sinon ça ne doit pas être si dur que ça à coder.
www.wikio.fr/user1921&info=comments

95

Tu peux le faire récursivement en adaptant tout simplement ma fonction "Display" en supprimant tous les printf et en rajoutant un free(t) à la fin, ou sinon tu peux faire un truc itératif du style :
while (t)
  if (t->son) t=t->son;
  else {
    xml *u=t;
    t=t->brother;
    if (!t) t=u->father,t->son=NULL;
    free(u);
  }

Ca devrait marcher, normalement smile

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

96

Ah merci ! Par contre je n'ai tjrs pas fait de structure "son" mais je pense que je vais modifier cela. Et sinon je commence à arriver à quelque chose de correct : on peut parcourir l'arbre crée avec les touches... et donc je pense que ça sera bien implémenté dans FTL Parser 2004. smile
www.wikio.fr/user1921&info=comments

97

La question en fait c plutôt : qu'est-ce que tu vas mettre dans ton arbre tongue

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

98

Non ça c'est la question que je me suis posé dès le départ ! smile
D'ailleurs tout est dans la structure. begin : première ligne du tableau du texte encadré par la balise et end : dernière ligne du texte correpondant au texte encadré.
En gros le texte est parsé en entier et ets stocké dans un tableau. Les balises contiennent juste des n° de ligne.
En ensuite j'ai une fonction qui affiche le texte à partir de begin jusqu'à end... Au début le texte est affiché en entier et puis en appyant sur F1 l'utilisateur aura accès à un menu lui permettant de parcourir l'arbre et voilà.
D'ailleurs c'est presque entièrement fonctionnel ! smile
www.wikio.fr/user1921&info=comments

99

Bon bah voilà j'ai bien galéré mais c'est fait : FTL Parser 2004 supporte désormais les balises XML. Bon pour l'instant c'est limité à 10 balises filles mais c'est fonctionnelle : plus de crash et plus de fuite de mémoire. smile
www.wikio.fr/user1921&info=comments

100

J'ai encore pas mal avancé et corrigé tout les dernier bug mais par contre il reste encore des crash, notament lorsque je change de fichiers à paser. Quand je parse toujours le même fichier l'abre est très bien construit (sauf des pointeurs qui devrait NULL et qui ne le sont pas) alors que quand je change de fichier il y a de nouvelle branche auquelle on a accès (en gros ça sort de la mémoire).
Alors je voudrais savoir si c'est une bonne idée d'utiliser un memset() sur les structures une fois qu'elles viennent d'être allouées et si ça peut résoudre ces problèmes ?
Mis à part ce problème le projet est tellement avancé que je vais sans doute pouvoir faire une release avant la fin de l'année et peut-être une beta bien avant.
www.wikio.fr/user1921&info=comments

101

Raphaël
: Alors je voudrais savoir si c'est une bonne idée d'utiliser un memset() sur les structures une fois qu'elles viennent d'être allouées et si ça peut résoudre ces problèmes ?

Oui et oui.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

102

Ah oui en effet je n'ai plus eu de plantage depuis.
www.wikio.fr/user1921&info=comments

103

je voudrais savoir si c'est une bonne idée

Peut-être que oui, mais fais très attention : si tu ne comprends pas bien d'où vient le bug, peut-être qu'en créant une nouvelle structure à la place d'une ancienne ce bug va réapparaître (puisqu'elle n'est pas initialisée à 0), et dans des conditions plus subtiles (et donc moins faciles à debugger). Je ne sais pas si ça s'applique à ton cas, mais fais attention de ne pas prendre une "solution de facilité" que tu pourrais regretter.

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

104

J'ai pas très bien compris ce que tu as voulu exprimer : tu veux dire que memset() est une soultion de facilité ?
Si c'est le cas il existe une autre méthode qui ne soit pas une méthode de faciliter pour avoir des structures allouées en mémoire qui soit "vide" ?
www.wikio.fr/user1921&info=comments

105

Non ça dépend de ce que tu fais : si tu remplis une fois pour toute ta structure avec memset puis ta fonction de création pour chaque élément, et qu'après avoir fait ça tu ne modifies pas des champs déjà écrits, pas de problème. En revanche si tu as une fonction de création d'arbre qui opère sur un élément quelconque en lui affectant une nouvelle valeur, tu peux avoir des problèmes qui ne seront pas révélés dans le cas classique (i.e. l'élément quelconque est à 0) mais qui apparaîtront dans d'autres cas (l'élement quelconque pointe sur une valeur déjà initialisée, qui n'est pas forcément à 0).

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

106

En fait oui lors de la construction de l'abre j'incrémente la variable qui stocke le nombre d'enfant de chaque balise mais c'est peut-être pas ça dont tu veux parler ?
De toute manièr si l'on fait un memset() juste avant de construire l'arbre, puis qu'on le construit au fur et à mesure que le fichier et parsé et que l'on ne modifie plus rien ça ne risque rien ? Par contre il faut refaire un memset() à chaque nouvelle structure complètement modifié ?
Parce-que de toute manière on est bien obligé d'utiliser memset dans tout les cas ?
Bon de toute manière je n'ai plus du tout de bug (ce qui je ne pensais pas pensable avec un de mes programme grin) du moins lorsqu'il y a assez de mémoire dispo... il faudra que je pense à sécuriser mon programme.

www.wikio.fr/user1921&info=comments

107

En fait oui lors de la construction de l'abre j'incrémente la variable qui stocke le nombre d'enfant de chaque balise mais c'est peut-être pas ça dont tu veux parler ?

Non, effectivement, je ne parle pas de modifications mineures.
De toute manièr si l'on fait un memset() juste avant de construire l'arbre, puis qu'on le construit au fur et à mesure que le fichier et parsé et que l'on ne modifie plus rien ça ne risque rien ? Par contre il faut refaire un memset() à chaque nouvelle structure complètement modifié ?

C'est ça oui Seulement à chaque changement de structure de l'arbre.
Parce-que de toute manière on est bien obligé d'utiliser memset dans tout les cas ?

Oui, sauf si tu initalises tous les champs qui ont besoin d'être initialisé à la main. Ca peut être éventuellement plus rentable si tu modifies souvent la structure de l'arbre.

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

108

Ok, bah c'est bon c'est ce que je pensais. smile D'ailleurs je n'ai plus eu aucun souci depuis. top
www.wikio.fr/user1921&info=comments

109

FTL Parser 2004 supporte désormais les V200 et Ti92 en plein écran mais c'est terriblement lent... vous pensez qu'il serait bien que je fasse une version pour les TI92 et V200 qui soit à la taille de l'écran d'une 89 où c'est vraiment sans intérêts ?
Et sinon l'exploreur XML est bientôt terminé, les bugs sont quasiment tous corrigé et par conséquent je ferais sans doute une release dans très peu de temps. smile
www.wikio.fr/user1921&info=comments

110

cool ...
si t'as besoin de fonctions spéciales pour tinyx etfc. (si tu l'utilises encore) no probelmo, je suis chez moi là smile

111

Ah merci c'est gentil ! smile Oui j'utilise toujours TinyX pour la moyenne et la grande fonte mais sinon je n'ai plus besoin d'autres fonctions...
www.wikio.fr/user1921&info=comments

112

c con, pke le travé de ligne horizontale est plus rapide et plus petite que celle de ext2 si je me rappelle bien wink

113

Hum t'en es si sûr ?
T'as amélioré la routine depuis la dernière fois où tu m'en avais parlé alors.
avatar
« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas. »

114

c con, pke le travé de ligne horizontale est plus rapide et plus petite que celle de ext2 si je me rappelle bien

Ah ouais ? Mais c'est dans le toute dernière version de TinyX ? Et elle est dispo sur votre site ?
Pour l'instant j'utilise de Sasume... au fait elle a été amélioré dans extgraph 2 ? ... qui est déjà pas mal rapide est qui n'est pas très grosse.
En fait ce qui ralenti le plus mon programme à l'heure actuelle c'est toujours les fonction tX_DrawChar et GX_DrawChar, non pas qu'elles soit lente est loin de là smile mais parce-que le texte demande un paquet de ressources surtout si on utilise un mode spécial ou les lettres se touche toutes.
Mais bon si elle prend moins de place par contre elle m'intéresserait oui. smile
Et au fait nEUrOO, est-ce qu'il y a moyen mnt dans TinyX de charger que la grande et la moyenne fonte... parce-que là je charge toutes les fontes dont la petite qui ne me sert à rien vu que j'utilsie celle de GraphX ?
www.wikio.fr/user1921&info=comments

115

Sasume: hum, ct pas ca ? (nan, j'y ai pu touché ... ca va pas nan grin)
Raphael: Bah nan ... bah c pas dur a modifier ... tu prend les sources et tu modifie grin

116

D'après mes souvenirs, la mienne était toujours plus rapide, même après que tu aies optimisé la tienne.
Mais sinon, j'aimerais bien voir ta routine de ligne quelconque !
avatar
« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas. »

117

Je l'avais faite ?

118

En C seulement, il me semble.
avatar
« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas. »

119

J'aurais besoin d'avoir des petites précision pour pouvoir faire fonctionner les versions Ti92 et V200 correctement : En compilant pour les Ti92Plus ça passe sur les Ti92 ?
Et puis sinon je voulais savoir s'il y avait une différence du fonctionnement des timers et notamment l'auto int 5 entre les Ti89 et les Ti92Plus... parce-qu'avec la version Ti92Plus sur VTI on dirait que le timer ne fonctionne pas correctement... enfin ça viens peut-être aussi de VTI.
Sinon j'ai remis à jour la page du projet notament en ce qui concerne le XML : http://perso.wanadoo.fr/raphael.domenge/programmes_ti89/projet_ftl_parser/ftl_parser2004.htm
Et puis j'ai aussi des problèmes pour afficher les capture d'écran qu'il y a sur cette page : ils ont été pris avec VTI et ne s'affiche, une fois uploader, qu'en bmp. sad
Vous savez comment je pourrais faire pour avoir des faire capture d'écran TI que je peux passer en png qui s'afficheraient sans problème ?
www.wikio.fr/user1921&info=comments

120

Raphaël
: J'aurais besoin d'avoir des petites précision pour pouvoir faire fonctionner les versions Ti92 et V200 correctement : En compilant pour les Ti92Plus ça passe sur les Ti92 ?

Non.
1. Il faut récupérer ça: http://members.chello.at/gerhard.kofler/kevin/ti89prog/libfargo.zip et dézipper fargo.a dans le répertoire Lib pour que le target apparaisse. Et pourtant, je le rappelle à chaque fois qu'une nouvelle bêta sort.
2. Si c'est du C, il y a du boulot à faire pour les déclarations. Tu peux repiquer une partie sur mon portage de Backgammon. Si c'est de l'assembleur, il faut inclure les headers livrés avec Fargo (mais le linker de TIGCC 0.95 fonctionne pour linker), et il peut là aussi avoir un portage à faire.
Et puis sinon je voulais savoir s'il y avait une différence du fonctionnement des timers et notamment l'auto int 5 entre les Ti89 et les Ti92Plus...

Non.
Vous savez comment je pourrais faire pour avoir des faire capture d'écran TI que je peux passer en png qui s'afficheraient sans problème ?

Les captures de VTI devraient marcher très bien en PNG. N'importe quel BMP peut être converti en PNG.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité