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

Visual Studio Discussion :

[VS.net2003] utilisation de sizeof


Sujet :

Visual Studio

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2006
    Messages : 101
    Points : 31
    Points
    31
    Par défaut [VS.net2003] utilisation de sizeof
    bonjour,
    mon problème est que je n'arrive pas à utiliser sizeof je m'explique:
    j'utilise WriteFile pour écrire sur le port de communication, je veux récupérer le contenu de la textbox1 pour envoyer les données sur le port:

    String* txt = textBox1->get_Text();
    //j'appel la fonction membre
    this->envoi->Write(...,sizeof (&txt),...,....);

    le compilateur n'indique pas d'erreur mais j'envoie n'importe quoi ,à mon avis j'utilise mal sizeof(&txt)

    je prog sur visual studio .net 2003 en c++
    merci bcp de m'aider

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    487
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2002
    Messages : 487
    Points : 621
    Points
    621
    Par défaut
    Remplace sizeof(&txt) par txt->Length
    Il faut utiliser la longeur de la chaîne txt et pas la taille du type String.
    On ne peut pas faire boire un âne qui n'a pas soif.

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2006
    Messages : 101
    Points : 31
    Points
    31
    Par défaut
    salut,
    j'ai essayé , le compilateur ne donne pas d'erreur mais je n'envoie pas le bon caractère.

    merci

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    487
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2002
    Messages : 487
    Points : 621
    Points
    621
    Par défaut
    Il est facile de vérifier le contenu de txt et sa longueur avec le debugger.
    Le problème doit être dans l'envoi ...
    On ne peut pas faire boire un âne qui n'a pas soif.

  5. #5
    Membre à l'essai
    Inscrit en
    Août 2005
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 29
    Points : 23
    Points
    23
    Par défaut
    Bonjour,

    Je ne sais pas vers quoi tu envoies ces données, mais tu dois te méfier des éventuelles conversions de caractères à effectuer.

    En .NET, les String sont en UTF-8, et si tu veux pouvoir échanger des chaînes avec des librairies plus 'bas niveau' ou plus vieilles, tu dois les convertir en ANSI d'abord ( ce qui peut potentiellement changer la longueur de ladite chaîne).

    Le mieux c'est que tu nous dises ce que tu essaie de faire !

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2006
    Messages : 101
    Points : 31
    Points
    31
    Par défaut
    salut,
    j'ai réalisé un hyper terminal et ce que je voudrais faire en plus c'est de récuperer le contenu d' une textbox1 et d'envoyer tous les caractères avec la fonction WriteFile j' ai inclus <windows.h>

    dans mon prog les données sont récupérées dés que j'appuis sur un bouton,
    ce que je constate c'est que j'envoi n'importe quoi et à chaque fois c'est différents

    merci.

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    487
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2002
    Messages : 487
    Points : 621
    Points
    621
    Par défaut
    Montres nous plutôt le code utilisé pour envoyer les données sur le port série.
    On ne peut pas faire boire un âne qui n'a pas soif.

  8. #8
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2006
    Messages : 101
    Points : 31
    Points
    31
    Par défaut
    au faite quand j'envoi directement les caractère j'arrive bien à les envoyer mais j'utilise une variable char qui reçoit le caractère qui correspond à la touche que j'ai appuiée.

    est ce que c'est possible de convertir String* txt en char??
    peut être que je dois utiliser une variable char

    merci

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    487
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2002
    Messages : 487
    Points : 621
    Points
    621
    Par défaut
    Voilà une solution utilisant ASCIIEncoding.
    C'est écrit en VC++ 2005. A convertir dans l'ancienne syntaxe.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
                    String^ str = "ABC";
                    array<unsigned char>^ buffer = gcnew array<unsigned char>(256);
                    ASCIIEncoding^ ascii = gcnew ASCIIEncoding();
                    ascii->GetBytes(str, 0, str->Length, buffer, 0);
    On ne peut pas faire boire un âne qui n'a pas soif.

  10. #10
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2006
    Messages : 101
    Points : 31
    Points
    31
    Par défaut
    merci de m'aider mais c'est compliqué pour moi je suis débutant...

Discussions similaires

  1. comment utiliser sizeof( )
    Par ikuzar dans le forum Débuter
    Réponses: 3
    Dernier message: 02/05/2011, 20h21
  2. utilisation de WaitForSingleObject avec VC++.NET2003
    Par Armando dans le forum VC++ .NET
    Réponses: 2
    Dernier message: 13/11/2006, 11h10
  3. utilisation de sizeof
    Par Mokhtar BEN MESSAOUD dans le forum C
    Réponses: 13
    Dernier message: 02/12/2005, 18h16
  4. utilisation du meta type ANY
    Par Anonymous dans le forum CORBA
    Réponses: 1
    Dernier message: 15/04/2002, 12h36
  5. Réponses: 2
    Dernier message: 20/03/2002, 23h01

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