1

-

2

Je crois bien que oui sad

J'ai eu le même problème pour GBS. Si qqun à une meilleure solution, je suis preneur également.
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

3

Oui, il me semble qu'il n'y a pas d'autre solution que ce que propose Vertyos.
Mais ça n'est ps très compliqué.
Moi, je fais une boucle qui récupère tous les noms de dossiers dans un tableau de pointeurs, puis une autre qui va successivement dans chaque dossier pour trouver le fichier recherché.

4

Oui, il me semble qu'il n'y a pas d'autre solution que ce que propose Vertyos.

Ah bon j'ai proposé quelque chose ? grin
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

5

Ah ouais, en fait tu n'as rien proposé smile
Mais bon, tu lui as indiqué la technique en confirmant sa question.

6

-

7

un tableau constitué de pointeurs sur les noms dans la vat
(avec un peu de chance, ça doit être possinle smile)
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

8

Perso j'utilise un tableau que je malloc provisoirement, pour y stoquer les noms de dossier, et je le désalloc quand j'ai fini.
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

9

Dans CIV, j'utilise un bloc mémoire réallouer en fonction du nombre de dossiers et de fichiers.
Et puis j'avais fait une fonction qui affichait une boite de dialogue et qui permettait d'ouvrir un fichier en sélectionnant le dossier puis le fichier, et là, j'utilisait une méthode assez lourde : je faisais une première boucle pour compter le nombre de dossiers, puis j'allouais sur la pile un petit bloc de la taille nécessaire que je désallouait après.
Mais c'était chiant : je devais faire une boucle exprès pour compter le nombre de dossiers. puis refaire la même après avoir alloué le bloc sur la pile pour y mettre les adresses des noms des dossiers...
d'ailleurs s'il y a un ROM_CALL qui permet de connaître le nombre de dossiers dans la TI, ça m'intéresserait.
Ou bien s'il y a une autre solution, c'est encore mieux.

Sinon, Orion, si tu as juste un fichier précis à trouver, dont tu connais le nom à l'avance, tu n'as pas besoin de tout ça. Tu dois juste chercher CE fichier dans chaque dossier.

Au lieu de chercher tous les fichiers et de regarder si le nom correspond au tient, cherche seulement ton fichier (avec SymFindPtr(SYMSTR(adresse_du_nom_du_fichier),0)) dans chaque dossier.

10

-

11

Oui. Pour ID-Editor, je n'utilise pas de tableau de pointeurs.
Il suffit de parcourir la liste des dossiers, et de rajouter "nom_dossier\" avant le nom du fichier à trouver. Puis tu fais un SymFindPtr avec le chemin complet ("nom_dossier\fichier") pour chaque dossier. smile

12

-

13

ça ne risque pas... SYMSTR s'occupe de la conversion en nom TiOS, donc tu dois virer le SYMSTR(nm+strlen(nm)) smile
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

14

-

15

Et puis si le nom du dossier fait 8 caractères, vu qu'il n'y a pas de 0 pour délimiter la fn de la chaine, tu dois la recopier avec strncpy (ou memcpy), parce que sprintf va attendre la fin de la chaine pour s'arrêter de la copier.

16

Alors je sais pas trop si c'est ce que vous voulez, mais moi j'ai une routine qui cherche dans tous les dossiers. Le seul problème étant que si on cherche un fichier x et qu'il existe deux dossiers a et b avec des variables x dedans, la fonction renverra l'adresse de la variable x du dossier a et pas celle du dossier b.
Enfin voilà:
char *open_fileBiHi(const char *str)
{
  SYM_ENTRY *sym_var = SymFindFirst(NULL, FO_RECURSE);
  if(!sym_var || !sym_var->handle)
    return NULL;

  while(strcmp(sym_var->name,str) || sym_var->flags.bits.folder)
  {
    sym_var = SymFindNext();
    if(!sym_var)
      return NULL;
  }
  return ((char *)HeapDeref(sym_var->handle))+2;
}

Et puis je l'ai recodé en ASM elle doit prendre moins de place mais je l'ai pas là sous la main...
avatar
;)

17

La question a déjà été posée. La solution est dans les sources de TI-Chess. J'ai posté l'extrait qui convient dans ce topic-là.
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é

18

de même ma propre solution y est posté. Elle à le même incovénient que celle de Bihi, mais elle ne cherche que le premier fichier portant l'extension AgdD. Elle peut facilement être modifié pour trouver un fichier précis.
Car seuls les cons ne reconnaissent pas leurs erreurs.
=========================================
Avis aux newbies, avant de poster, essayez ça ->[http://databob.free.fr/IFAQ/FAQ]

Membre de la [V4pOR T34m]
EvaSDK's Homepage > et c'est reparti

19

cherche les sources de gs tu trouveras ton bonheur!
XLib v1.00 Powerrrrrrrrrrrrrrrrrrrr!

20

J'aime bien ton avatar smile
Tu as repris la célèbre photo de l'écran bleu de Windows pour le faire ?

Dans le genre jolies filles & Anti-Window$, j'aime beaucoup celle-là grin
Et celle-ci heart
Ou encore : http://www.wtf.dk/files/realpr0n/linux_chick8.jpg smilesmile
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.

21

Ultra connues, et puis y a mieux...
Car seuls les cons ne reconnaissent pas leurs erreurs.
=========================================
Avis aux newbies, avant de poster, essayez ça ->[http://databob.free.fr/IFAQ/FAQ]

Membre de la [V4pOR T34m]
EvaSDK's Homepage > et c'est reparti

22

L'est jamais content l'autre 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.

23

moi j'aime PAS :
avatar.gif
198Ko !! mad


c trop compliqué à redimensionner une image ????
pfff...

24

faut dire ca a godzil, timad n'y est pas pour grand chose smile

Pen²> faut avouer que c'est beau quand même tongue

25

ben oui, mais en signature ça prend 2 secondes pour le reduire..
=>avatar_timad.gif

26

1920 octets.. tongue (et en plus c reduit proprement, en conservant la proportionnalité)

27

Je parie qu'en en faisant un PNG, tu pourras encore réduire la taille. (Mon PNG est énorme, mais c'est parce que je ne l'ai pas redimensionné. smile C'est le gros logo TIGCC.)
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é

28

c pas obligatoirement un gif ?

29

Non, regarde mon avatar...
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é

30

je crois que t'as perdu ton pari : en png, à 128 couleurs, tramage 88%, diffusion et palette selective (rendu equivalent au gif), j'obtiens 2263 octets.