![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | 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;Последний раз редактировалось Yurk@, 03.02.2011 в 00:04. |
|
#4
|
|||
|
|||
|
Цитата:
Цитата:
Спасибо, конечно это не очень удобно, но если до завтра никто другого не напишет, то попробую вашим способом ![]() UPD: Ох, поторопился я, оказывается мой вариант работает, только это из-за form2. он не работал, перенёс для теста на form2 это цикл, и всё отлично заработало. Теперь буду думать с form2. Если у кого-то есть соображения, то высказывайте. Последний раз редактировалось Мяфк, 03.02.2011 в 00:33. |
|
#5
|
||||
|
||||
|
|
|
#6
|
|||
|
|||
|
Да, огромное спасибо, помогло.
|