mon problème se situe au niveau du DisplayBitmap qui prend en paramètre le buffer definis dans le .H
je ne veux pas inclure mon ECR_SIM.h dans chacun de mes autres fichiers C mais juste afficher_bmp.h et ensuite appeler afficher_bmp avec un afficher_bmp ("ecr_sim",0) par exemple.
j'ai fait une macro #define ecran(id_bmp) id_bmp pour gérer ca mais en fait non ca risque pas de marcher vu qu'une macro est interprétée au moment de la compilation
avez-vous une idée poru mon pb ?
Publicité
Posté le 02-08-2007 à 11:42:44
djobidjoba
Posté le 02-08-2007 à 11:52:42
.
Message édité par djobidjoba le 02-08-2007 à 11:57:43
djobidjoba
Posté le 02-08-2007 à 11:56:57
bon meme avec un switch ca va etre lourd étant donnée qu'on travail sur des chaines, ma question se résume donc à :
comment simplifier ce code :
if (memcmp(id_bmp,"ecr_sim" )==0)
DisplayBitmap(0, 0, ecr_sim, 8, _OFF_);
else if (memcmp(id_bmp,"ecr_sim2" )==0)
DisplayBitmap(0, 0, ecr_sim2, 8, _OFF_);
else if (memcmp(id_bmp,"ecr_sim3" )==0)
DisplayBitmap(0, 0, ecr_sim3, 8, _OFF_);
else if (memcmp(id_bmp,"ecr_sim4" )==0)
DisplayBitmap(0, 0, ecr_sim4, 8, _OFF_);
else if (memcmp(id_bmp,"ecr_sim5" )==0)
DisplayBitmap(0, 0, ecr_sim5, 8, _OFF_);
pareil, le break est pas si faculatif sinon c'est le dernier qui gagne
Ben non !!! Je ne pense pas que "id_bmp" puisse être égal à la fois à "ecr_sim", "ecr_sim1", "ecr_sim2" etc... => le dernier qui gagne est forcément le seul à gagner
Sauf que c'est pas memcmp() qu'il faut utiliser (d'ailleurs il lui manque un paramètre) mais strcmp()...
Message édité par Sve@r le 02-08-2007 à 19:25:52
---------------
Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche.
bjone
Insert booze to continue
Posté le 02-08-2007 à 19:26:26
heu oui pardon
Publicité
Posté le 02-08-2007 à 19:26:26
djobidjoba
Posté le 03-08-2007 à 14:28:53
merci vous deux, effectivement il manquait un param à memcmp (j'avais tapé ca de tête, c'est "valider votre message" qui a compilé) sinon j'ai utilisé un static pour éviter les redéfinition de constantes. sinon je me pose toujours la question de savoir s'il est possible de faire ca en C :
id_bmp="toto" toto=4 afficher(id_bmp) ====> 4
sans passer par un tableau de correspondance (avec une notation spéciale peut etre?)