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

C++ Discussion :

Fin de développement d'application C++ avec MFC


Sujet :

C++

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2013
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2013
    Messages : 28
    Points : 14
    Points
    14
    Par défaut Fin de développement d'application C++ avec MFC
    Bonsoir à tous !

    Je vous écris en urgence, demain soir à 17h mon programme doit être terminé (s'il n'est pas terminé, je resterais en vie bien sur mais ça va être gênant pour passer mon oral).

    J'ai un programme qui me permet de récupérer le poids d'une balance en RS232 ainsi qu'une étiqueteuse qui me permet d'imprimer des étiquettes avec nom du produit, prix et code-barres ! Jusque là, tout va bien !
    Mais je me heurte à 2 difficultés :

    La première... J'ai un "unsigned char tab2" qui récupère une chaine de caractère comme "1000 g" (le poids que m'envoie la balance). Travaillant en MFC, je récupère ce tableau dans une variable CString "m_tab2". Tout va bien ! Sauf que j'ai besoin de cette valeur en kg et non en g ! Je devrais donc diviser ce poids par 1000. Mais impossible d'y arriver (très certainement à cause du "g" en fin de chaine). L'idée serait peut être de transformer ce Cstring en int, pour moi, le int prendrait juste le numéro correspondant au poids et supprimerait le "g". De là, je pourrait diviser cette variable par 1000. Je ne sais pas comment faire... Quelqu'un a une idée ?

    Le 2ème problème, j'ai une chaine de caractère dans un tableau "buffer" ! La chaine c'est quelque chose comme "1,carottes,2,5.5,3,9856478563214". L'idée, ce serait de découper cette chaine ! A chaque fois que l'on rencontre une virgule, ce qu'il a lu avant va dans un premier tableau. Et ainsi de suite ! Ce qui ferait (par exemple) : tab1 avec le "1" à l'intérieur, tab2 avec "carotte" à l'intérieur...ect... Vous voyez ?

    Peut être qu'entre maintenant et 17h demain j'aurais trouvé la solution mais...rien n'est sur ! Alors pour toute l'aide que vous pourrez m'apporter : Merci beaucoup d'avance !

    Bonne soirée

  2. #2
    Membre chevronné
    Avatar de Joel F
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Septembre 2002
    Messages
    918
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2002
    Messages : 918
    Points : 1 921
    Points
    1 921
    Par défaut
    regarde du coté de Boost::Tokenizer pour la fragmentation de chaine en sous-cahines.
    Pour le 100g, ca devrait aussi suffire en splittant sur 'g'

  3. #3
    Expert éminent sénior
    Homme Profil pro
    Analyste/ Programmeur
    Inscrit en
    Juillet 2013
    Messages
    4 630
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Analyste/ Programmeur

    Informations forums :
    Inscription : Juillet 2013
    Messages : 4 630
    Points : 10 556
    Points
    10 556
    Par défaut
    Je pense que le plus simple c'est strtrok

  4. #4
    Expert confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    1 711
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2012
    Messages : 1 711
    Points : 4 442
    Points
    4 442
    Par défaut
    Ou encore plus simple
    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
    std::string str = "1000g"; // aucune idée de comment convertir un CString en std::string ^^
    std::stringstream ss;
    ss << str;
    int value;
    ss >> value;
    // value == 1000
     
     
    std::string = "1,carottes,2,5.5,3,9856478563214";
    std::stringstream ss;
    ss << str;
    std::string value1, value2;
    std::getline(ss, value1, ',');
    std::getline(ss, value2, ',');
    // value1 == "1"
    // value2 == "carottes"

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

Discussions similaires

  1. Développer une application modulaire avec JTheque Core
    Par Baptiste Wicht dans le forum Utilities
    Réponses: 6
    Dernier message: 19/01/2010, 12h39
  2. Développement d'application réseaux avec delphi
    Par hier-zo dans le forum Web & réseau
    Réponses: 0
    Dernier message: 06/12/2009, 10h39
  3. Développer une application graphique avec VS2005 et Win32
    Par PC1986 dans le forum Visual Studio
    Réponses: 15
    Dernier message: 29/07/2009, 07h09
  4. Comment développer une application Web avec Delphi 7 ?
    Par Francis dans le forum Web & réseau
    Réponses: 1
    Dernier message: 21/01/2008, 12h24

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