Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 26.04.2018, 07:27
Stanei Stanei вне форума
Новичок
 
Регистрация: 21.05.2015
Сообщения: 55
Версия Delphi: Rad Studio 10
Репутация: 10
По умолчанию присвоить значение "Tag" динамически создаваемым кнопкам в цикле

Здравствуйте, столкнулся с такой проблемой, в цикле создаются кнопки:
Код:
procedure Tmain.SpeedButton2Click(Sender: TObject);
var
i:integer;
begin
i:=ADOTable1.recordcount; //подсчёт кол-ва строк в БД
while i>0 do
begin
but:=Tspeedbutton.Create(self);
//but.Name:='but_'+inttostr(i);
but.Tag:=i;
but.Parent:=Flowpanel1;
but.Width:=120;
but.Height:=40;
but.Cursor:=crHandPoint;
but.AlignWithMargins:=true;
DataSource1.DataSet.RecNo:=i; //выбор строки в таблице
but.Caption:=DataSource1.DataSet.Fields[1].AsString; //текст на кнопке из первого столбца в таблице
but.OnClick:=main.click;
i:=i-1;
end;
end;

после выполнения процедуры все кнопки имеют тег "1", проверял с помощью showmessage.

А если убрать цикл и создать только одну кнопку, то её тег будет "29" (29 строк в таблице).

Пробовал присваивать имя кнопкам, но тоже с циклом на выходе у всех кнопок значение "name" равно "but_1", а без цикла одна кнопка создаётся "but_29"

Помогите пожалуйста, как нужно изменить процедуру?
Ответить с цитированием
 


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 23:33.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter