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

Lazarus Pascal Discussion :

Caractère accentué et variable de type Char [Lazarus]


Sujet :

Lazarus Pascal

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de ALEX77
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    138
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 138
    Par défaut Caractère accentué et variable de type Char
    Bonjour

    J'ai un programme Delphi que je souhaite passer sous Lazarus sous CentOS. Avec Delphi pas de problème, c'est de l'ANSI mais avec Lazarus, quand je code par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    procedure test();
    var c : char;
    begin
      c:= 'à';
     
    end;
    la compilation me renvoie une erreur au niveau de c:= avec "Error: Incompatible types: got "Constant String" expected "Char"".

    Comment faire pour comparer ou assigner des caractères accentués ?

    Merci pour votre aide

  2. #2
    Membre émérite
    Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2010
    Messages
    469
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2010
    Messages : 469
    Par défaut
    Bonjour

    C'est vrai que c'est fâcheux, alors que les dernières versions de FPC et Lazarus sont censées être transparentes à l'UTF8... Espérons que ça changera...

    Tu peux cependant t'en sortir en remplaçant Char par String, ou mieux par le type TUtf8Char qui a l'avantage d'être énumérable.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    uses
      [...], LCLType;
     
    procedure test();
    var c : TUtf8char;
    begin
      c:= 'à'; 
      case c of
         'à' : ;
        end ;
    end;
    NB : 'à' est identifié comme une string, parce qu'il est probablement codé en UTF8, donc sur plusieurs octets.

  3. #3
    Membre confirmé Avatar de ALEX77
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    138
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 138
    Par défaut
    J'ai trouvé en fait, il faut faire un clic droit dans l'éditeur et faire choisir le menu File Settings / Encoding ; à partir de là on peut changer l'encodage du document.

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 06/01/2017, 12h52
  2. Chaines avec caractères accentués dans interbase
    Par Tsimplice dans le forum Bases de données
    Réponses: 4
    Dernier message: 08/03/2004, 17h12
  3. Chaînes avec des caractères accentués dans Interbase
    Par Invité dans le forum Bases de données
    Réponses: 2
    Dernier message: 04/03/2004, 22h39
  4. [PostgreSQL] Les caractères accentués ?
    Par yacomor dans le forum Requêtes
    Réponses: 2
    Dernier message: 18/02/2003, 16h30
  5. insérer des caractères accentués INFORMIX/JDBC
    Par donde dans le forum Informix
    Réponses: 2
    Dernier message: 19/11/2002, 20h02

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