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 :

comment désactiver l'option unicode dans borland 2010 pour c++


Sujet :

C++Builder

  1. #1
    Membre du Club
    Inscrit en
    Juillet 2009
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 51
    Points : 40
    Points
    40
    Par défaut comment désactiver l'option unicode dans borland 2010 pour c++
    Bonjour,

    J'ai un code qui marche sous borland 2006 & on voulait migrer en 2010 mais il ne compile plus, [BCC32 Erreur]: E2034 Impossible de convertir 'const char *' en 'const wchar_t *'

    J'ai lu sur google que c'est dû au fait que mon code est en ASCII et que borland 2010 est par défaut en UNICODE, j'aimerais désactiver l'option UNICODE dans borland 2010 mais je ne sais pas où faire, veuillez m'indiquer clairement étape par étape, merci

  2. #2
    Membre chevronné
    Avatar de Crayon
    Inscrit en
    Avril 2005
    Messages
    1 811
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 811
    Points : 2 189
    Points
    2 189
    Par défaut
    Salut, tu peux aller dans Project > Options.... Dans la section Directories and Conditionals il y a l'option _TCHAR maps to. Assure toi qu'il est à char.

    Dans ton code, n'utilise pas String, prend plutôt AnsiString si c'est ce que tu veux.
    • Plus un ordinateur possède de RAM, plus vite il peut générer un message d'erreur. - Dave Barry
    • Je n'ai pas peur des ordinateurs. J'ai peur qu'ils viennent à nous manquer. - Isaac Asimov
    • Le code source est comme une belle femme, plus on le regarde, plus on trouve des défauts. - Crayon

  3. #3
    Membre du Club
    Inscrit en
    Juillet 2009
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 51
    Points : 40
    Points
    40
    Par défaut
    salut tout le monde,


    Project > Options.... Dans la section Directories and Conditionals il y a l'option _TCHAR maps to.Assure toi qu'il est à char.
    => Il est bien à char, même si je fais expres de le mettre à wchar_t, quand je compile il s'est remis automatiquement à char, et c'est là le pb, car Borland2010 est par défaut UNICODE (càd wchar_t) et mon code est Non Unicode (celui indiqué dans Project > Options... càd char).

    J'ai trouvé un moyen: au lieu de désactiver l'option UNICODE par défaut de Borland2010, j'ai modifié mon code pour être compatible à Unicode. Pour ceux qui s'intéresse, j'ai fait comme suit:

    -Mettre L avant toute chaine de caractère "" (ex:"toto" devient L"toto")
    -changer tout type char en wchar_t
    -changer toute fonction string.h, ex:
    c_str en w_str
    atoi en _wtoi
    sprintf en swprintf
    strcpy en wcsncpy
    strlen en wcslen
    strtok en wcstok
    strstr en wcsstr
    etc. (pour savoir, cliquez f1 sur la méthode, l'aide va proposer les 2, puis choississez celui qui commence par w)

    Sinon il faut coder avec AnsiString (ou String) au lieu de char* et il n'y aura pas de pb d'unicode entre versions de borland ... de merde!

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 13/07/2007, 22h09
  2. Réponses: 2
    Dernier message: 07/05/2007, 19h25
  3. Comment insérer de l'unicode dans un Richedit ?
    Par DanaKil dans le forum C++Builder
    Réponses: 6
    Dernier message: 30/03/2004, 00h43
  4. Réponses: 8
    Dernier message: 24/07/2003, 10h45

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