У меня есть многочисленные процедуры, которые динамически создают TButton, когда пользователь нажимает кнопку. Следующий код является примером этого:Повторяя процедуру, указанное пользователем количество раз
procedure TForm1.Button2Click(Sender: TObject);
begin
if not Assigned(FSeatButton) then begin
FSeatButton := TButton.Create(self);
FSeatButton.Parent := self;
FSeatButton.Left := 100;
FSeatButton.Top := 100;
FSeatButton.Width := 62;
FSeatButton.Height := 25;
FSeatButton.Caption := ('Seat');
FSeatButton.OnMouseDown := ButtonMouseDown;
FSeatButton.OnMouseMove := ButtonMouseMove;
FSeatButton.OnMouseUp := ButtonMouseUp;
end;
end;
Это создает TButton, который пользователь может затем перетащить вокруг через нижние 3 процедур. Мне нужно, чтобы эта процедура повторялась каждый раз, когда пользователь нажимает кнопку2, но если я использую идентификатор цикла for/repeat, нужно указать, когда его завершить, но я не знаю, сколько кнопок потребуется пользователю.
Также (Это может быть идея для другого вопроса), как бы я сохранил каждую кнопку, созданную с ее собственным идентификатором, как таковой E.G Button1, Button2 ... ButtonN. Я предполагаю, что мне нужна какая-то переменная, которая увеличивается каждый раз, когда пользователь нажимает кнопку, и она каким-то образом включается в имя EG ButtonI
@DavidHeffernan она позволяет одной кнопкой быть создана после того, как создан, он не работает снова –
Просто удалите «если не назначен» бит его и установить имя кнопки. Просто убедитесь, что имя уникально, например. увеличивая переменную и добавляя ее в «Seat» – Dsm