|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Как включить в цикл Edit
У меня в проге много эдитов (162). Как сделать цикл, чтобы в нём менялись эдиты, сначала Edit1, потом Edit2, Edit3 и т. д.
Пока у меня всё линейно и громоздко. Код:
Edit1.text:=''; Edit1.Color:=ClWindow; Edit1.ReadOnly:=false; Edit1.TabStop:=true; Edit2.text:=''; Edit2.Color:=ClWindow; Edit2.ReadOnly:=false; Edit2.TabStop:=true; и т. д. до 162. И может есть такая возможность, прописать такой шаг: все_эдиты.ReadOnly:=false; Как это записать на делфи? |
#2
|
||||
|
||||
Код:
for i := 0 to ComponentCount - 1 do if Components[i] is TEdit then (Components[i] as TEdit).ReadOnly := False; Поживу - увижу, Доживу - узнаю, Выживу - учту. [P.S.]->Выражая благодарность за помощь - Вы получаете шанс на помощь в следующий раз
|
Этот пользователь сказал Спасибо Yurk@ за это полезное сообщение: | ||
mpdasa (28.07.2012)
|
#3
|
|||
|
|||
Цитата:
Код:
var i: Integer; begin for i := 1 to 162 do begin with FindComponent('Edit'+IntToStr(i)) as TEdit do begin text:=''; Color:=ClWindow; ReadOnly:=false; TabStop:=true; end; end; end; Цитата:
|
Этот пользователь сказал Спасибо MiraLaklamon за это полезное сообщение: | ||
mpdasa (28.07.2012)
|
#4
|
|||
|
|||
А как здесь сделать?
А как сделать цикл со следующим кодом?
Эта процедура делает цветную рамку вокруг компонента, в моём случае label. Код:
procedure SetComponentBorder(c: TControl; colorr: integer); begin with TShape.Create(c) do begin Parent:=c.Parent; Top:=c.Top-1; Left:=c.Left-1; Pen.Color:=colorr; Width:=c.Width+2; Height:=c.Height+2; SendToBack; end; end; А вот здесь собственно говорю, какой компонент в какой цвет закрашивать. Как здесь сделать цикл? //цвет один для всех, компонент только label Код:
procedure TForm1.FormCreate(Sender: TObject); ... begin SetComponentBorder(Label1, 9639167); SetComponentBorder(Label2, 9639167); SetComponentBorder(Label3, 9639167); SetComponentBorder(Label4, 9639167); ... |
#5
|
|||
|
|||
Цитата:
Код:
FindComponent('Edit'+IntToStr(i)) as TEdit Код:
FindComponent('Label'+IntToStr(i)) as TLabel |
Этот пользователь сказал Спасибо MiraLaklamon за это полезное сообщение: | ||
mpdasa (28.07.2012)
|
#6
|
|||
|
|||
Цитата:
А что мне в самом цикле процедуры написать вместо слов LabelN? Код:
SetComponentBorder(Label1, d); То есть как оформить эту единственную строку цикла? Простите, может очень уж простые вопросы, но в программировании я новичёк. |
#7
|
|||
|
|||
Цитата:
Код:
var i: Integer; begin for i := 1 to 4 do begin SetComponentBorder(FindComponent('Label'+IntToStr(i)) as TLabel, d); end; end; |
Этот пользователь сказал Спасибо MiraLaklamon за это полезное сообщение: | ||
mpdasa (28.07.2012)
|