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 C++ Discussion :

variable en decimal


Sujet :

Visual C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Homme Profil pro
    Electronicien
    Inscrit en
    Août 2008
    Messages
    377
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Electronicien
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2008
    Messages : 377
    Par défaut variable en decimal
    Bonjour,

    étant un léger habitué de delphi, la source de programmation qui fonctionne pour récupérer une valeur sur mon port USB que j'ai pu trouvé est compilé sous Visual C++ et afin de l'utiliser j'essai de comprendre comment il fonctionne globalement.

    J'ai pu repérer a quel moment la valeur est récupérer et afficher dans une textbox, seulement mon problème est qu'il m'affiche ma valeur en ASCII et non comme je le souhaiterai en decimal.

    Si je ne trompe pas la fonction qui récupère ma donnée est celle-ci
    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
    		private: System::Void serialPort1_DataReceived(System::Object^  sender, System::IO::Ports::SerialDataReceivedEventArgs^  e) 
    		{
    			//The ReadExisting() function will read all of the data that
    			//  is currently available in the COM port buffer.  In this 
    			//  example we are sending all of the available COM port data
    			//  to the SetText() function.
    			//
    			//  NOTE: the <SerialPort>_DataReceived() function is launched
    			//  in a seperate thread from the rest of the application.  A
    			//  delegate function is required in order to properly access
    			//  any managed objects inside of the other thread.  Since we
    			//  will be writing to a textBox (a managed object) the delegate
    			//  function is required.  Please see the SetText() function for 
    			//  more information about delegate functions and how to use them.
    			try
    			{
    				SetText(serialPort1->ReadExisting());
    			}
    			catch(...)
    			{
    			}
    		}
    Puis je l'affiche ici :
    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
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    		private: void SetText(String^ text)
    		{
    			//InvokeRequired required compares the thread ID of the
    			//  calling thread to the thread ID of the creating thread.
    			//  If these threads are different, it returns true.  We can
    			//  use this attribute to determine if we can append text
    			//  directly to the textbox or if we must launch an a delegate
    			//  function instance to write to the textbox.
     
    			//if (this->txtDataReceived->InvokeRequired)
    			if (this->txtDataReceived1->InvokeRequired) //Laurent
    			{
    				//InvokeRequired returned TRUE meaning that this function
    				//  was called from a thread different than the current
    				//  thread.  We must launch a deleage function.
     
    				//Create an instance of the SetTextCallback delegate and
    				//  assign the delegate function to be this function.  This
    				//  effectively causes this same SetText() function to be
    				//  called within the main thread instead of the second
    				//  thread.
    				SetTextCallback^ d = gcnew SetTextCallback(this,&VCCDC::Form1::SetText);
     
    				//Invoke the new delegate sending the same text to the
    				//  delegate that was passed into this function from the
    				//  other thread.
    				this->Invoke(d,gcnew String(text));
    			}
    			else
    			{
    				//If this function was called from the same thread that 
    				//  holds the required objects then just add the text.
     
    				txtDataReceived1->AppendText(text); // laurent
    				//txtDataReceived->AppendText(text); 
    			}
    		}
    s'il vous plait dîtes moi comment ou avec quelle fonction je peux afficher ma valeur en décimal ?

    Merci

  2. #2
    Membre très actif
    Homme Profil pro
    Electronicien
    Inscrit en
    Août 2008
    Messages
    377
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Electronicien
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2008
    Messages : 377
    Par défaut
    Si quelqu'un pourrai me renseigner à ce sujet, je n'arrive toujours pas à récupérer une valeurs en decimal et non en ascii

  3. #3
    Membre très actif
    Homme Profil pro
    Electronicien
    Inscrit en
    Août 2008
    Messages
    377
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Electronicien
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2008
    Messages : 377
    Par défaut
    Je n'avance pas du tout, et stagne a fond, mes fichiers sont ici, si un pro de visual studio pouvait m'extirper de ce problème

    https://www.dropbox.com/sh/nfgbsuhj5vdeh8m/DUXv_yMsB5
    Images attachées Images attachées  

  4. #4
    Membre très actif
    Homme Profil pro
    Electronicien
    Inscrit en
    Août 2008
    Messages
    377
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Electronicien
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2008
    Messages : 377
    Par défaut
    s'il vous plait, là c'est le surplace depuis 1 semaine, quelqu'un pourrais me dire quoi faire, j'essai plein de truc qui pour l'instant ne fonctionne pas.

    En fait j'ai une application qui communique bien sur mon bus USB compilé sous visual C++ (je ne connais pas cette IDE)mais que j'aimerai modifié pour mon besoin alors qu'étant plus familliarisé à delphi, celui-ci je n'arrive pas à ajouter le composant tcomport pour commencer un début de code.

  5. #5
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 395
    Par défaut
    Bonjour,
    Je ne comprends pas exactement ton problème:
    • Quelle donnée cherches-tu à recevoir?
    • Sous quel format? Binaire brut, chaîne de caractères (si oui, quelle format de chaîne et quel encodage?)
    • Sous quel format cherches-tu à l'afficher?
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  6. #6
    Membre très actif
    Homme Profil pro
    Electronicien
    Inscrit en
    Août 2008
    Messages
    377
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Electronicien
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2008
    Messages : 377
    Par défaut
    En faite comme tu peux le constater sur le jpeg, le form que j'ai fais résume l'état de fonctionnement de mon pic, je souhaite afficher les valeurs envoyé par celui-ci et les afficher dans les textbox correspondant.

    C'est valeurs sont tranmises en hexa sur mon bus, et je souhaite les traiter pour d'une part les identifier puis les afficher dans la cases correspondantes en décimale pour l'instant ou en hexa puisqu'il s'agit de données ADC et pwm, mais pour le moment on va ce limite par décimal

    j'ai cru voir que par exemple la fonction AppendText() encode les données en UTF-8 assimilé a de l'ascii, le problème viendrait de là ?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 05/04/2013, 02h06
  2. Decimal dans une variable session
    Par kraven30 dans le forum Langage
    Réponses: 3
    Dernier message: 16/05/2011, 15h38
  3. DLookup but sur variable avec une decimal
    Par Salsaboy60 dans le forum IHM
    Réponses: 2
    Dernier message: 27/02/2009, 00h23
  4. Réponses: 4
    Dernier message: 05/06/2002, 14h35
  5. les variables globales static
    Par gRRosminet dans le forum C
    Réponses: 8
    Dernier message: 27/04/2002, 08h34

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