![]() |
|
|
#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
|
|||
|
|||
![]() Цитата:
Ок. Работает. Спасиб ))) |