30

Parce que tu n'utilise pas une structure, mais un pointeur vers une structure.

31

ok
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

32

bon ca marche. Je réussi a lire les données. Maintenant je voudrais qu'elles soient copiées dans des vars locales. Histoires de pouvoir les manipuler. Il faut que j'utilise memcpy c ca ?
if (!rhandle && !result)  DrawStr(0,0,"ERREUR FATALE",A_REPLACE); else {            typedef char *ptr;   ptr monptr=HeapDeref(rhandle);   ptr ptrac;   clrscr();   ptrac=monptr+2;   i=0; do {  ptrac++;  if ( (*ptrac == (0x00)) )   { DrawStr(0,8*i,ptrac+1,A_NORMAL); i++;     while(*ptrac != (0x2D)) {ptrac++;}   } } while(*ptrac == (0xE5) && i<9);

Sachant que ce qui n'est pas déclaré est dans le post précédent (rhandle et result) et que i est un int ou un short.

J'obtiens 'Comparison is always false due to the limited range of the data type' pour le test avec 0xE5 ou 0xD9 et je ne comprends pas pkoi !
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

33

et j'ai oublié une {
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

34

Je ne vois pas...
Peut-être qui'l faut simplement mettre (char)0x2D

35

c fou ca, le test au milieu du code marche sans ca mais pas celui de sortie. Enfin bon, ca marche maintenant.
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

36

typedef unsigned char *ptr;
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é

37

c bete mais ca doit etre ca en plus. Merci Kevin.
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

38

Chui super content, hier j'ai passe environ 4h dessus et j'ai bien avance. Maintenant mon prog sait faire defiler les contacts sans depasser du fichier et il sait aussi les compter grin.
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

39

la joie du codeur qui progresse à vue d'oeillroll
ça fait longtemps que je n'ai plus connue ça moi.
faudrait que je m'y remette un peugni

40

Ce soir j'aurais probablement le temps de coder une ou deux fonctions. smile
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

41

Bon, en fait j ai pas bcp avancer. J ai un porbleme pour charger les donnees de la matrice dans une structure. On dirait que de mainiere aleatoire, il ne recopie pas le 1 char pointer par mon pointeur alors que je suis certain qu il y a qqch sur le fichier. Si qq un peut m'aider... J ai pas le code sous la main, mais demain peut-etre (surement....)
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

42

non, en fait c bon, j'ai change de methode, et maintenant ca marche tres bien.
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

43

Bon alors aujourd'hui, je cherche à pouvoir accéder à plusieurs fichiers de données.

format: taille/1/chemin complet/1/0/AgdD/0/oth_tag

pour récuperer le chemin j'ai pas de probs, mais j'arrive pas à faire en sorte que SymFind ou SymFindPtr marche avec ce que je renvoie. J'ai essayé la commande SYMSTR (ancien $) mais ca foire. Help...
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

44

Je n'ai pas compris ce qu'était ton format de données, mais si tu arrives à récupérer le chemin complet, tu devrais pouvoir arriver à un résultat avec les fonctions du genre SymFindPtr et SymFindFirst, en mettant en argument SYMSTR(ptr_chemin)

45

je vais essayer avec ca, merci

Pour le format, c'est l'organisation des valeurs dans le fichier, j'avais pas envie de mettre tous les fputc,... Trop lourd...
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

46

La macro SYMSTR ne marche que pour des chaines "immédiates".
(c'est à dire des chaines données telles quelles dans le source, comme pour un puts("Bonjour") La chaine "Bonjour" peut être qualifiée d'immédiate)
Comme c'est une macro, elle ne peut pas marcher avec des variables chaines.
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.

47

Houlà, je ne sais pas d'où tu sors ça, mais c'est complètement faux !
SYMSTR est une macro qui prend en argument un pointeur sur un char (char *).
Donc que tu mettes une chaine "immédiate" (ce qui ne veut rien dire au fait), ou un pointeur sur une chaine ça marchera autant, puisque bien entendu, quand tu écris "chaine" dans une source C, le compilo la remplace par son adresse.

Et il n'existe pas de type de variable CHAINE... (on n'est pas en BASIC, tu as p-ê confondu...)

48

Je crois qu'il confond la macro constructeur $, et SYMSTR, qui ne sont pas du tout la même chose. SYMSTR converti bien une chaine "normale" en chaine utilisable pour pointer vers une variable TiOS, avec SymFindPtr par exemple.
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

49

If the argument passed to SYMSTR is a string literal as in this case, SYMSTR simply expands to the sequence in the second example. This is an optimization done by the preprocessor. In all other cases, space for a temporary string is allocated on the stack using alloca, and the string is copied to this location on the stack. Strictly speaking, SYMSTR does not return a pointer of type SYM_STR in this case, but rather a pointer to non-constant data. This means that you may write to it if you wish.

Oups! J'avais pas vu... #honte#
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.

50

'pouvez m'expliquer mon erreur dans la ligne:

HSym hs=SymFind(SYMSTR((char *)("mainaglm")));
ou
HSym hs=SymFind(SYMSTR((char *)(var)));

ou var est un tableau de caractères terminé par et ou la fonction strlen n'arrive pas à déterminer la longueur de var (renvoie 0)

pour le moment, la ligne qui marche:
HSym hs=SymFind(SYMSTR((char *)("aglm")));
mais j'ai pas envie de parcourir tous les dossiers à sa recherche étant donné que je demande sa localisation précise...
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

51

Bon, déjà, ce n'est pas la peine de transtyper ta chaine et ta variable var (si elle est déjà un tableau de char).
Normalement Hsym hs=SymFind(SYMSTR("mainaglm")); devrait marcher aussi bien que SymFind(SYMSTR("aglm")); (si la variable aglm est bien dans main...).

Et sinon, ce n'est pas normal que strlen ne puiss déterminer la taille de var (tu es sûr qu'elle ne commence pas par 0 ?). Comment l'initialises-tu ?

52

Je définis un type avec une variable (pour avoir la taille du texte pile+) puis je fais tourner une boucle pour la remplir et compris dedans et j'ai vérifié suffisament de fois que le premier char et bien != de 0 (et les suivants aussi)
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

53

Poste le code, je ne comprends pas trop (surtout le "je définis un type avec une variable")

54

Un bout de la source

ptr_uc = unsigned char *
HANDLE Handle_agdrg=(SymFindPtr($(agdrg),0)-> handle); ptr_uc rh,rg1=HeapDeref(Handle_agdrg)+2; rh=rg1; do{rg1++;}while(*rg1!=1); char rep[(int)(rg1-rh)-1]; memset(rep,(int)(rg1-rh)-1,0); rh++; i=0; do{rep[i]=*rh;i++;rh++;}while(*rh!=1); for(i=0;i<10;i++) printf("n%c %d",rep[i],rep[i]); ngetchx(); HSym hs=SymFind(SYMSTR((char *)("mainaglm"))); result=DerefSym(hs); rhandle = result -> handle;

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

55

il m'affiche bien ce que j'ai mis dans agdrg mais les trois dernières lignes ne renvoient rien.
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

56

bon en fait j'ai bien fait une erreur mais qui ne se vois pas là apparement, en remmettant des bouts de code que j'avais effacer, la structure de la variable qui contient les chemins d'accès a été modifiées. Maintenant ca marche et en plus, mon programme sait retrouver tout seul la variable de stockage des infos.

Merci quand même.
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

57

Pourquoi tu n'utilises pas une nouvelle fois SymFindPtr (au lieu de SymFind) ?
Sinon, c'est à quelle ligne que ça bugge ?
Que vaut hs après le SymFind ? (tu devrais faire un test du genre if(!hs) return NULL;)

58

je suis en train de modifier tout ca et de rajouter 2-3 test histoire que a plante pas pour un rien...

[edit] petite correction, le prog ne trouve le fichier de sauvegarde que dans le dossier actif
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

59

au fait mon prog fait deja plus de 8500 octets et je ne fais pas encore de manipulation des données c normal ?
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

60

EvaSDK
a écrit : je suis en train de modifier tout ca et de rajouter 2-3 test histoire que a plante pas pour un rien...

top Bonne initiative.
[edit] petite correction, le prog ne trouve le fichier de sauvegarde que dans le dossier actif

C'est normal, c'est dit dans la doc des fonctions SymFind et SymFindPtr.
EvaSDK
a écrit : au fait mon prog fait deja plus de 8500 octets et je ne fais pas encore de manipulation des données c normal ?

Ben je ne sais pas, il fait quoi exactement, ton prog ?