1

Comment on fé pour cacher toutes ses var avec le C ??
gé fé ca mé ca marche pa :
ESI argtpr;
SYM_ENTRY *SymPtr = SymFindFirst(NULL,4);
while(SymPtr)
{
push_ANSI_string(SymPtr->name);
argtpr = top_estack;
DerefSym(SymFindHome($(GetFloatArg(argtpr))))->flags.bits.hidden=1;
SYM_ENTRY *SymPtr2 = SymFindFirst(GetSymstrArg(argtpr), 1);
while(SymPtr2)
{
push_ANSI_string(SymPtr2->name);
argtpr = top_estack;
DerefSym(SymFind($(GetFloatArg(argtpr))))->flags.bits.hidden=1;
SymPtr2 = SymFindNext();
}
SymPtr = SymFindNext();
}
Merci

2

pas comme ca tongue

SYM_ENTRY *SymPtr = SymFindFirst(NULL,4); 
while(SymPtr) 
{ 
 while(SymPtr2) 
 {  
   DerefSym(SymFind($(SymPtr2->name))))->flags.bits.hidden=1; 
   SymPtr2 = SymFindNext(); 
 } 
 SymPtr = SymFindNext(); 
} 


j'écris ca vraiment au hasard

3

Il faut savoir que le fait de cacher les variables est un gros abus du flag hidden (in_use). Ce flag marque qu'AMS est en train d'utiliser le fichier, et qu'il est donc en principe inaccessible à quoi que ce soit d'autre. Et utiliser ce flag pour cacher des variables peut créer des problèmes...
avatar
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
Co-admin de TI-Planet.

4

Merci mé pkoi kan jessaye sur vti ca marche pa??

5

Cé juste pour savoir kommen on fé pke si on px far ca on px archiver, desarchiver, decacher...
Merci pour l'info

6

Je suppose que tu as transféré des fichiers à ta VTI ?
avatar
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
Co-admin de TI-Planet.

7

oui pkoi??

8

Au fait, kantecek il fau le definir symptr2???
Merci

9

Idem, j'écrit ça sans vérifier, donc c'est fort probable que ça marche pas mais essaye tjrs :

void _main(void) {
SYM_ENTRY *sym;
ESI argument;
char *ptr;

argument=top_estack;
if(GetArgType(argument)!=STR_TAG) return;
ptr=(char*)GetStrnArg(argument);

sym=SymFindPtr(SYMSTR(ptr),0);
sym->flags.bits.hidden=1-(sym->flags.bits.hidden);
}


Edit : Si ça marche, tu le lance avec comme argument un nom du fichier, et ça alterne son état (ça le cache si il était visible, et vice-versa).
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

10

Ascur a écrit :
Cé juste pour savoir kommen on fé pke si on px far ca on px archiver, desarchiver, decacher... Merci pour l'info


Décacher, oui.
Mais pour archiver et désarchiver, ce n'est pas du tout le même procédé.
Il faut utiliser des fonctions qui copient un fichier de la RAM vers la ROM et inversement.

11

C'est vrai qu'avec les flags on peut tout juste essayer de faire croire à AMS qu'un fichier est archivé, ce qui devrait avoir des conséquences spectaculaires pour toute tentative d'accès à cette variable
avatar
Maintenant j'ai la flemme de garder une signature à jour sur ce site. Je n'ai même plus ma chaîne Exec sous la main.

12

je confirme, la calcu sait plus quoi faire si on change juste le flag archive grin
C'est marrant d'ailleur... le beau plantage tongue
Mon site perso : http://www.xwing.info

13


void _main(void) {
SYM_ENTRY *sym;
ESI argument;
char *ptr;

argument=top_estack;
if(GetArgType(argument)!=STR_TAG) return;
ptr=(char*)GetStrnArg(argument);

sym=SymFindPtr(SYMSTR(ptr),0);
sym->flags.bits.hidden=1-(sym->flags.bits.hidden);
}

--> ça marche pas... le compilateur dit "undefined reference to 'SYMSTR'

14

Sois sûr que tu as la dernière version de TIGCC...
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

15

Tu peux utiliser flags_n et SF_HIDDEN au lieu de flags.bits.hidden.

Et en effet, quelle version de TIGCC utilises-tu ?
avatar
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
Co-admin de TI-Planet.

16

J'ai téléchargé la derniere version de TIGCC (0.93) et ça me fait la même chose...

17

C'est pas du tout la dernière version, et c'est normal que ça marche pas avec...

Prends la 0.94 b19 ou b20 je sais plus
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

18

Maintenant ca marche
Effectivement la derniere c'est la 0.94b
Merci bcp

19

de rien smile
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

20

pour archiver et desarchiver, tu passe par EM_MoveFromArchivemachinchose et un qui ressemble ...

21

Vertyos
a écrit : Prends la 0.94 b19 ou b20 je sais plus

La plus récente est la bêta 21. smile
nEUrOne a écrit :
pour archiver et desarchiver, tu passe par EM_MoveFromArchivemachinchose et un qui ressemble ...

EM_moveSymToExtMem et EM_moveSymFromExtMem. Cf. http://tigcc.ticalc.org/doc/vat.html#EM_moveSymFromExtMem.
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é

22

Kevin Kofler a écrit :
La plus récente est la bêta 21. smile

Est-ce qu'elle a encore le probleme de pointeur qui ne change pas de forme, et de ppg qui ne peut pas avoir de '_' dans son nom ?
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

23

La fonction
void _main(void) {
SYM_ENTRY *sym;
ESI argument;
char *ptr;

argument=top_estack;
if(GetArgType(argument)!=STR_TAG) return;
ptr=(char*)GetStrnArg(argument);

sym=SymFindPtr(SYMSTR(ptr),0);
sym->flags.bits.hidden=1-(sym->flags.bits.hidden);
}
ne permet pas de cacher les repertoire, comment faut-il s'y prendre?

24

Je n'y connais rien en cachage de répertoire, mais je ne comprends pas pourquoi tu mets 1-(sym->flags.bits.hidden); et non pas 1 tout simplement ?

25

C'est l'équivalent de !sym->flags.bits.hidden, en moins optimisé.
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.

26

ah ok, je pensais qu'il voulait seulement cacher le fichier. Pas cacher ou décacher selon l'état dans lequel il était précédemment.

27

!sym->flags.bits.hidden

Une comparaison renvoie toujours 1 quand elle est vérifiée ???
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

28

Ouaip. C'est une convention.
Perso, j'aurais trouvé plus logique que ce soit -1.
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.

29

si le bit est à 0, ça renvoie 1.
si le bit est à 1, ça renvoie 0.
Donc en faisant sym->flags.bits.hidden= !sym->flags.bits.hidden, on inverse l'état du bit.

[edit]Merde, je viens de comprendre ta question, Vertyos, et ce qu j'ai posté n'y répond pas en fait. Je suis vraiment à l'ouest... roll

30

Vertyos
a écrit : Est-ce qu'elle a encore le probleme de pointeur qui ne change pas de forme,

Non, c'est corrigé.
et de ppg qui ne peut pas avoir de '_' dans son nom ?

Là, oui, ça y est encore... Il fallait reporter le problème à Sebastian. Il ne lit pas ce forum. (Il ne parle pas suffisamment bien le français.) Je viens de le faire là (je m'attendais à ce que tu le fasses - je t'ai déjà dit plusieurs fois de contacter Sebastian directement pour les problèmes avec l'IDE). D'ailleurs, les lettres accentuées ne sont pas acceptées non plus dans les noms de PPGs; j'ai signalé ça aussi.
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é