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

 .NET Discussion :

codage en c#


Sujet :

.NET

  1. #1
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2015
    Messages
    131
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 33
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2015
    Messages : 131
    Points : 46
    Points
    46
    Par défaut codage en c#
    Bonjour,

    J’ai réalisé une petite application qui fait établir une communication (envoi et réception des données via un port série) entre un pc et un automate.
    Je travaille sous Visual Studio 2013 en c#, avec Windows 8 - 64 bits.
    Un extrait de donnée que je reçois :
    123456789
    326547891
    145879260
    000005000
    ....

    J’ai réalisé l’exécutable de l'application qui fonctionne sur un pc sous Windows xp- 32 bit.

    le problème , quand je travaille avec l'application sous 64 bit, elle fonctionne bien j'arrive à recevoir les donnée correctement a partir de l'automate.
    Mais quand je suis sous 32 bit, je reçois la 1er ligne correctement en suit le reste c'est des symboles,
    exp:
    123456789
    _-,?\

    la je suis bloquer, j'ai aucune aidée de quoi ça peut être ?

    Voilà le bout de code qui me permet de recevoir les données, vu que c# travaille en Unicode :

    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
    22
    23
     
     private void serialPort2_DataReceived(object sender, SerialDataReceivedEventArgs e)
            {
                serialPort2.Write("\u000D");// lance la tach envoiFil
     
                {
                    char[] buffer = new char[255]; // on crée un char de 255 caractere
                    int longueur_bytes_read = serialPort2.Read(buffer, 0, buffer.Length); //lecture du buffer jusqu'a sa longeur buffer.Length
                    //tes characteres sont contenus dans buffer.
                    //on remplit notre string value byte par byte par notre tableau de charactere buffer, le += fait que l'on écrase pas les données qui sont inserées, mais on les ajoutes.
     
     
     
                     for (int i = 0; i < longueur_bytes_read; i++)
                     {
     
                        value += buffer[i];
     
     
                       StatusLabel1.Text = "Transfert en cours...";                  
                    }
     
                }

  2. #2
    Expert éminent Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Points : 7 903
    Points
    7 903
    Par défaut
    Il me semble qu'il y a un problème de conception, car la fonction DataReceived peut être déclenchée alors que toutes les données d'une ligne ne sont pas forcément toutes transférées.

    Quid des CRLF ?
    " Le croquemitaine ! Aaaaaah ! Où ça ? " ©Homer Simpson

  3. #3
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2015
    Messages
    131
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 33
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2015
    Messages : 131
    Points : 46
    Points
    46
    Par défaut
    bonjour,

    quand j’exécute sur mon pc 64 bit je récupère les données sous le format normal,correctement.
    mais quand j’exécute le même monProgramme.exe sur un pc Windows xp 32 bit, la 1er ligne je la reçois correctement mais Apres ces des symbole.

    Quand j'es fait l’exécutable j'ai utilise un compilateur .NET framework 4. avec la platform x86.

    pour afficher les données que je récupère dans la textbox:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    private void button1_ecrir_Click(object sender, EventArgs e)
            {
     
                textBox1.AppendText(value + "\r\n");
            }

  4. #4
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2015
    Messages
    131
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 33
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2015
    Messages : 131
    Points : 46
    Points
    46
    Par défaut
    j'ai essayé de convertir les données :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    private void button1_ecrir_Click(object sender, EventArgs e)
           {
             int nombre = System.Convert.ToInt32(value);
     
               textBox1.AppendText(nombre + "\r\n");
           }
    mais ça ne fonctionne pas ?????

Discussions similaires

  1. probleme de codage
    Par Hamdi_Maazoul dans le forum XML/XSL et SOAP
    Réponses: 10
    Dernier message: 07/06/2007, 13h02
  2. [API] Codage d'un moniteur de messages debug
    Par Pierre Castelain dans le forum API, COM et SDKs
    Réponses: 3
    Dernier message: 15/01/2004, 20h47
  3. [Interbase] [Trigger] Codage
    Par AnestheziE dans le forum InterBase
    Réponses: 9
    Dernier message: 06/11/2003, 15h51
  4. [Accents - XML] Problème de codage non supporté !!
    Par Smortex dans le forum Composants VCL
    Réponses: 6
    Dernier message: 24/11/2002, 12h00
  5. codage objet
    Par charly dans le forum Algorithmes et structures de données
    Réponses: 18
    Dernier message: 22/08/2002, 17h49

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