Как сократить повторяющийся код, касающийся подписи к надписи?

#delphi

Вопрос:

У меня есть такой код

   Label1.Caption := '';
  Label2.Caption := '';
  Label3.Caption := '';
  Label4.Caption := '';
  Label5.Caption := '';
  Label6.Caption := '';
 

Как я могу сделать петлю или sth, чтобы сделать ее короче?

Комментарии:

1. Поместите метки в массив и выполните цикл по массиву

2. (1) Если у них один и тот же родитель и какое-то узнаваемое свойство, выполните итерацию по родительскому Controls . Если вам трудно найти узнаваемое свойство, вы можете воспользоваться Tag . (2) Поместите элементы управления в массив при запуске приложения. (3) Если вы не возражаете против написания ужасно плохого кода, вы также можете использовать FindComponent .

Ответ №1:

Сделайте простую процедуру для работы с массивом меток:

 procedure ClearLabels(LabelsArr: array of TLabel);
var
  i: Integer;
begin
   for i := Low(LabelsArr) to High(LabelsArr) do
      LabelsArr[i].Caption := '';
end;
 

и называй это так:

 ClearLabels([Label1, Label2, Label3]);
 

Комментарии:

1. Или только с одним параметром, имеющим значение по умолчанию '' «сделать заголовок переменной». А, ну… переменная.