Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Очистить все редакторы на форме... [D7, WinXP]


Дмитрий_05 ©   (2005-09-14 20:24:00) 

У меня по событию нажатия кнопки открывается окно Form2.ShowModal, в нем заполняются Edit-ы и многое другое, потом при нажатии кнопки на второй форме все что было введено добавляется в программу, а сама форма закрывается... Потом при повторном ее открытии все Edit-ы и другое остаются заполненными... Так вот как мне на форме все эти компоненты очистить? Тупым перебором Edit1.Clear и т.д. или еще как-то можно?


KiBERMiKE   (2005-09-15 12:27:00) [1]

Кое-что подправил....

Очищает все TEdit на Form1

var
i: Integer;
for i:= 0 to Form1.ControlCount - 1 do
if Form1.Controls[i].ClassName = 'TEdit' then
  TEdit(Form1.Control[i]).Clear;


KiBERMiKE   (2005-09-15 12:24:00) [2]

Очищает все TEdit на Form1

var
 i: Integer;
for i:= 0 to Form1.Controls - 1 do
 if Form1.Control[i].ClassName = 'TEdit' then
   TEdit(Form1.Control[i]),Clear;


ASoft   (2005-09-15 11:57:00) [3]

...
Application.CreateForm(Tform2, Form2);
Form2.ShowModal;
Form2.Free;
Form2:=nil
...

Из Edit'ов создай массив, затем перечислением очищай строки. Имхо.


TUser   (2005-09-15 10:57:00) [4]

От греха подальше
F:=TForm2.Create(Self);
try
F.ShowModal
finally
F.Free;
end;


AlexWlad   (2005-09-14 21:53:00) [5]


> Adder ©   (14.09.05 21:48) [4]


Вах, нэ успэл!!!


Дмитрий_05   (2005-09-14 21:53:00) [6]

а... точно...))) Что-то я воовще ))) Спасибо!


AlexWlad   (2005-09-14 21:52:00) [7]


> Form2.Create(Form1);


Вот не уверен я в этой строчке...
Скорее так

Form2 := TForm2.Create(...)
...


Adder   (2005-09-14 21:51:00) [8]

Но лучше так:
Form2:=TForm2.Create(Application);


Adder   (2005-09-14 21:48:00) [9]

Распространенная ошибка -)
Form2:=TForm2.Create(Form1);


Дмитрий_05   (2005-09-14 21:00:00) [10]

Убрал я авто-создание второй формы в опциях проекта... при вызове второй формы делаю так:

Form2.Create(Form1);
Form2.ShowModal;
Form2.Free;

и перед тем как должна показаться форма выдается ошибка... что нетак?


AlexWlad   (2005-09-14 20:36:00) [11]

В догонку - если форму убрать из автосоздающихся и криэйтить по требованию, тогда проблема исчезнет сама собой.


AlexWlad   (2005-09-14 20:35:00) [12]

Исключительно ручками. Можно перебирать Components на форме и если Edit - чистить.


Наверх

Титульная страница Поиск, карта сайта Написать письмо