Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Динамическое создание Label'ов


Страницы:   1 2

bagira ©   (2008-01-05 04:05:00) 

Здравствуйте. Мне нужно при выполнении программы (программа связана с базой данных) создать на форме определенное количество Label'ов, равное количеству записей в одной из таблиц БД. Вопрос такой - можно ли изначально не определять максимальное количество Label'ов, которое можно будет создать, потому что все, что я нашла пока по данному вопросу, это такой пример:

var
answer: array[1..N_ANSWERS] of TLabel;
i: integer
begin
...
for i:= 1 to N_ANSWERS do begin
answer[i] := TLabel.Create(self);
answer[i].Parent := Form1;
...

Мож но ли не указывать изначально максимальное количество создаваемых динамических компонентов и если да, то как это сделать? Заранее спасибо за ответы


Джо   (2008-01-05 04:23:00) [21]

> Если же непременно нужен массив лейблов:

То непременно нужно объявить массив как динамический, т.е:
answer: array of TLabel;
Это я чтобы автору понятней было.


turbouser   (2008-01-05 04:20:00) [22]

while not Query.Eof do
 begin
   with TLabel.Create(Form1) do
     begin
       Parent:=Form1;
       Caption:=Query.Fields[0].AsString;
       ....
     end;
   Query.Next;
 end;

Примерно так.
Если же непременно нужен массив лейблов:

var i:integer;
....
i:=0;
SetLength(answer,_количество_записей_);
while not Query.Eof do
 begin
   answer[i] := TLabel.Create(self);
   answer[i].Parent := Form1;
       ....
   Query.Next;
   Inc(i);
 end;


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо