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

Langage Delphi Discussion :

[D7] Liste avec accents


Sujet :

Langage Delphi

  1. #1
    Membre actif Avatar de oneDev
    Homme Profil pro
    dilettant
    Inscrit en
    Mars 2019
    Messages
    213
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : dilettant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2019
    Messages : 213
    Points : 222
    Points
    222
    Par défaut [D7] Liste avec accents
    Bonjour,

    J'essaie de charger le contenu d'un fichier texte dans une ListBox, mais je n'arrive pas à afficher correctement les caractères accentués.

    j'ai la liste suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Léo
    Raphaël
    Timéo
    Théo
    Maël
    Clément
    Noé
    Mathéo
    Léon
    Kaïs
    Naël
    Actuellement, je la charge simplement de cette façon :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    procedure TForm1.LoadList;
    var
      l: TStringList;
    begin
      l := TStringList.Create;
      l.LoadFromFile('list.txt');
      ListBox1.Items.Assign(l);
      ListBox1.Items.Add('René');
      l.Free;
    end;
    Voici le résultat :

    • LĂŠo
    • RaphaĂŤl
    • TimĂŠo
    • ThĂŠo
    • MaĂŤl
    • ClĂŠment
    • NoĂŠ
    • MathĂŠo
    • LĂŠon
    • KaĂŻs
    • NaĂŤl
    • René



    Comment puis-je afficher correctement le contenu de la liste ?

    Merci de vos conseils.

  2. #2
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 038
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 038
    Points : 40 943
    Points
    40 943
    Billets dans le blog
    62
    Par défaut
    Bonjour,

    Quoi de surprenant quand on sait que D7 n'est pas Unicode. Le fichier texte est lu comme un simple fichier ASCII et malheureusement je ne crois pas qu'il y ait de surcharge de type
    LoadFromFile(f, TEncoding.UTF8)
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  3. #3
    Membre actif Avatar de oneDev
    Homme Profil pro
    dilettant
    Inscrit en
    Mars 2019
    Messages
    213
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : dilettant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2019
    Messages : 213
    Points : 222
    Points
    222
    Par défaut
    Non, il n'y a effectivement pas ce type de surcharge...

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 42
    Points : 33
    Points
    33
    Par défaut
    Bonjour,
    Un simple AnsiToUTF8 à la lecture du ListBox ne suffit pas ?

  5. #5
    Membre actif Avatar de oneDev
    Homme Profil pro
    dilettant
    Inscrit en
    Mars 2019
    Messages
    213
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : dilettant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2019
    Messages : 213
    Points : 222
    Points
    222
    Par défaut
    J'ai fait ce test :

    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
    procedure TForm1.LoadList;
    var
      l: TStringList;
      i: Integer;
    begin
      l := TStringList.Create;
      l.LoadFromFile('list.txt');
    //  ListBox1.Items.Assign(l);
     
      for i:=0 to Pred(l.Count) do
        ListBox1.Items.Add(AnsiToUtf8(l[i]));
     
      ListBox1.Items.Add('René');
      l.Free;
     
      ListBox1.items.SaveToFile('save_list.txt');
    end;
    Mais j'obtiens :

    • LĂƒÂŠo
    • RaphaĂƒÂŤl
    • TimĂƒÂŠo
    • ThĂƒÂŠo
    • MaĂƒÂŤl
    • ClĂƒÂŠment
    • NoĂƒÂŠ
    • MathĂƒÂŠo
    • LĂƒÂŠon
    • KaĂƒÂŻs
    • NaĂƒÂŤl
    • René

  6. #6
    Membre expérimenté Avatar de guillemouze
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    876
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Novembre 2004
    Messages : 876
    Points : 1 448
    Points
    1 448
    Par défaut
    c'est juste le contraire qu'il faut faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
      ListBox1.Items.LoadFromFile('d:\utf.txt');
      for i := 0 to ListBox1.Items.Count-1 do
        ListBox1.Items[i] := Utf8ToAnsi(ListBox1.Items[i]);

  7. #7
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 038
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 038
    Points : 40 943
    Points
    40 943
    Billets dans le blog
    62
    Par défaut
    Bonjour,

    voilà comment j'ai rempli une TlistBox avec ton fichier
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    var SL : TStringList;
    begin
    SL:=TStringList.Create;
    SL.LoadFromFile('prénoms.txt');
    Listbox1.Items.Text:=UTF8DECODE(Sl.Text);
    SL.Free;
    end;
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  8. #8
    Membre actif Avatar de oneDev
    Homme Profil pro
    dilettant
    Inscrit en
    Mars 2019
    Messages
    213
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : dilettant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2019
    Messages : 213
    Points : 222
    Points
    222
    Par défaut
    Merci guillemouze et SergioMaster, cela fonctionne !!
    Grand merci à vous.

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

Discussions similaires

  1. Liste avec ascenceur
    Par Guitch dans le forum Balisage (X)HTML et validation W3C
    Réponses: 7
    Dernier message: 20/10/2004, 15h32
  2. [MFC] creer une liste avec des check????
    Par ginounet dans le forum MFC
    Réponses: 4
    Dernier message: 16/06/2004, 11h47
  3. Problème avec accents et CHARACTER SET ISO8859_1
    Par kinda dans le forum InterBase
    Réponses: 13
    Dernier message: 30/10/2003, 15h49
  4. PB : affichage de données avec accent sous delphi 6
    Par kinda dans le forum Débuter
    Réponses: 3
    Dernier message: 03/07/2003, 13h19

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