30

ok ca c'est regler merci mai un new probleme c'est comment creer un fichier pic voila mon code qui ne marhce pas bien sur sadsad
clrscr();
BitmapPut(10, 10,
(BITMAP *)&(unsigned char[])
{0,5,0,5,
0b10001000,
0b01010000,
0b00100000,
0b01010000,
0b10001000},
&(SCR_RECT){{0,0,160,100}},A_REPLACE);
SCR_RECT a_sauver = {{10, 10, 18, 18}};
char buffer_mem[BITMAP_HDR_SIZE + 8*4/8];
BitmapGet(&a_sauver, buffer_mem);
ngetchx();
FILE *g = fopen ("var1", "wb");
fputc(0,g);
fputs(buffer_mem, g);
fputc(PIC_TAG, g); fclose(g);

31

y fô faire cela
clrscr(); 
BitmapPut(10, 10, 
(BITMAP *)&(unsigned char[]) 
{0,5,0,5, 
0b10001000, 
0b01010000, 
0b00100000, 
0b01010000, 
0b10001000},
&(SCR_RECT){{0,0,160,100}},A_REPLACE); 
SCR_RECT a_sauver = {{10, 10, 18, 18}}; 
void *buffer=malloc(BitmapSize (&a_sauver));
BitmapGet(&a_sauver,buffer);
FILE *f=fopen("pict","wb");
fwrite(buffer,1,BitmapSize (&a_sauver),f);
fputc(PIC_TAG, f); 
fclose(f);
ngetchx();


je sais que tous le monde s'en fout mais je me suis planté en filo ce matin sick
euh...

32

le free(buffer);arf g oublié à la fin
euh...

33

merci smilesmilesmilesmile et tu sait sinon pour les dossier j'ai fai ca
struct DossiersStructure
{
                char nom[10];
}dossier[100];
  short i=0;
  SYM_ENTRY *SymPtr = SymFindFirst(NULL, 4);
  while(SymPtr)
  {
   strcpy(dossier[i].nom, SymPtr->name);
   i++;
   SymPtr = SymFindNext();
  }
  DrawStr (5, 20, dossier[1].nom, A_NORMAL);
  ngetchx();

ca marche j'ai bien le nom du dossier mai apres j'ai internal error pourquoi?? sadsad

34

bidoo :
je sais que tous le monde s'en fout mais je me suis planté en filo ce matin sick


moi aussi mourn
j'ai jamais appris ni la demonstration ni l'etat en filorage
NTW !!!!!

35

merci de m'aider smilesmilesmile)smile

36

>>matthieu : moi je les avais appris mais j'ai fait de la grosse merde ce matin:a peine 1 page recto-verso avec 3 fautes d'othographes par mot vu que je me suis pa relu, et par dessus tou g oublié de marquer mon sujet mur

>>cered pourquoi tu te prend la tete ?
FILE *f=fopen("dossier\pict","wb");
euh...

37

non j'ai besion de connaitre tous les noms de repertoirs c'est pour un otre prog c'est quoi qui va pas dans mon code merci smilesmile

38


oups dsl je croyais que tu parlais du prgm en cours roll

mais te prend pas la tete avec les structures ! : fais plutot un tableau ou bien meme une liste chainée ( c le must!!)
char dossier[20][9];
short i;
for(i=0;i<20;i++)
strcpy(dossier[i],"");
i=0;
SYM_ENTRY *psym = SymFindFirst(NULL, 4);
while (psym!= NULL && i<20 )
{
strcat(dossier[i],psym->name);
psym = SymFindNext();
i++;
}
clrscr();
for(i=0;i<20;i++)
printf(dossier[i]);
ngetchx();


euh...

39

smilesmilesmilesmilesmile merci tu gere c'est rare les mecs comme toi smilesmilesmilesmilesmile

40

lol j'ai toujour internla error!!!!!!!

41

lol et j'ai trouver pk lol merci

42

je viens juste de le voir,
mais ton premier programme marche ...
euh...

43

oui c'etai un truc que j'aivai oublier lol etourderie quand tu nous tien j'ai une derniere question comment je peut recherche dans un repertoir un tyle de fichier. Comme les pic par exemple merci smilesmile

44

Tu peux utiliser le ROM_CALL VarOpen, mais je ne pense pas que ce soit ça que tu cherches.
Sinon, la seule solution que je connais est de tester le type de chaque fichier trouvé...
avatar
« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas. »

45

j'ai beau chercher je vois qu'une solution : tu fait un tableau avec les noms et les pointeur de chaque fichier (heapderef) contenu ds un dossier leur taille en byte puis tu teste leur dernier ou leur avant dernier byte avec peek(ptr+taille(-1 ou -2 je sé pu)) tu converti en hexa et tu fais switch avec les tags

sinon y'a une autre solution
tu va dans tigcc tu va ds help tu tape rechercher : var-link et tout est expliquer
euh...

46

bidoo
: tu converti en hexa
Ah ouais ? Comment ?
avatar
« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas. »

47

oula en fait j'en sais tro rien, vaut mieu faire la conversion inverse : (merci a francois leiber !! )
45 -> les chaînes de caractère
217 -> listes ou matrices
220 -> programmes ou fonctions
221 -> data
222 -> GDB
223 -> images
224 -> textes
225 -> figures
226 -> macros
243 -> programmes ou librairies en assembleur
donc pour tester tu fais ca :
nom="dossier\nom"
void *plastbyte=HeapDeref(SymFindPtr(SYMSTR (nom),0)->handle)+((MULTI_EXPR*)HeapDeref(SymFindPtr(SYMSTR (nom),0)->handle))->Size+1;
et ensuite un switch avec peek(plastbyte); 


euh...

48

bidoo> selon toi, quand tu déclares un int, il s'agit d'un entier décimal ou héxadécimal ?
avatar
« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas. »

49

euh..... pkoi?
euh...

50

tu sais le peek renvoie la valeur de l'octet en decimal , c pkoi g les conversions des differents TAG au dessus...
euh...

51

bidoo
: euh..... pkoi?



juste pour savoir hehe
avatar
Que cache le pays des Dieux ? - Forum Ghibli - Forum Littéraire

La fin d'un monde souillé est venue. L'oiseau blanc plane dans le ciel annonçant le début d'une longue ère de purification. Détachons-nous à jamais de notre vie dans ce monde de souffrance. Ô toi l'oiseau blanc, l'être vêtu de bleu, guide nous vers ce monde de pureté. - Sutra originel dork.

52

en fait t'en fait ce que tu veux de ton int ou short ou machin truc :
short i=0xAFFF
short i=0b11001
short i=155
euh...

53

arf dsl j'etais persuadé que la ti ne convertissait pas automatiquement en hexa
cered2000>> tu peux directement faire

#include <tigcclib.h>

short testtype(char *nom,short type)
{
void *plastbyte=HeapDeref(SymFindPtr(SYMSTR (nom),0)->handle)+((MULTI_EXPR*)HeapDeref(SymFindPtr(SYMSTR (nom),0)->handle))->Size+1; 
if(peek(plastbyte)==type)return 1;
return 0;
}

void _main (void)
{
char nom[18]="main\che";
if(testtype(nom,MATRIX_TAG)){clrscr();printf("c pas une matrice");ngetchx();}
}

...edit cross : j'ai pas été gentil... dsl
euh...

54

bidoo> En fait, tu ne conçois pas correctement les choses.

Ça n'a pas de sens de dire qu'une variable a une valeur en hexa ou en décimal. L'héxa ou le décimal, c'est juste une façon de la représenter. Mais la variable a toujours la même valeur.
10=A=52=... selon la base dans laquelle tu l'exprimes.

Donc ta valeur de retour de peek, c'est une valeur, point. Tu la compares à une autre valeur.
Si tu veux vraiment leur coller une base, à la limite, ce serait la base 2, parce qu'en interne, au niveau du µP, une information est contenue sur un fil qui peut prendre 2 états significatifs. Mais rentrer dans ces détails n'apporte rien.
avatar
« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas. »

55

En fait, le décimal, le binaire ou l'hexa ne sont qu'une représentation du nombre, qui vaut toujours la même chose, quelle que soit la manière avec laquelle il est écrit. C'est comme un mot écrit dans plusieurs langues (par exemple: français, anglais, allemand) mais qui conserve dans le fond le même sens.
Si on écrit souvent en hexa ou en binaire lorsque l'on programme, c'est par commodité, mais dans le code lui-même, ça ne change strictement rien.


edit 1 (cross avec Sasume smile)
edit 2:

je ne cherchais pas à être sympa ou non, mais, probablement comme Sasume, à mettre le doigt sur quelque chose que tu n'avais pas compris. Dans le but, bien sûr, de t'aider. Et visiblement il y avait quelque chose à préciser. Donc pas la peine de poster ce genre de phrase ingrate, ça n'arrange rien hehe
avatar
Que cache le pays des Dieux ? - Forum Ghibli - Forum Littéraire

La fin d'un monde souillé est venue. L'oiseau blanc plane dans le ciel annonçant le début d'une longue ère de purification. Détachons-nous à jamais de notre vie dans ce monde de souffrance. Ô toi l'oiseau blanc, l'être vêtu de bleu, guide nous vers ce monde de pureté. - Sutra originel dork.

56

ok! merci je le saurais à l'avenir top
mais maintenant a cause de vous je vais devoir reouvrir tou mes vieux progr ou j'avais converti tou les tag
euh...

57

be en faite c'est simple moi je veut scanner les repertoire a la recherce de fichier PIC c'est tout.
Et sinon dans ton truc ca *plastbyte c'est de quel type??

58

ok merci j'avai pas eu tous les post apres. il me reste en faite a scanner chaque variable et a les teste une par une c'est ca???

59

comme sa déclaration l'indique, c'est un void *, à savoir un pointeur sur void. Un pointeur sur des données sans type quoi, une pure adresse mémoire.
avatar
Que cache le pays des Dieux ? - Forum Ghibli - Forum Littéraire

La fin d'un monde souillé est venue. L'oiseau blanc plane dans le ciel annonçant le début d'une longue ère de purification. Détachons-nous à jamais de notre vie dans ce monde de souffrance. Ô toi l'oiseau blanc, l'être vêtu de bleu, guide nous vers ce monde de pureté. - Sutra originel dork.

60

je comprend pas j'ai mit ca pour voir toutes les variables contenues dans le repertoire sachan qu'il n'y a qu'un repertoire et plusierus variable dedans mai je n'ai rien a l'ecran pk??
	char files[50][9];
  SYM_ENTRY *SymPtr = SymFindFirst (dossier[0], 1);

	for(i=0;i<50;i++) 
	strcpy(files[i],""); 
  while(SymPtr)
  {
   strcat(files[i],SymPtr->name);
   SymPtr = SymFindNext();
   i++;
  }
  clrscr();
	y=0;
	for(i=0;i<20;i++)
	{
		DrawStr (5, y, files[i], A_NORMAL);
		y+=9;
	}
	ngetchx();