Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.05.2010, 17:22   #1
Rapala
Пользователь
 
Регистрация: 28.03.2010
Сообщений: 46
По умолчанию Показать/скрыть edit`ы

У меня есть допустим 50 editов. Нужно указать кол-во нужных edit`ов в поле edit и показать только нужные.
Тоесть, если в edit поле 5, то нужно чтоб показались 5 edit`ов
Как это осуществить?
Rapala вне форума Ответить с цитированием
Старый 10.05.2010, 18:54   #2
Sibedir
Тот ещё
Старожил
 
Аватар для Sibedir
 
Регистрация: 14.11.2007
Сообщений: 2,242
По умолчанию

Вариант 1:
У формы есть специальное свойство, через которое можно обратиться ко всем компонентам, расположенным на нем
Код:
Form1.Components
Вариант 2: Попроще.
Код:
var
  Arr: array of TEdit;

...

procedure TForm1.FormCreate(Sender: TObject);
begin
  SetLength (Arr, {скока надо});
  Arr [0] := Edit1;
  Arr [1] := Edit2;
  Arr [2] := Edit3;
  Arr [3] := Edit4;
...
end;
Далее работаем с едитами через глобальный массив Arr.
Sibedir вне форума Ответить с цитированием
Старый 11.05.2010, 02:13   #3
RAZOR3
Пользователь
 
Регистрация: 25.04.2010
Сообщений: 38
По умолчанию

а можно вот так
Код:
for i:=2 to StrToInt(Edit1.text) do
TEdit(FindComponent('Edit'+IntToStr(i))).Visible:=true;
RAZOR3 вне форума Ответить с цитированием
Старый 11.05.2010, 09:20   #4
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

А если не всем лень переименовывать компоненты с editN в более читабельный вид? Если у всех эдитов разные имена? вот решение , думаю правельное..

Код:
procedure ComponentsAct(); //перебор комопонент
var
i:integer; // переменная перечисления компонент
Obj:TObject; //переменная типа Обьект
begin
for i:=0 to Form.ComponentCount -1 do //перечисляем на форме компоненты и передаем значение в i
begin
Obj:=Form.Components[i]; //присваиваем Obj значения переменной i
if Obj is TEdit then //если в Obj есть обьект типа TEdit то
TEdit(Obj).Visible:=False; //TEdit(кол-во из Obj).видимость:=фалс
end;
если форм много и на всех надо это сделать, то:
Код:
procedure MultiComponentsAct(); //
var
i,j:integer; //j - перечисляет все видимые формы...
Obj:TObject; //
begin
For f:=0 to Screen.FormCount -1 do //заносим в j все видимые формы
begin
for i:=0 to Screen.Forms[f].ComponentCount -1 do //
begin
Obj:=Form.Components[i]; //
if Obj is TEdit then //
TEdit(Obj).Visible:=False; //
end; //
end; //
все просто=)
Человек_Борща вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Edit Показать/Скрыть пароль.. String и Char проблемы.. Человек_Борща Общие вопросы Delphi 2 10.04.2010 22:32
Показать\Скрыть чужое окно с меняющимся заголовком Vol666 Общие вопросы Delphi 17 23.09.2009 17:08
Найти в Edit и показать Shouldercannon Общие вопросы Delphi 1 23.06.2009 14:21
как скрыть/показать TMainMenu blackstersl Общие вопросы Delphi 3 13.06.2009 18:12
Показать и скрыть фигуры Иванов_ДМ Microsoft Office Excel 5 28.04.2009 16:49