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

Composants VCL Delphi Discussion :

Comment changer de codage dans TEdit ?


Sujet :

Composants VCL Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre émérite
    Inscrit en
    Juin 2005
    Messages
    644
    Détails du profil
    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2005
    Messages : 644
    Par défaut Comment changer de codage dans TEdit ?
    Comment peut-on suivant un choix préalable via un radiobutton entrer un texte en codage 'standard' ou en codage cyrillique dans un composant TEdit.
    Bien entendu il faudra de plus pouvoir le sauver correctement (UTF-8)

    Note : si cela est + facile avec borland C++ je suis aussi preneur!

    Merci pour vos réponses.

  2. #2
    Expert éminent
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 096
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 14 096
    Par défaut
    Le problème c'est que le texte d'un TEdit est une string, donc une chaine ANSI, et que le composant Windows derrière est une classe Ansi

    Il faut voir les composants TNT par exemple ... qui te proposeront des WideString (UniCode) et des classes Windows Wide ... qui ne sont pas implémenté en D7 !

    D'ailleurs, en D2007, ont-ils ajouté les classes wide en standard dans la VCL ?
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  3. #3
    Membre émérite
    Inscrit en
    Juin 2005
    Messages
    644
    Détails du profil
    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2005
    Messages : 644
    Par défaut
    Merci. J'ai pu charger ce tollbox et l'utiliser.
    Reste tout de même un problème:
    Comment sauver le(s) texte(s) en codage UTF-8?
    actuellement les fonctions assigntxt(t,'xxx.xxx'); rewrite(t) writeln(t,...) closefile(t) suivit de reset(t); me perdent l'info.
    le header $ef $bb $bf, signature de l'utf_8, n'est pas généré et tout le reste s'en suit, les byte > 127 ne sont pas traités en 'double byte'.

  4. #4
    Expert éminent
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 096
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 14 096
    Par défaut
    l'utf 8 est un code sur 8 puis s'étend en fonction des bits à 1 dans le premier octet sur 16, 24 ou 32 bit, alors que Wide c'est tout le temps 16 bit ... delphi propose dès D6 (peut-être avant mais je n'ai pas sous la main pour vérifier) la conversion :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Utf8Encode(const WS: WideString): UTF8String;
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

Discussions similaires

  1. [MySQL] Comment changer les liens dans un article ?
    Par JackBeauregard dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 29/12/2009, 22h51
  2. Comment changer le DNS dans une config
    Par babas09_2008 dans le forum VBScript
    Réponses: 0
    Dernier message: 26/08/2009, 15h35
  3. Comment changer des mots dans un fichier?
    Par ptitbonum dans le forum Linux
    Réponses: 5
    Dernier message: 07/04/2004, 23h42
  4. comment changer d'attribut de fonte dans un Tlabel?
    Par sb dans le forum Composants VCL
    Réponses: 3
    Dernier message: 21/08/2002, 16h53

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