Windows 10 - lazarus-2.0.12-fpc-3.2.0-win64

Bonsoir,

Je me mets à Lazarus et je l'explore. Jusqu'à présent je n'avais aucun problème mais en voulant faire une permutation de caractères à partir d'un TEdit.text je me suis rendu compte que les caractères accentués n'apparaissaient pas. J'ai donc fait une simple itération du TEdit.text comme cela :

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
 
 
procedure TForm1.Button1Click(Sender: TObject);
var
  i : integer ; // indice de la variable edit1.Text
  texte : String;
 
begin
 
  ListBox1.Clear;
  texte := Edit1.Text;
 
  for i:=1 to Length(texte) do
    begin
      ListBox1.Items.Add(texte[i]);
    end;
 
 end;
Les caractères éàè etc... sont vides. J'ai cherché sur les forums, appliqué par exemple [I]GuessEncoding(texte) pour savoir qu'elle était le codage du ' é ' cp1252 en l'occurence et j'ai fait toute les variantes entre UTF8toCp1252/ et inverse, j'ai lu ce wiki de freepascal intéressant https://wiki.freepascal.org/LCL_Unic...NSI_et_Unicode où j'ai essayé UTF8toAnsi et inversement, explorer Lazutils etc..
Je reconnais, humblement que mon niveau technique ne me permets pas de bien comprendre ce que je dois faire.
Donc question:
Y-a-t-il un moyen de boucler sur un texte (TEdit.text) avec caractère accentué et après traitement l'introduire dans une listBox ou un champ mémo d'une façon pas trop compliquée ?
Je vous remercie de votre patience, par avance

Caylus