Création de composant à l'exécution

birdyz Messages postés 42 Date d'inscription jeudi 9 janvier 2003 Statut Membre Dernière intervention 4 septembre 2006 - 14 avril 2003 à 09:43
birdyz Messages postés 42 Date d'inscription jeudi 9 janvier 2003 Statut Membre Dernière intervention 4 septembre 2006 - 18 avril 2003 à 16:58
Bonjour à tous

Lors de l'exécution de mon prog, je doit créer X composant Tedit sur une forme. Suis je obligé de déclaré X fois Edit1, Edit2, ..., ou puis uniquement en déclarer un, puis les créer dans une boucle en utilisant un indice genre Edit[i] := Tedit.create ...

Merci d'avance

2 réponses

cs_Nono40 Messages postés 962 Date d'inscription mercredi 3 avril 2002 Statut Membre Dernière intervention 12 septembre 2006 2
18 avril 2003 à 00:40
Tu peux effectivement les créés à la chaine dans le OnCreate de la fiche ou à un autre moment :

procedure TForm1.FormCreate(Sender: TObject);
Var ED:TEdit;
    i:Integer;
begin
  ListBox1.Items.Assign(Screen.Fonts);
  For i:=1 to 100 Do
  Begin
    ED:=TEdit.Create(Self);
    ED.Parent:=Self;
    ED.Name  :='MonEdit'+IntToStr(i);
    ED.Top:=i*2;
    ED.Meft:=i*2;
  End;
end;


Ensuite pour accéder à un Edit particulier :

TEdit(Form1.FindComponent('MonEdit'+IntToStr(Num))).Text:='Toto';


--- :sleepy) Nono40@fr.st :sleepy) ---
Nouveau ---> Nono40.fr.st
0
birdyz Messages postés 42 Date d'inscription jeudi 9 janvier 2003 Statut Membre Dernière intervention 4 septembre 2006
18 avril 2003 à 16:58
Merci beaucoup pur ta réponse. Ca parait tellement simple dès qu'on a la solution ^^

@pluche
0
Rejoignez-nous