![]() |
|
|
|
|
#1
|
|||
|
|||
|
Имею на форме 25 лейблов. Надо, чтобы при загрузке их caption'ы были 0. Я так понимаю это надо реализовать с помощью цикла, как?
|
|
#2
|
||||
|
||||
|
Цитата:
Код:
var i:integer; begin for i:=0 to ComponentCount-1 do begin if Components[i] is TLabel then begin Components[i].Caption:='0'; end; end; |
|
#3
|
||||
|
||||
|
Так он все Label изменит, лучше через FindComponent имхо.
|
|
#4
|
|||
|
|||
|
подскажите и мне чтоли. Новую тему создавать не стал, потому что вопрос у мну почти тоот же самый.
Код:
procedure Tcalculator.ComboBox6Exit(Sender: TObject);
begin
GroupBox2.Visible:=false; // здесь оно обнуляет видимость
GroupBox3.Visible:=false; // всех девяти групбоксов.
GroupBox4.Visible:=false; // Первый всегда видимый, поэтому он не упомянут
GroupBox5.Visible:=false;
GroupBox6.Visible:=false;
GroupBox7.Visible:=false;
GroupBox8.Visible:=false;
GroupBox9.Visible:=false;
GroupBox10.Visible:=false;
KolSek:= StrToInt(ComboBox6.Text); //KolSek-это количество секций,
//которое пользователь указывает
for i:=2 to KolSek do
GroupBox[i].Visible:=true; //в зависимости от того, что укажет пользователь нужно сделать видимыми
//определённое количество Групбоксов
end;Вопрос в том, что он выдаёт ошибку в строке GroupBox[i].Visible:=true; нужно как-то массив объявить или что? Сильно прошу не пинать, это мой первый код, и соответственно, первый вопрос на форуме. |
|
#5
|
|||
|
|||
|
Читайте, что написал TOJluK. Грубо говоря, так.
Код:
for i:=2 to KolSek do
(FindComponent('GroupBox' + IntToStr(i)) as TGroupBox).Visible:=true; |
|
#6
|
|||
|
|||
|
Вот спасибо! Я с этим дня три плясал, всё никак не получалось. Теперь надо разобраться как здесь плюсы в репутацию ставить и что это за FindComponent такой.)))
Спасибо! |
|
#7
|
|||
|
|||
|
Всем спасибо!
Цитата:
|
|
#8
|
|||
|
|||
|
А так попробуйте.
Код:
(Components[i] as TLabel).Caption:='0'; |
|
#9
|
|||
|
|||
|
Цитата:
Ок. Работает. Спасиб ))) |