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 :

string et UnicodeString (c++ builder firemonkey)


Sujet :

C++Builder

  1. #1
    Membre confirm�
    Homme Profil pro
    Inscrit en
    Janvier 2014
    Messages
    132
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2014
    Messages : 132
    Par d�faut string et UnicodeString (c++ builder firemonkey)
    Bonsoir,

    Juste une petite question ...

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
     
       string s = "ok";
       Edit1->Text = s.c_str();  // pour que Edit1->Text soit compatible avec string et affiche s
       // comment faire pour que s prenne la valeur de Edit1->Text ?
       s.c_str() = Edit1->Text; // [bcc32 Erreur] Unit1.cpp(27): E2277 Lvalue nécessaire
       s = Edit1->Text.c_str(); // [bcc32 Erreur] Unit1.cpp(27): E2285 Impossible de trouver une correspondance pour 'operator string::=(wchar_t *)'
    Merci d'avance ...

  2. #2
    Expert confirm�
    Homme Profil pro
    Analyste/ Programmeur
    Inscrit en
    Juillet 2013
    Messages
    4 772
    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 772
    Par d�faut
    Ton compilateur te dit tout

    E2277 Lvalue nécessaire : la m�thode c_str retourne une valeur constante (ce qui est normal) et donc tu ne peux pas faire l'assignation.

    Et sinon en lisant la documentation de System.UnicodeString (Note: In RAD Studio, string is an alias for UnicodeString.), je ne vois pas la m�thode c_str (* c'est une documentation de l'enfer j'ai trouv� cette m�thode )
    Donc je pense qu'il y a une confusion entre std::string et string : utilise le type UnicodeString (ou System::UnicodeString mais pas s�r de sa syntaxe )

    Mais tu dois avoir un using namespace std; qui tra�ne dans ton code qui am�ne la confusion

  3. #3
    Membre confirm�
    Homme Profil pro
    Inscrit en
    Janvier 2014
    Messages
    132
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2014
    Messages : 132
    Par d�faut
    Merci foetus. J'ai tout essay�. Avec ou sans using namespace std.
    J'ai cherch� sur l'aide de rad studio et sur le net, rien non plus ...
    Peut-�tre avec un Variant utilis� pour les variables qui peuvent changer de type � l'ex�cution ?

  4. #4
    Membre Expert
    Avatar de DjmSoftware
    Homme Profil pro
    Responsable de compte
    Inscrit en
    Mars 2002
    Messages
    1 044
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activit� : Responsable de compte
    Secteur : High Tech - Op�rateur de t�l�communications

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 044
    Billets dans le blog
    1
    Par d�faut
    bonjour
    en fait il ne s'agit pas de string mais de String
    voir
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    typedef UnicodeString        String
    ;

    je dirais donc
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
     
    String S= L"OK";
    Edit1->Text=S;
    // avec Compilateur CLANG BCC32C
    S=Edit1->Text.c_str();
    //ou avec le compilateur Borland BCC32
    S=Edit1->Text;

    autre possibilit� en utilisant la librairie Standard
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
     
    //ne pas oublier le fichier #include <string>
     
    std::wstring S=L"OK";
        Edit1->Text=S.c_str();
        S=L"";
        S=Edit1->Text.c_str();
    cdlt
    vous trouverez mes tutoriels � l'adresse suivante: http://djmsoftware.developpez.com/
    je vous en souhaite une excellente lecture ...

    A lire : Les r�gles du forum

  5. #5
    Membre confirm�
    Homme Profil pro
    Inscrit en
    Janvier 2014
    Messages
    132
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2014
    Messages : 132
    Par d�faut
    Bonjour DjmSoftware.

    Dans mon code le string est consid�r� comme un tableau. Ce qui n'est pas le cas avec String.

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
     
      string s ="ok";
      s.size(); // pour par exemple connaître le nombre de caractères.
    Cordialement

  6. #6
    Membre Expert
    Avatar de DjmSoftware
    Homme Profil pro
    Responsable de compte
    Inscrit en
    Mars 2002
    Messages
    1 044
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activit� : Responsable de compte
    Secteur : High Tech - Op�rateur de t�l�communications

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 044
    Billets dans le blog
    1
    Par d�faut
    bonjour
    quelles sont les fichiers include utilis�s dans ton app?

    par ailleurs C++ builder utilise Unicode donc tes chaines de caract�res sont cod�es sur 2 octets, la classe UnicodeString a �t� d�velopp�e � cet effet, dans le cas ou tu utilise la librairie standard il convient d�-lors d'utiliser la version wchar_t de la bibliot�que string

    donc std:wstring

    attention le type string ou wstring n'est en aucun cas un tableau mais une classe

    l'erreur retourn�e par le compilateur est parfaitement normale car
    la m�thode que tu utilise (Edit1->Text.c_str() te retourne un pointeur de type wchar_t* sur le texte de ton editBox alors que le constructeur de la classe string n�impl�mente que le type char*

    Attention dans ton code d'utiliser que de l'UnicodeString et de pr�fixer le texte avec un L
    donc dans ton code
    std::std:wstring S=L"OK"
    si tu oublie le L ton compilateur te le fera imm�diatement remarquer

    cdlt

    ci-joint un lien sur un site tr�s bien fait sur la STL http://www.cplusplus.com/reference/string/string/size/





    cdlt
    vous trouverez mes tutoriels � l'adresse suivante: http://djmsoftware.developpez.com/
    je vous en souhaite une excellente lecture ...

    A lire : Les r�gles du forum

  7. #7
    Expert confirm�
    Homme Profil pro
    Analyste/ Programmeur
    Inscrit en
    Juillet 2013
    Messages
    4 772
    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 772
    Par d�faut
    Citation Envoy� par DjmSoftware Voir le message
    donc std:wstring
    je ne pense pas que ce soit un bon code d'utiliser des cha�nes de caract�res de la biblioth�que STL avec la biblioth�que VCL qui a ses propres classes.

    Surtout que la classe System.UnicodeString a une m�thode w_str (<- documentation officielle) pour retourner une cha�ne de type WideChar*.
    En fait non parce que w_str se comporte comme c_str

    Donc @DjmSoftware semble avoir raison : il faut utiliser les cha�nes de caract�res litt�rales Unicode L"ccccc" (<- ce qui laisse penser que cette classe ne g�re que l'Unicode (s�rement UTF-16) et pas l'ASCII - d'o� son nom)

    Et dans la liste des m�thodes de la classe System.UnicodeString, il y a la m�thode Length (<- 2 liens vers la documentation officielle)

  8. #8
    Membre confirm�
    Homme Profil pro
    Inscrit en
    Janvier 2014
    Messages
    132
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2014
    Messages : 132
    Par d�faut
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
     
    #include <iostream>
    #include <string>
    .....
     std:wstring s=L"ok";
     Edit1->Text = s.c_str(); 
     s = Edit1->Text; // E2285 Impossible de trouver une correspondance pour 'operator wstring::=(UnicodeString)'
    J'ai trouv� dans un tutoriel un petit programme CodeBlocks qui consiste � cr�er un mot myst�re de mani�re al�atoire.
    Pour le transcrire en c++ builder, il faut remplacer cin >> motMystere; par motmystere = Edit1->Text Idem pour cin >> motUtilisateur;
    afin de saisir les mots. Toujours une incompatibilit� avec string et Edit1->text

    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
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
     
    #include <iostream>
    #include <string>
    #include <ctime>
    #include <cstdlib>
     
    using namespace std;
     
    string melangerLettres(string mot)
    {
       string melange;
       int position(0);
     
       //Tant qu'on n'a pas extrait toutes les lettres du mot
       while (mot.size() != 0)
       {
          //On choisit un numéro de lettre au hasard dans le mot
          position = rand() % mot.size();
          //On ajoute la lettre dans le mot mélangé
          melange += mot[position];
          //On retire cette lettre du mot mystère
          //Pour ne pas la prendre une deuxième fois
            mot.erase(position, 1);
        }
     
       //On renvoie le mot mélangé
       return melange;
    }
     
    int main()
    {
       string motMystere, motMelange, motUtilisateur;
     
       //Initialisation des nombres aléatoires
       srand(time(0));
     
       //1 : On demande de saisir un mot
       cout << "Saisissez un mot" << endl;
       cin >> motMystere;
     
       //2 : On récupère le mot avec les lettres mélangées dans motMelange
       motMelange = melangerLettres(motMystere);
     
       //3 : On demande à l'utilisateur quel est le mot mystère
       do
       {
          cout << endl << "Quel est ce mot ? " << motMelange << endl;
          cin >> motUtilisateur;
     
          if (motUtilisateur == motMystere)
          {
             cout << "Bravo !" << endl;
          }
          else
          {
             cout << "Ce n'est pas le mot !" << endl;
          }
       }while (motUtilisateur != motMystere);
       //On recommence tant qu'il n'a pas trouvé
     
        return 0;
    }
    Cordialement

  9. #9
    Expert confirm�
    Homme Profil pro
    Analyste/ Programmeur
    Inscrit en
    Juillet 2013
    Messages
    4 772
    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 772
    Par d�faut
    C'est ce que je dis et je le r�p�te "operator wstring::=(UnicodeString)" cela veut dire que la classe std::wstring n'a pas d'op�rateur d'assignation qui prend un objet de type System::UnicodeString.
    Et c'est logique - STL et VCL sont 2 biblioth�ques distinctes

    D'apr�s la documentation de TEdit.Text (<- documentation officielle), m�me si ce n'est pas tr�s clair, est de type string - donc System::UnicodeString.

    Lis la documentation officielle et apprends les messages de ton compilateur

    Un code sans compilateur - et donc tr�s s�rement erron� :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    #include <iostream>
    #include <string>
    .....
     System::UnicodeString str = L"ok";
     Edit1->Text = str; // or Edit1->Text = str.c_str();
     str = Edit1->Text; // or str = Edit1->Text.c_str();

  10. #10
    Membre Expert
    Avatar de DjmSoftware
    Homme Profil pro
    Responsable de compte
    Inscrit en
    Mars 2002
    Messages
    1 044
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activit� : Responsable de compte
    Secteur : High Tech - Op�rateur de t�l�communications

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 044
    Billets dans le blog
    1
    Par d�faut
    bonsoir,
    excellent Post
    pour ma part je dirais qu'il est pr�f�rable d'utiliser des classes compatibles avec la VCL/FMX en c++ Builder

    pour rappel la VCL (Delphi) fait usage d'UnicodeString pour tous les composants graphiques manipulant du texte


    le m�lange n'a pas toujours du bon..... et apporte bien souvent des erreurs



    @Magdani
    ton code
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
    s = Edit1->Text; // E2285 Impossible de trouver une correspondance pour 'operator wstring::=(UnicodeString)'
    l'erreur retourn�e par le compilateur est parfaitement compr�hensible car il n'existe pas de constructeur avec le type Unicodestring dans la librairie standard

    le code correct est donc:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
    s = Edit1->Text.c_str(); // parfaitement compris par le compilateur
    si tu veux compiler les programmes exemples il est pr�f�rable de cr�er une application console ou d'�tudier plus en d�tail la classe UnicodeString pour regarder
    les membres que tu pourrais r�utilisez
    par exemple l'�quivalent de size() et Length() en Unicodestring


    cdlt
    vous trouverez mes tutoriels � l'adresse suivante: http://djmsoftware.developpez.com/
    je vous en souhaite une excellente lecture ...

    A lire : Les r�gles du forum

  11. #11
    Membre confirm�
    Homme Profil pro
    Inscrit en
    Janvier 2014
    Messages
    132
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2014
    Messages : 132
    Par d�faut
    Merci pour vos r�ponses.

    Bonjour DjmSoftware.

    J'utilise la version C++Builder 10.3 Starter.

    En utilisant le vieux compilateur C++WIN32 Borland :
    [bcc32 Erreur] Unit1.cpp(27): E2285 Impossible de trouver une correspondance pour 'operator string::=(wchar_t *)'
    Sans l'utiliser :
    [bcc32c Erreur] Unit1.cpp(27): no viable overloaded '='
    (sans utilisation du compilateur Borland, impossible d'avoir les propri�t�s et �v�nements des composants derri�re le ->)

    Les "include" sont-ils bons ?

    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
    //---------------------------------------------------------------------------
     
    #include <fmx.h>
    #pragma hdrstop
     
    #include "Unit1.h"
    #include <iostream>
    #include <string>
    #include <ctime>
    #include <cstdlib>
     
    //---------------------------------------------------------------------------
    #pragma package(smart_init)
    #pragma resource "*.fmx"
    TForm1 *Form1;
     
    using namespace :: std;
    //---------------------------------------------------------------------------
    __fastcall TForm1::TForm1(TComponent* Owner)
    	: TForm(Owner)
    {
    }
    //---------------------------------------------------------------------------
    void __fastcall TForm1::Button1Click(TObject *Sender)
    {
    string s;
    Edit1->Text = s.c_str(); // ça marche en lecture
    s = Edit1->Text.c_str(); // ça plante en entrée 
    }
    //---------------------------------------------------------------------------
    Cordialement

  12. #12
    Expert confirm�
    Homme Profil pro
    Analyste/ Programmeur
    Inscrit en
    Juillet 2013
    Messages
    4 772
    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 772
    Par d�faut
    Alors essaye le truc de bourrin s = System::UnicodeString(Edit1->Text);, mais pas s�r que cela fonctionne

  13. #13
    Membre confirm�
    Homme Profil pro
    Inscrit en
    Janvier 2014
    Messages
    132
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2014
    Messages : 132
    Par d�faut
    Non plus. Merci pour ta r�ponse.
    Je vais voir pour proc�der diff�remment.
    Dommage car le string en tant qu'objet est pratique. Notamment sous forme de tableau.

  14. #14
    Membre Expert
    Avatar de DjmSoftware
    Homme Profil pro
    Responsable de compte
    Inscrit en
    Mars 2002
    Messages
    1 044
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activit� : Responsable de compte
    Secteur : High Tech - Op�rateur de t�l�communications

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 044
    Billets dans le blog
    1
    Par d�faut
    Magdani,
    Sois plus attentif aux propos et propositions tenues dans ce post.
    Tu insiste avec ton string alors que c�est wstring qu�il faut utiliser
    Encore une fois la vcl utilise de l�unicode
    Tu peux sans probl�me employer la classe UnicodeString pour ton application avec quelques petites modifications
    Cdlt
    vous trouverez mes tutoriels � l'adresse suivante: http://djmsoftware.developpez.com/
    je vous en souhaite une excellente lecture ...

    A lire : Les r�gles du forum

  15. #15
    Membre confirm�
    Homme Profil pro
    Inscrit en
    Janvier 2014
    Messages
    132
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2014
    Messages : 132
    Par d�faut
    Tu as raison, mais � force de faire des essais, je me suis emm�l� les crayons.

    Le code ci-dessous fonctionne :

    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
     
    //---------------------------------------------------------------------------
     
    #include <fmx.h>
    #pragma hdrstop
     
    #include "Unit1.h"
    #include <iostream>
    #include <string>
    #include <ctime>
    #include <cstdlib>
     
    //---------------------------------------------------------------------------
    #pragma package(smart_init)
    #pragma resource "*.fmx"
    TForm1 *Form1;
     
    using namespace :: std;
    //---------------------------------------------------------------------------
    __fastcall TForm1::TForm1(TComponent* Owner)
    	: TForm(Owner)
    {
    }
    //---------------------------------------------------------------------------
    void __fastcall TForm1::Button1Click(TObject *Sender)
    {
    std :: wstring s = L"ok";
    Edit1->Text = s.c_str();
    s = Edit1->Text.c_str(); // parfaitement compris par le compilateur
    Edit2->Text = s.c_str();
    }
    //---------------------------------------------------------------------------
    Cordialement

  16. #16
    Membre Expert
    Avatar de DjmSoftware
    Homme Profil pro
    Responsable de compte
    Inscrit en
    Mars 2002
    Messages
    1 044
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activit� : Responsable de compte
    Secteur : High Tech - Op�rateur de t�l�communications

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 044
    Billets dans le blog
    1
    Par d�faut
    Salut
    ton code myst�re � la mode VCL
    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
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
     
     
    #include <vcl.h>
    #pragma hdrstop
    #include <string>
    #include <ctime>
    #include <cstdlib>
    #include "main.h"
    #include <Vcl.Dialogs.hpp>
    //---------------------------------------------------------------------------
    #pragma package(smart_init)
    #pragma resource "*.dfm"
    TForm120 *Form120;
    using namespace std;
    //---------------------------------------------------------------------------
    __fastcall TForm120::TForm120(TComponent* Owner)
    	: TForm(Owner)
    {
        srand(time(0));
    }
    //---------------------------------------------------------------------------
     
    String __fastcall melangerLettres(String mot)
    {
       String melange;
       String tmp;
       int position(0);
     
       //Tant qu'on n'a pas extrait toutes les lettres du mot
       while (mot.Length() != 0)
       {
          //On choisit un numéro de lettre au hasard dans le mot
          position = rand() % mot.Length();
          //On ajoute la lettre dans le mot mélangé
          tmp= mot.SubString(position,1);
          melange+=tmp;
          //On retire cette lettre du mot mystère
          //Pour ne pas la prendre une deuxième fois
            mot.Delete(mot.Pos(tmp),1);
        }
     
       //On renvoie le mot mélangé
       return melange;
    }
    //---------------------------------------------------------------------------
     
    void __fastcall TForm120::Button1Click(TObject *Sender)
    {
       String motMystere, motMelange, motUtilisateur;
       Label1->Caption=L"";
       //Initialisation des nombres aléatoires
         //1 : On demande de saisir un mot
       motMystere =InputBox(L"Saisie Mot Mystere",L"Entrer Le mot Mystère",L"");
     
       //2 : On récupère le mot avec les lettres mélangées dans motMelange
      motMelange=melangerLettres(motMystere);
       //3 : On demande à l'utilisateur quel est le mot mystère
       do
       {
          motUtilisateur=InputBox(L"Saiei Utilisateur",L"Devinez Le mot Mystère",L"");
          if (motUtilisateur == motMelange )
            Label1->Caption=L"Bravo";
          else
            Label1->Caption=L"Mot introduit ne correspond pas";
         }
       while (motUtilisateur != motMelange);
     
    }
    //---------------------------------------------------------------------------
    PS: le code de OPen Classroom est par ailleurs disfonctionnel

    cdlt
    vous trouverez mes tutoriels � l'adresse suivante: http://djmsoftware.developpez.com/
    je vous en souhaite une excellente lecture ...

    A lire : Les r�gles du forum

  17. #17
    Membre confirm�
    Homme Profil pro
    Inscrit en
    Janvier 2014
    Messages
    132
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2014
    Messages : 132
    Par d�faut
    Bonjour DjmSoftware

    Merci pour ton code, sympa de ta part.

    Je trouve que c'est un peu l'usine � gaz avec les string, String, wsstring, AnsiString, UnicodeString, etc ...

    Cordialement

  18. #18
    Membre exp�riment�
    Homme Profil pro
    D�veloppeur multiplateformes
    Inscrit en
    Mars 2003
    Messages
    277
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activit� : D�veloppeur multiplateformes
    Secteur : High Tech - Multim�dia et Internet

    Informations forums :
    Inscription : Mars 2003
    Messages : 277
    Par d�faut
    Citation Envoy� par magdani Voir le message

    Je trouve que c'est un peu l'usine � gaz avec les string, String, wsstring, AnsiString, UnicodeString, etc ...

    Cordialement
    La g�n�ralisation de l'Unicode a �t� une tr�s bonne chose. Cela s'est fait tr�s t�t (c'�tait encore du temps de Borland il me semble). En pratique, que ce soit avec la VCL ou FMX il faut utiliser uniquement les "String" et tout va bien.
    "wstring" sera utile dans certains cas pour assurer la compatibilit� avec la biblio standard et du code venant de l'ext�rieur.

    Yves

  19. #19
    Membre confirm�
    Homme Profil pro
    Inscrit en
    Janvier 2014
    Messages
    132
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2014
    Messages : 132
    Par d�faut
    ok et merci Yves

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. convertir un string en UnicodeString.
    Par magdani dans le forum C++Builder
    R�ponses: 2
    Dernier message: 30/05/2018, 16h25
  2. Cr�er une Image avec un Bitmap C++ Builder Firemonkey
    Par magdani dans le forum C++Builder
    R�ponses: 5
    Dernier message: 03/10/2017, 17h38
  3. R�ponses: 0
    Dernier message: 11/07/2012, 08h51
  4. mon premier pas avec builder c++ problem avec une string grid
    Par chahinerue6 dans le forum C++Builder
    R�ponses: 5
    Dernier message: 30/01/2010, 21h42
  5. Exemple UnicodeString Builder 2009
    Par devroot dans le forum C++Builder
    R�ponses: 11
    Dernier message: 14/11/2008, 11h21

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