spirit_1999
Messages postés12Date d'inscriptionsamedi 29 mai 2004StatutMembreDernière intervention 3 mai 2005
-
28 avril 2005 à 14:06
spirit_1999
Messages postés12Date d'inscriptionsamedi 29 mai 2004StatutMembreDernière intervention 3 mai 2005
-
3 mai 2005 à 16:00
Salut,
Je programme avec visual c++ en MFC et g un pb de variable. Je voudrai savoir comment faire pour pouvoir afficher une variable, de type BYTE BufferReceive[400], dans ma boite de dialogue qd elle ne se trouve pas dans le même fichier cpp que celui de la DlgBox parce que ca fait une semaine que je me prend la te^te ac et j'y arrive tjrs pas
Merci d'avance
spirit_1999
Messages postés12Date d'inscriptionsamedi 29 mai 2004StatutMembreDernière intervention 3 mai 2005 29 avril 2005 à 10:43
Slt,
Je n'arrive pas à afficher la variable même avec ta solution ymca2003, pourtant y me semble que le code est bon :
m_info2.SetWindowText(BufferReceive);
Donc je ne vois vraiment pas ce que c'est. Pourriez vopus m'aider.
merci
spirit_1999
Messages postés12Date d'inscriptionsamedi 29 mai 2004StatutMembreDernière intervention 3 mai 2005 29 avril 2005 à 10:58
En fait le buffer est rempli par ce qui arrive par le port usb qui reçoit des données à partir d'une pince de courant dc je ne voit pa comment je pe rajouter "\0" au buffer ou même véridier qu'il est présent.
ymca2003
Messages postés2070Date d'inscriptionmardi 22 avril 2003StatutMembreDernière intervention 3 juillet 20067 29 avril 2005 à 11:02
Dans ce cas il va falloir formatter ton buffer pour afficher son contenu par exemple en hexa parceque si tu as tu binaire pur dans ton buffer tu risque de ne pas voir correctemnt son contenu (surtout si le premier octet est 0.
exemple :
char fmt[1024];
for(int i = 0; i < 400; i++)
sprintf(&fmt[3*i], "%02x ", BufferReceive[i]);
m_info2.SetWindowText(BufferReceive);
spirit_1999
Messages postés12Date d'inscriptionsamedi 29 mai 2004StatutMembreDernière intervention 3 mai 2005 29 avril 2005 à 11:18
ca marche tjrs pa maintenant y me sort l'erreur:
COC Battery StateDlg.obj : error LNK2001: unresolved external symbol "unsigned char * BufferReceive" ([mailto:?BufferReceive@@3PAEA ?BufferReceive@@3PAEA])
ymca2003
Messages postés2070Date d'inscriptionmardi 22 avril 2003StatutMembreDernière intervention 3 juillet 20067 29 avril 2005 à 11:28
Ah c'est vrai j'aurais du prendre une calculatrice parceque 3*400 ca fait 1200 et c'est plus grand que 1024 donc il faut mettre fmt[1400] et ça dvrait passer.
spirit_1999
Messages postés12Date d'inscriptionsamedi 29 mai 2004StatutMembreDernière intervention 3 mai 2005 3 mai 2005 à 16:00
J'auari une autre question a quoi correspond le & devant fmt dans le sprintf ? et le %02x c bien pour convertir en hexa.
Dans mon programme je dois analyser ces données hexa et donc les transformer en décimal mais je ne sais pas cmt fair g chercher dans msdn mais g pas bien compris cmt cela marché.
merci