boucle sur composant memo
J'ai simplifié mon programme de façon à être clair.
Soit :
- une form avec 3 memos (chacun avec 4 lignes données)
- un memo devant recueillir les données d'un des 3 memos choisis grace à un Mainmenu (choix 1, choix2, choix 3)
La bizarrerie qui provient d'une erreur de programmation c'est que
lorsque je fais un choix : exemple ch2 (j'ai choisi le memo2 contenant 4 lignes avec F - ligne 1,
G - ligne 2
H - ligne 3
J - ligne 4
je n'obtiens QUE l'écriture des 2 premières lignes (de memo2) dans le memo4 qui recueille les données de memo2 choisi. Soit : F et G . C'est tout !
Idem pour le même essai avec memo1 ou memo 3 ... je n'ai que les 2 premières lignes !
D'où vient mon erreur ?
Code:
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
| procedure traite (num :integer);
var j : integer;
begin
If Form1.Components[num] IS Tmemo then
for j:=0 to 3 do // parcours les 4 lignes du memo choisi
Form1.Memo4.Lines[j]:=(form1.Components[num] as Tmemo).Lines[j] ;
end;
// choix des memos (dans le mainmenu1)
procedure TForm1.ch1Click(Sender: TObject);
begin
num_etal:=1;
traite (num_etal-1);
end;
procedure TForm1.ch2Click(Sender: TObject);
begin
num_etal:=2;
traite (num_etal-1);
end;
procedure TForm1.ch3Click(Sender: TObject);
begin
num_etal:=3;
traite (num_etal-1);
end; |
********************* Merci d'avance !