Вниз
Скачать: CL | DM;

Очистить все редакторы на форме...   Найти похожие ветки 

← →
Дмитрий_05   (2005-09-14 20:24) [0]

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


← →
AlexWlad ©   (2005-09-14 20:35) [1]

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


← →
AlexWlad ©   (2005-09-14 20:36) [2]

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


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

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

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

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


← →
Adder ©   (2005-09-14 21:48) [4]

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


← →
Adder ©   (2005-09-14 21:51) [5]

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


← →
AlexWlad ©   (2005-09-14 21:52) [6]


> Form2.Create(Form1);


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

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


← →
AlexWlad ©   (2005-09-14 21:53) [7]


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


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


← →
Дмитрий_05   (2005-09-14 21:53) [8]

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


← →
TUser ©   (2005-09-15 10:57) [9]

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


← →
ASoft   (2005-09-15 11:57) [10]

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

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


← →
KiBERMiKE   (2005-09-15 12:24) [11]

Очищает все 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;


← →
KiBERMiKE   (2005-09-15 12:27) [12]

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

Очищает все 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;



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.025 c
3-1125386830
Malign
2005-08-30 11:27
2005.10.09
Скорость работы хранимых процедур значительно ниже запросов


14-1126875550
Ezh
2005-09-16 16:59
2005.10.09
111


11-1107951281
Alec
2005-02-09 15:14
2005.10.09
Как изменить Handle


2-1125498230
NataM
2005-08-31 18:23
2005.10.09
ActiveXForm


6-1118907060
denisww
2005-06-16 11:31
2005.10.09
ntlm Delphi




   Наверх