15 мая 2023 года "Исходники.РУ" отмечают своё 23-летие!
Поздравляем всех причастных и неравнодушных с этим событием!
И огромное спасибо всем, кто был и остаётся с нами все эти годы!

Главная Форум Журнал Wiki DRKB Discuz!ML Помощь проекту

Borland C++ Builder FAQ
Составлен по материалам форума на Исходниках.Ru
Содержание Последнее обновление: 14.02.2004

Компоненты - динамическое создание

Автор: OlegGG
Исходная ссылка: - - -

Например, так:
for (int i=0;i<5;i++)
        {
        TEdit *edit = new TEdit(this);
        edit->Parent = this;
        edit->Name = "edit"+AnsiString(i);
        edit->Height = 16;
        edit->Width = 104;
        edit->Left = 0;
        edit->Top = i*edit->Height;
        edit->Text = AnsiString(i);
        }
Этот код создаст 5 TEdit'ов.
Обращатся к ним можно так (по имени):
for (int i=0;i<5;i++)
        {
        TEdit *edit = (TEdit*)FindComponent("edit"+AnsiString(i));
        edit->Text = "www.sources.ru";
        }
Или совершенно другой вариант - использование массива:
TEdit *edit[5];

for (int i=0;i<5;i++)
        {
        edit[i] = new TEdit(this);
        edit[i]->Parent = this;
        edit[i]->Name = "edit"+AnsiString(i);
        edit[i]->Height = 16;
        edit[i]->Width = 104;
        edit[i]->Left = 0;
        edit[i]->Top = i * edit[i]->Height;
        edit[i]->Text = AnsiString(i);
        }

for (int i=0;i<5;i++)
        {
        edit[i]->Text = "www.sources.ru";
        }