![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
![]() Здраствуйте. Возникла следующая потребность, мне надо например через цикл массово изменить свойства компонента Tedit, а именно, visible. Т.к. едитов у меня около 60 штук, получится очень долго, да и мне их не 1 раз изменять надо. Так же едиты у меня названы по разному.
1) form2.name их 9 штук, т.е. form2.name2, form2.name3.... 2) form4.idl их 44. 3) form4.klv их то же 44. Дак вот сам я честно говоря пытался сделать, к тому же использовал гугл. Но ничего кроме 1 варианта я не нашёл, там был такой вариант: Через финд компонент изменяем свойство всех Tedit, которые нашли. Но мне надо только с определёнными именами. Пытался написать такой код: Код:
For i := 2 to 10 Do Begin S := ''; e1 := FindComponent('form2.name' + IntToStr(I)) As TEdit; e1.Visible:=false; |
#2
|
||||
|
||||
![]() Ну можно примитивно. Есть разные способы, этот первый пришел в голову. Сравнивать class...
Код:
procedure TForm1.Button1Click(Sender: TObject); var i: integer; begin for i:=0 to ComponentCount-1 do if(Components[i].ClassType = TEdit) then TEdit(Components[i]).Visible := False; end; Помогаю за Спасибо ![]() |
#3
|
||||
|
||||
![]() ну как вариант можешь у нужных тебе компонентов (те которые ты будешь скрывать\показывать) поставить свойство Tag=1. В таком случае твоя функция поска будет иметь примерно такой вид:
Код:
for i := 1 to 10 do begin e1:=(FindComponent('Edit'+IntToStr(i)) as TEdit); e1.Visible:= not e1.Tag=1; end; Поживу - увижу, Доживу - узнаю, Выживу - учту. ![]() [P.S.]->Выражая благодарность за помощь - Вы получаете шанс на помощь в следующий раз
Последний раз редактировалось Yurk@, 03.02.2011 в 00:04. |
#4
|
|||
|
|||
![]() Цитата:
![]() Цитата:
Спасибо, конечно это не очень удобно, но если до завтра никто другого не напишет, то попробую вашим способом ![]() UPD: Ох, поторопился я, оказывается мой вариант работает, только это из-за form2. он не работал, перенёс для теста на form2 это цикл, и всё отлично заработало. Теперь буду думать с form2. Если у кого-то есть соображения, то высказывайте. Последний раз редактировалось Мяфк, 03.02.2011 в 00:33. |
#5
|
||||
|
||||
![]() Грамотно поставленный вопрос содержит не менее 50% ответа. Грамотно поставленная речь вызывает уважение, а у некоторых даже зависть. |
#6
|
|||
|
|||
![]() Да, огромное спасибо, помогло.
|