bonsoir
mon programme consiste à créer une chaines de caractères ayanat une longueur fixe, et de l'affcher dans un Tmemo, ensuite je dois modifier cette même chaine et l'afficher dans un autre mémo.

voici le code de la procedure :

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
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
 
procedure TFentree.dxButton3Click(Sender: TObject);
Var lettres : array[0..3]of string;
    i,j,let,cota: integer;
    s1:string;
begin
// edit3 est la longueur de la chaine à créer
 
memoi.clear;
lettres[0]:= 'A';
lettres[1]:='B';
lettres[2]:='C';
lettres[3]:='D';
 
for j:=1 to  edit3.value do
begin
i := random(4); // entre 0 et 3 donc
memoi.text:=memoi.text+lettres[i];
end;
 
s1:=copy(memoi.text,0,edit3.value);
 
memoj.clear;
 
//modifier 5 position de la chaine I
for j:=1 to  5 do
begin
i := random(edit3.value); // générer une position aléatoire à modifier
let:=random(4); // générer une lettre aléatoire (A,B, C ou D)
s1[i]:=lettres[let];// remplacer une lettre de S1 par la lettre générée
end;
 
end
l'erreur est dans l'affectation (entre string et char) dans :

que dois-je faire ?

merci