![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Динамическое создание Label'ов
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;