1

-

2

Elle est initialisée au moins, buffer ?

Bon de toute façon même si elle l'est ça ne risque vraiment pas de marcher strcpy(buffer_+1,buffer+strlen(buffer)) roll
Avec ça tu copies... rien dans buffer puisque buffer+strlen(buffer) pointe sur le zéro terminal de buffer !
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

-

4

perso, je pense qu'il faut sortir le +strlen (buffer) hors du strcpy, parcque là, il te copie un peu n'importe quoi !
Mon site perso : http://www.xwing.info

5

-

6

Bon ben tu télécharge la dernière beta de TIGCC, et tu fais ça :
if (!SymFind (SYMSTR (buffer))) {.........}
Mon site perso : http://www.xwing.info

7

Pi si tu veux pas la télécharger, v'la la macro :
#define SYMSTR(s) ({register unsigned short __slen=_rom_call(unsigned long,(const char*),27E)(s);ESI __tempstr=alloca(__slen+2);__tempstr[0]=0;_rom_call(void*,(void*,const void*,long),26A)(__tempstr+1,(s),__slen+1);__tempstr+__slen+1;})
Fais comme tu veux, mais il y a beaucoup plus d fonctions dans TIGCC 0.94beta12 grin
Mon site perso : http://www.xwing.info

8

-

9

La macro est made in Zeljko grin
Mais tu devrait vraiment passer à la dernière beta, elle est franchement mieux!
Mon site perso : http://www.xwing.info

10

-

11

Ah, excuse, j'avais pas compris que c'était avec la beta 0.94 que rien compilait tongue
Mais t'as quoi comme os, c'est bizarre que ça marche pas ?!
Mon site perso : http://www.xwing.info

12

Eintein est compilé avec la ß0.94 et je n'ai aucun problème !?
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.

13

deja, evite les goto...

voivi ta proc sans le goto :

void LoadTab(void)
{
  if(!(dialog=DialogNewSimple(140,38))) return;
  DialogAddTitle(dialog,"Charger un Tableau",BT_OK,BT_CANCEL);
  DialogAddRequest(dialog,3,15,"Nom du Tableau",8,8,8);
  if(DialogDo(dialog, CENTER, CENTER, buffer, NULL)==KEY_ENTER)
  {
    HeapFree(dialog);

    if(!SymFind(strcpy(buffer_+1,buffer+strlen(buffer))))
      {
        DlgMessage("Erreur Fichier Inexistant.", buffer, BT_OK, BT_NONE);
       }
    else
      {
        f=fopen(buffer,"rb")
        fread(Tab ,1 ,12*20*sizeof(short), f);
        fclose(f);
       }
  }
}


c deja mieux.....
Ancien pseudo : lolo

14

-

15

y a pde koi... wink
Ancien pseudo : lolo

16

Non, il y a déjà la 12, c'est juste qu'il n'y a pas de news.
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é

17

Le problème est que SymFind retourne un HSym, qui est une structure. Remplace:

if(!SymFind(strcpy(buffer_+1,buffer+strlen(buffer)))){ DlgMessage("Erreur Fichier Inexistant.", buffer, BT_OK, BT_NONE); goto passload;}
par:
if(!({HSYM hsym;hsym=SymFind(strcpy(buffer_+1,buffer+strlen(buffer)));*(unsigned long *)&hsym;})){ DlgMessage("Erreur Fichier Inexistant.", buffer, BT_OK, BT_NONE); goto passload;}
(N'aie pas peur, tout ça génère un seul tst.l %d0 pour la comparaison.)
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

orion_>, tu as mal placé une parenthèse dans ce que je t'ai donné :
ce n'est pas ça qu'il faut mettre : strcpy(buffer_+1,buffer+strlen(buffer))
, mais ça : strcpy(buffer_+1,buffer)+strlen(buffer)
Et il faut bien sûr que le premier élément de buffer_ soit un caractère nul (\0).

[edit]Edité par jackiechan91 le 15-04-2002 à 21:01:19[/edit]

19

ben vi, c'est ce que j'avais dit au post 4...
Mon site perso : http://www.xwing.info

20

-

21

suaf que ça prend du temps...
Site : http://www.phareaway.com/
Membre du groupe Phare Away et webmaster du site

22

Il utilise déjà fopen de toute façon.
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é

23

-

24

Ben normalement, fopen crée le fichier pour toi. Et ton code semble bon.
Ca devrait pas poser de prolème à première vue !
Mon site perso : http://www.xwing.info

25

Il faut faire ça :
unsigned char buffer[8];
Est-ce que tu l'as fait ?

26

-

27

-

28

Ben j'ai réfléchis, à ton post 22, et puis je me dis, franchement, laisse tomber les fopen ! tu verras, ton programme sera plus court (environ 1,5-2 k0 de moins, c'est ce que j'ai eu). Pour te montrer, j'ai modifié ton morceau de code du post 22, ça donne ça :
unsigned char buffer;
char *file;
SYM_ENTRY *sym;

if(!(dialog=DialogNewSimple(140,38))) return;
DialogAddTitle(dialog,"Sauvegarder un Tableau",BT_OK,BT_CANCEL);
DialogAddRequest(dialog,3,15,"Nom du Tableau",8,8,8);
if(DialogDo(dialog, CENTER, CENTER, buffer, NULL)==KEY_ENTER)
{
	HeapFree(dialog);
	sym = DerefSym (SymAdd (SYMSTR (buffer)));
	file = (char*)HeapDeref (sym->handle = HeapAlloc(2 + 12*20*sizeof(short) + 6));
	*(unsigned short *)file  = 12*20*sizeof(short) + 6;
	memcpy (file+2, Tab, 12*20*sizeof(short));
	*(file+2+12*20*sizeof(short)) = 0;
	memcpy (file+2+12*20*sizeof(short)+1, "DTX", 3);
	*(file+2+12*20*sizeof(short)+4) = 0;
	*(file+2+12*20*sizeof(short)+5) = OTH_TAG;
}


Pi si tu veux pas utiliser la macro SYMSTR de la beta12, tu prend une variable char buff[10]
buff[0] = 0;
strcpy (buff+1, buffer);
et tu remplace SYMSTR (buffer) par buff+1+strlen (buff+1)
Mon site perso : http://www.xwing.info

29

> memcpy (file+2+12*20*sizeof(short)+1, "DTX", 3);
> *(file+2+12*20*sizeof(short)+4) = 0;

Pourquoi pas memcpy (file+2+12*20*sizeof(short)+1, "DTX", 4); ? Ça revient au même en une instruction en moins.
Ou encore mieux: strcpy (file+2+12*20*sizeof(short)+1, "DTX") .
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

ben vi, si tu veux...
Jvais ptete modifier ça dans mon prog , c'est une bonne idée (j'ai fait plus ou moins un copier/coller grin)
Mon site perso : http://www.xwing.info