IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

MFC Discussion :

Lecture � partir du port s�rie et �criture dans une textbox


Sujet :

MFC

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre confirm�
    Inscrit en
    Juin 2006
    Messages
    126
    D�tails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 126
    Par d�faut Lecture � partir du port s�rie et �criture dans une textbox
    Bonjour!! (encore moi mais pour la question inverse)

    alors voila je souhaite recevoir des valeurs envoy�es sur mon port s�rie et les �crire dans un textbox lorsque je clique sur un bouton receive.

    J'ai fait ca :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
    void CComIHMDlg::OnBnClickedReceive()
    {
    	// TODO: Add your control notification handler code here
     
     
    	TCHAR cBuffer[512];
    	DWORD *pnb_lus [2];
     
     
    	ReadFile(hcom, cBuffer, 2 , (LPDWORD)pnb_lus, NULL);
     
     
    	// recuperation l'edit box.
    	CEdit* edit=(CEdit*) GetDlgItem(IDC_EDIT2);
     
    	edit->SetWindowTextW((LPCTSTR)cBuffer);
     
     
    }
    Bon alors quand je clique sur le bouton receive je ne re�ois que des carr�s quelque soit la valeur envoy�. Je crois qu'en unicode cela correspond � une ligne vide non ?? je suis un peu perdue ...
    Si vous pouvez m'aider je suis preneuse!!

    Merci d'avance!!

  2. #2
    Membre chevronn� Avatar de stephdim
    Profil pro
    Inscrit en
    Ao�t 2007
    Messages
    462
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Ao�t 2007
    Messages : 462
    Par d�faut
    salut,

    tu m�langes les TCHAR, les char et les wchar_t ....

    d�j� de ta ligne s�rie, tu re�ois quoi comme type de caract�res ? un char (1 octet = 1 caract�re) ou un wchar_t (2 octets = 1 caract�re)

    parce que l�, dans ton code, �a va d�pendre de la compilation de ton programme (le fait que _UNICODE soit d�fini ou pas) et non de ton partenaire de communication ...

    a mon humble avis, ta ligne s�rie re�ois que du "char".

    @+

  3. #3
    Membre confirm�
    Inscrit en
    Juin 2006
    Messages
    126
    D�tails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 126
    Par d�faut
    Oui t'as tout compris je suis trop perdue entre les wchar_t, les char et tout.

    Parce que en fait je re�ois de l'unicode... je comprends pas pourquoi ...

    Si tu veux j'aimerai utiliser les fonctions du type SetWindowTextA et non pas SetWindowTextW mais je peux pas.

    Pourtant je n'ai pas fait de define Unicode ni rien. Est ce par d�faut ?
    Quand je fais un
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    #define SetWindowTextA SetWindowText
    j'ai le message d'erreur suivant � la compilation : SetWindowText is not a member of Cedit

    Peux tu m'�clairer un peu ?

  4. #4
    Membre confirm�
    Inscrit en
    Juin 2006
    Messages
    126
    D�tails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 126
    Par d�faut
    Je l'ai refait en un peu plus clair :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
    void CComIHMDlg::OnBnClickedReceive()
    {
    	// TODO: Add your control notification handler code here
    	char *buffer;
    	DWORD *pnb_lus;
    	BOOL retour;
     
    	pnb_lus = 0;
    	buffer = 0;
     
    	retour = ReadFile( hcom , buffer , 10 , pnb_lus , NULL );
     
    	// recuperation l'edit box.
    	CEdit* edit=(CEdit*) GetDlgItem(IDC_EDIT2);
     
    	edit->SetWindowText((LPCTSTR)buffer);
     
    	if (retour != 1)
    	edit->SetWindowText(_T("noob"));	
    }
    je re�ois bien noob :/ :/ je vois pas ce qui peut clocher !!

  5. #5
    R�dacteur
    Avatar de farscape
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes C�te d'Azur)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Par d�faut
    salut,
    ton code doit planter (du moins en release)
    tu fournis a ReadFile un pointeur qui n'adresse aucun bloc de m�moire....
    buffer �tre d�clarer comme un tableau de char avec une taille fix�e.

  6. #6
    Membre confirm�
    Inscrit en
    Juin 2006
    Messages
    126
    D�tails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 126
    Par d�faut
    M�me si je d�clare buffer de cette fa�on je ne re�ois rien .

    Tu pensais le d�clarer d'une autre fa�on ?

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. R�ponses: 7
    Dernier message: 10/11/2014, 10h56
  2. Lecture de donn�e � partir de port s�rie
    Par Sonda09 dans le forum MATLAB
    R�ponses: 2
    Dernier message: 25/09/2011, 15h38
  3. Probl�me d'�criture dans une TextBox
    Par jeremy5490 dans le forum C#
    R�ponses: 6
    Dernier message: 09/06/2011, 11h28
  4. R�ponses: 0
    Dernier message: 05/04/2011, 01h09
  5. [Kylix] Lecture sur le port s�rie en C++
    Par MD Software dans le forum EDI
    R�ponses: 1
    Dernier message: 08/05/2004, 12h52

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo