1

Est-ce qu'il existe un ROM_CALL qui renvoie une chaine en fonction du TAG de type d'un fichier ?

Autrement dit une fonction de type char* qui fasse ça : type_var(45) > "STR"
ou bien encore : type_var(SYMSTR("machaine")) > "str"

J'ai pas trouvé ds la doc, mais comme la fonction de recherche laisse à désirer, je ne perd pas espoir. Sinon je suis bon pour le switch sad
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

2

Non ça n'existe pas tongue

Sauf pour le 2), en passant par la fonction TiBasic getFileType (je crois que c'est son nom), mais bonjour le bordel pour passer le paramètre puis le récupérer grin
avatar
Un site complet sur lequel vous trouverez des programmes et des jeux pour votre calculatrice TI 89 / Titanium / 92+ / Voyage 200 : www.ti-fr.com.
Quelques idées personnelles ici.

3

regarde SmapTypeStrings et GetDataType
avatar
Tutorial C (TI-89/92+/v200) - Articles Développement Web (PHP, Javascript, ...)
« What is the sound of Perl? Is it not the sound of a wall that people have stopped banging their heads against? » - Larry Wall

4

Thibaut> post croisé smile

Bob> j'ai pas regardé en détails, mais c ce que ça semble faire
avatar
Tutorial C (TI-89/92+/v200) - Articles Développement Web (PHP, Javascript, ...)
« What is the sound of Perl? Is it not the sound of a wall that people have stopped banging their heads against? » - Larry Wall

5

Bien joué squale92 !!

Le n°2 est réalisable avec SmapTypeStrings(GetDataType($("fichier"))) smile

Pour le n°1 par contre...
avatar
Un site complet sur lequel vous trouverez des programmes et des jeux pour votre calculatrice TI 89 / Titanium / 92+ / Voyage 200 : www.ti-fr.com.
Quelques idées personnelles ici.

6

Cool bah c'est déjà ça, merci bcp smile

Une autre petite question qui n'a rien à voire mais bon :
Les pointeurs SYM_ENTRY utilisent des champs de bit, notement pour l'état de la variable. Il y a 8 bits définis sur un unsigned short. Ça n'était pas possible de les définir sur un unsigned char, qui pourtant est codé sur 8 bits ?
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

7

GCC regroupe automatiquement les 2*8 champs dans un seul short.

C'est vrai que c'est étrange que la déclaration n'ait pas été faite sur un char black
avatar
Un site complet sur lequel vous trouverez des programmes et des jeux pour votre calculatrice TI 89 / Titanium / 92+ / Voyage 200 : www.ti-fr.com.
Quelques idées personnelles ici.

8

Merci Thibaut.
tes compliments sont rares smile
(je me souviens d'une époque où tu me reprenais à chaque fois que je disais un mot grin ou presque)


Bob> dans un bouquin C ou C++, je sais plus, mais il était dit que les champs de bits ne pouvaient être que sur des unsigned int, ce qui cirrespondrait, sur TI, à des unsigned short... (cela dit, j'ai déjà utilisé des Ucahr et Ulong sans pb, je crois)
(là, je sens que thibaut risque de me reprendre grin)
avatar
Tutorial C (TI-89/92+/v200) - Articles Développement Web (PHP, Javascript, ...)
« What is the sound of Perl? Is it not the sound of a wall that people have stopped banging their heads against? » - Larry Wall

9

Ah ok smile
Bon bah je viens en plus qu'on peut faire des trucs comme ça :

struct {
unsigned char act:1,lnk:2,spr:1;
}

Pour que la variable lnk puisse prendre aussi 2 ou 3 pour valeur. Bref je sens que je vais gagner pas mal de place smile
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

10

ben oui, dans un champ de bits, tu peux coder sur combien de bits est codé chaque champ smile
=> c'est à ça que sert le chiffre après les deux points smile

(et tu peux aussi mettre un 0, je crois, pr forcer un alignement)
avatar
Tutorial C (TI-89/92+/v200) - Articles Développement Web (PHP, Javascript, ...)
« What is the sound of Perl? Is it not the sound of a wall that people have stopped banging their heads against? » - Larry Wall

11

Fais attention à la forme de ton champ de bit :
struct bit {
unsigned char un:5, deux:3, trois:6, quatre:2;
}; // Prendra 2 octets (5+3 puis 6+2)

tandis que :
struct bit {
unsigned char un:5, trois:6, deux:3, quatre:2;
}; // Prendra 3 octets (5, puis 6, puis 3+2)

Un champ n'est jamais à cheval sur un octet.

12

Enfin, sauf si tu fais unsigned int au lieu de unsigned char.
Là, ton champ de bit pourra être à cheval sur un octet sur deux. Dès qu'il dépassera le 2ème octet, ça fera 2 nouveaux octets en plus (un int, quoi).

13

c'est à ça que sert le chiffre après les deux points

Bah oui je sais bien... J'avais juste oublié une partie de ma phrase :
"Bon bah je viens en plus de m'appercevoir qu'on peut faire des trucs comme ça"

Au fait, ceci n'est pas précisé dans ta doc, il me semble smile

Jackiechan > Merci pour ces précisions smile
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

14

squale92
a écrit : regarde SmapTypeStrings et GetDataType

C'est bien, mais c'est AMS 2.00 minimum. sad
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é

15

Kevin> certes, mais j'ai simplement dit à Bob d'aller voir la doc de ces fonctions.
A lui ensuite de voir que c'est sur Rom2.0x only smile
(je ne lui ai pas non plus expliqué comment les utiliser !)

Bob> oué, pr les champs de bits à plusieurs bits par champs, c pas mis dans mon tuto, je crois : à l'époque où j'ai rédigé, je devais pas savoir que ct possible smile
(j'ai du apprendre les champs de bits avec la doc de SYM_ENTRY, je crois...)
avatar
Tutorial C (TI-89/92+/v200) - Articles Développement Web (PHP, Javascript, ...)
« What is the sound of Perl? Is it not the sound of a wall that people have stopped banging their heads against? » - Larry Wall

16

Arf AMS 2.00 minimum...

Heu, concretement il se passe quoi si on lance le prog qui appelle cette fonction sur AMS 1.00 ? Il ne se passe rien ou bien ça plante magistralement ?
Parceque dans le 1er cas, les users de 1.xx n'auront qu'à aller se faire cuire un oeuf, dans l'autre c'est un peu plus gênant...
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

17

squale92 : Les champs de bits sur un octet sont tout à fait possibles avec GCC wink pour preuve, la structure GX_joypad de GraphX.
avatar
Un site complet sur lequel vous trouverez des programmes et des jeux pour votre calculatrice TI 89 / Titanium / 92+ / Voyage 200 : www.ti-fr.com.
Quelques idées personnelles ici.

18

Thibaut> OK.
est-ce que c'est ANSI, ou est-ce que c'est une extension GNU ?

Bob> essaye smile
mais, par défaut, tu pourras pas utiliser cette fonction sans mettre #define MIN_AMS 200
=> le prog tournera pas sous ROM1.0x
avatar
Tutorial C (TI-89/92+/v200) - Articles Développement Web (PHP, Javascript, ...)
« What is the sound of Perl? Is it not the sound of a wall that people have stopped banging their heads against? » - Larry Wall

19

Merde... C'est pour vertel, et la rendre incompatible ac AMS 1.xx ça me fait chier quand même sad

Je vais songer au switch... Vous avez une idée du nombre de tags 'non-perso' genre 'STR', 'PRGM', etc... utilisés par le TiOS ?
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

20

une dizaine, au max.
j'en avait une liste il y a longtemps... perdu depuis
avatar
Tutorial C (TI-89/92+/v200) - Articles Développement Web (PHP, Javascript, ...)
« What is the sound of Perl? Is it not the sound of a wall that people have stopped banging their heads against? » - Larry Wall

21

Ah ok ça va... Je vais faire un switch ds ce cas là...
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

22

smile

PIC, matrice et listes (c le même tag), GDB, prgm et func (c'est le même tag je crois), text, str, expr (c tout ce qui ne correspond pas aux autres), other, et encore deux ou trois, je penses

pr différencier func et prgm, c marrant, me semble-t-il.
pr list et matrice... bof, dans un cas (je crois que c les matrices), le tag est répété deux fois, puisqu'une matrice est une mliste de listes. je crois que c ça la différence
avatar
Tutorial C (TI-89/92+/v200) - Articles Développement Web (PHP, Javascript, ...)
« What is the sound of Perl? Is it not the sound of a wall that people have stopped banging their heads against? » - Larry Wall

23

sicksicksick

J'avais oublié le coup du "même tag"...
Bon je connais le format des PIC, et je ne pense pas qu'il soit identique aux listes / matrices, parcequ'il n'y a aucun autre moyen de le reconnaitre sinon.
Par contre entre listes et mat c la même chose, et ça je sens que ça va être chiant sad
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

24

pour différencier matrices et listes, c assez simple, il me semble !

pour le slistes, le tag finale est LIST_TAG
pour le smatrices, c'est aussi LIST_TAG, mais il est répété deux fois de suite !
(je crois que c'est ça)

si je retrouve la routine que j'avais fait, je te l'enverrai
avatar
Tutorial C (TI-89/92+/v200) - Articles Développement Web (PHP, Javascript, ...)
« What is the sound of Perl? Is it not the sound of a wall that people have stopped banging their heads against? » - Larry Wall

25

ok merci... v me démerder tant bien que mal smile
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

26

Je viens de t'envoyer la fonction.
c'est un code que j'ai écrit voila environ un an et demi => il est pas de top qualité, je penses... mais il me semble qu'il fonctionnait "à l'époque"
j'ai pas bcp détaillé mes explicaitons... si tu en veux plus, maile moi
avatar
Tutorial C (TI-89/92+/v200) - Articles Développement Web (PHP, Javascript, ...)
« What is the sound of Perl? Is it not the sound of a wall that people have stopped banging their heads against? » - Larry Wall

27

g reçu, g répondu, g vaincu (enfin un truc ds le genre)

c bon je devrais pvoir me débrouiller, le seul truc que je me demandais c comment différencier une FONC d'un PRGM, mais apparement la solution est dans ton programme smile
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

28

OK.
je viens de recevoir ton mail.
effectivement, il me smeble que pas mal de truc sert pr les commentaires smile


au fait, j'en profite pr remercier la TICT pour leur explorer.
Il y des trucs qd je bossais sur la VAT qui m'avaient aidé dedans.
(je sais pas si j'ai utilisé des trucs du tict-explorer pour cette fonction... mais c possible)
avatar
Tutorial C (TI-89/92+/v200) - Articles Développement Web (PHP, Javascript, ...)
« What is the sound of Perl? Is it not the sound of a wall that people have stopped banging their heads against? » - Larry Wall

29

pour le 1 et si le fichier est de type OTH j'avais trouvé ça:

char EXT[5]
FILE *f = fopen(mon_fichier,"rb") 
fseek(f,-6,SEEK_END); 
fgets(EXT,6,f);


ça marche pour des extension de un à quatre charactères personnalisés.
pour le types du TIOS je n'ai jamais vu une fonction qui retourne l'extension sous forme de chaine

30

IroS > Utiliser les fonctions fseek et autres pour ça, c'est un peu dommage... Pour les extensions perso, y'a 0, puis les 3 ou 4 caractères, puis un autre 0, puis le tag 'OTH' : 248.

Squale > Le PC sur lequel j'ai stoqué ton fichier txt a crashé sad
Ça n'était pas bien compliqué de faire la fonction que je cherchais, mais par contre je ne sais pas comment différencier un PRGM d'une FUNC. Comment faut-il faire ?
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)