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

Equivalent de la fct Chr() en VB avec c++ builder6


Sujet :

C++Builder

  1. #1
    Membre à l'essai
    Inscrit en
    Juillet 2007
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 24
    Points : 16
    Points
    16
    Par défaut Equivalent de la fct Chr() en VB avec c++ builder6
    Bonjour et bon dimanche à tous.
    J'aimerais savoir quel était l'équivalent avec c++ builder6 de la fonction Chr() issue du VB ?
    Merci d'avance
    Cordialement.

  2. #2
    Responsable Magazine

    Avatar de pottiez
    Homme Profil pro
    Développeur C++
    Inscrit en
    Novembre 2005
    Messages
    7 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2005
    Messages : 7 152
    Points : 22 087
    Points
    22 087
    Par défaut
    Je ne sais pas pourquoi tu veut une tels fonction, mais si tu met une valeur entière (0 à 255) dans une variable de type char, cette variable t'affichera simplement le caractère correspondant (mais pas l'entier)
    Quand une réponse vous a été utile, pensez à utiliser le nouveau système de notation

    Lisez le magazine de developpez.com.
    Mes tutos : http://pottiez.developpez.com

    La FAQ BCB -> 642 Questions/Réponses, si vous voulez participer, contactez moi. Aide de BCB6 en français

    N'oubliez pas que l'aide existe et est affichée sous simple pression de la touche F1 , une touche c'est plus rapide que tout un message .

  3. #3
    Membre à l'essai
    Inscrit en
    Juillet 2007
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 24
    Points : 16
    Points
    16
    Par défaut
    En faite ce que je veux faire c'est que je recupère un serie d'octet à partir de ma RS 232, ses octets que j'ai récupérer doivent afficher un caractère ASCII
    Exemple :
    4142434445 deviennent ABCDE quand je veux les afficher dans un label ou Memo ect .. et s'est ici que sa bloque je n'arrive pas à afficher ses caractères.
    A+

  4. #4
    Responsable Magazine

    Avatar de pottiez
    Homme Profil pro
    Développeur C++
    Inscrit en
    Novembre 2005
    Messages
    7 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2005
    Messages : 7 152
    Points : 22 087
    Points
    22 087
    Par défaut
    Si tu reçoit des octets de ta liaison RS232, tu peut donc les mettre dans un tableau de char, et ces octets seront donc directement convertie en la lettre correspondante
    Quand une réponse vous a été utile, pensez à utiliser le nouveau système de notation

    Lisez le magazine de developpez.com.
    Mes tutos : http://pottiez.developpez.com

    La FAQ BCB -> 642 Questions/Réponses, si vous voulez participer, contactez moi. Aide de BCB6 en français

    N'oubliez pas que l'aide existe et est affichée sous simple pression de la touche F1 , une touche c'est plus rapide que tout un message .

  5. #5
    Membre à l'essai
    Inscrit en
    Juillet 2007
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 24
    Points : 16
    Points
    16
    Par défaut
    Salut
    Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
      char buf[255];
     
    ComPort1->Read(buf,16); //Ici je reçois 414243444546
           tab[0]=buf[0]; //'41';
           tab[1]=buf[1];//'42';
           tab[2]=buf[2];//'43';
           tab[3]=buf[3];//'44';
           tab[4]=buf[4];//'45';
           tab[5]=buf[5];//'46';
     
           Memo1->Lines->Add(AnsiString(tab)); //Je doit afficher normalement ABCDEF
    A chaque caractère je dois ajouter '\x' pour que se soit convertis par mon Memo mais pour le faire j'ai essayer plusieur chose mais sa tourne pas.

  6. #6
    Responsable Magazine

    Avatar de pottiez
    Homme Profil pro
    Développeur C++
    Inscrit en
    Novembre 2005
    Messages
    7 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2005
    Messages : 7 152
    Points : 22 087
    Points
    22 087
    Par défaut
    Salut,
    je n'ai pas BCB sous la main la, mais je testerais ce soir et je te dirais quoi
    Quand une réponse vous a été utile, pensez à utiliser le nouveau système de notation

    Lisez le magazine de developpez.com.
    Mes tutos : http://pottiez.developpez.com

    La FAQ BCB -> 642 Questions/Réponses, si vous voulez participer, contactez moi. Aide de BCB6 en français

    N'oubliez pas que l'aide existe et est affichée sous simple pression de la touche F1 , une touche c'est plus rapide que tout un message .

  7. #7
    Membre chevronné

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    1 374
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 374
    Points : 1 759
    Points
    1 759
    Par défaut
    Salut !

    En fait tu pourrais utiliser un AnsiString, directement :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    AnsiString N = ""; //vide au départ d'une ligne
    char c;
    for(int j = 0; j < 6; j++)
        {
        c = Buf[j];
        //On réalise la concaténation
        N = N + (AnsiString)c;
        }
    Memo1->Lines->Add(N);
    Il est possible aussi de faire une truc un peu plus.... tordu mais.... très efficace :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Byte c = Buf[6]; //pour sauvegarder ce caractère du buffer
    Buf[6] = 0; //On crée une chaîne AZT
    char *pString = (char*)&Buf[0];
    Memo1->Lines->Add(pString);
    Buf[6] = c; // on restaure le caractère du buffer qui a servit comme NUL pour l'AZT
    A plus !

Discussions similaires

  1. [XL-2010] Fonction Chr() dans VBA avec Excel 2010
    Par Frenchie_lol dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 20/06/2010, 22h20
  2. l'equivalent en c# de chr(255) (vb)
    Par lasrevinu dans le forum C#
    Réponses: 4
    Dernier message: 22/03/2010, 15h52
  3. Equivalent de la fct COMPLEV en sas 8.2
    Par melmouj dans le forum SAS Base
    Réponses: 0
    Dernier message: 11/05/2009, 17h02
  4. Equivalent de la fct urlencode (php) en AS ?
    Par escteban dans le forum Flash
    Réponses: 2
    Dernier message: 16/04/2007, 00h13
  5. Réponses: 2
    Dernier message: 28/01/2005, 06h43

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