Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Для новичков > Как включить в цикл Edit


Автор: mpdasa 28.7.2012, 07:11
У меня в проге много эдитов (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; Как это записать на делфи?

Автор: Ne1tr1n0 28.7.2012, 08:28
Код

for i := 0 to Form1.ControlCount - 1 do
  if (Form1.Controls[i] is TEdit) then
  begin
    (Form1.Controls[i] as TEdit).text:='';
    (Form1.Controls[i] as TEdit).Color:=ClWindow;
    (Form1.Controls[i] as TEdit).ReadOnly:=false;
    (Form1.Controls[i] as TEdit).TabStop:=true;
  end;
Как-то так...

Автор: northener 28.7.2012, 17:09
Цитата(Ne1tr1n0 @  28.7.2012,  08:28 Найти цитируемый пост)
Как-то так

Только если все Edit'ы лежат на самой форме.

Автор: rodnover 29.7.2012, 08:38
Использую подобную самописную функцию:

Код

procedure ShowAll(show: Boolean; Objects: array of TControl);
var
  I: Integer;
begin
    for I := Low(Objects) to High(Objects) do
        Objects[i].Visible := show;
end;

begin
  ShowAll(True, [Edit1, Edit2, Edit3, Button7]);
end.


Думаю, преобразовать её на использование ReadOnly проблем не составит. smile

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)