Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.05.02;
Скачать: CL | DM;

Вниз

Форма и компоненты   Найти похожие ветки 

 
oleg_v   (2004-04-16 17:41) [0]

Здравствуйте!
Помогите, задача вроде до безумия простая а что-то не получается: как при повторном обращении к форме поставить всем компонентам свойства по умолчания. Допустим  у меня на форме 30 edit-ов по умолчанию у них свойство text="" в процессе рабаты моей программы я присвоил всем, какой то текст затем при нажатии на кнопку или при обращении к форме у всех edit-ов свойство text должно равняться "".
Может у формы есть какое то свойство или процедура которая позволяет перезагрузить форму не останавливая всю программу?
Конечно способ: Edit1.text:="" и т.д.;  я знаю:-)

Заранее всем спасибо!!!!!


 
KSergey ©   (2004-04-16 17:47) [1]

Как пребрать ве компоненты, относящиеся к некоемому паренту, например - примеров на сайте дофига.
Небольшая рекурсия начиная с формы - и все эдиты в кармане ;)

См. свойства ControlCount, Controls, а так же оператор is


 
Тимохов ©   (2004-04-16 17:49) [2]

если нет фреймов, то можно без рекурсии перебрать все через Components и ComponentCount.


 
Тимохов ©   (2004-04-16 17:50) [3]

... все через Components и ComponentCount у формы.


 
Yanis ©   (2004-04-16 17:58) [4]

Видимо он не очень сообразительный :\

procedure TForm1.Button1Click(Sender: TObject);
var i: integer;
begin
 for i := 0 to ComponentCount - 1 do
   if Components[i] is TEdit then
     (Components[i] as TEdit).Text := "Hello world!";
end;


 
WebErr ©   (2004-04-16 18:11) [5]


> Yanis ©   (16.04.04 17:58) [4]

Всё это в TAction "SomeAction" в TActionList и присвоить кнопке "SomeButton":
SomeButton.Action := SomeAction
да и вообще можно и в FormCreate запихнуть! :))))


 
TUser ©   (2004-04-16 18:35) [6]

Вопрос, насколько я понимаю не в том, как обойти компоненты в цикле, а в том, как присвоить им значения по-умолчанию. Что-то типа TComponent.SetAllPropertiesToDefault чтобы не прописывать явно присваивание всех этих св-в. В OP/VCL такого метода не предусмотрено, я по крайней мере не нашел. Можно кинуть на форму JvFormStorage и грузить значения по умолчанию из ini/реестра. Можно еще порыть, кажется недавно на конференции был вопрос о том, как прочитать свойства из dfm.


 
Fred Perry   (2004-04-16 18:52) [7]

Если я правильно понял задачу, то эта форма - не главная форма приложения. Думается можно делать ей не show/hide, а просто создавать (create) динамически по мере необходимости.


 
oleg_v   (2004-04-17 05:49) [8]

Спасибо огромное мастера Вы мне очень помогли!


 
KSergey ©   (2004-04-17 06:49) [9]

> [2] Тимохов ©   (16.04.04 17:49)
> если нет фреймов,

Ну кроме фреймов можно еще много чего придумать. Как минимум - TPanel
А так, в общем случае - любой наследник TWinControl.


 
Kalyansky   (2004-04-17 13:09) [10]

А можно перебрать FindComponent"ом


var i: integer;
begin
for i := 0 to 30 do
  (FindComponent("Edit"+IntToStr(i)) as TEdit).Text = ""



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

Текущий архив: 2004.05.02;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.022 c
6-1078708961
Greenpeace
2004-03-08 04:22
2004.05.02
Вопрос новичка: где поискать информацию?


8-1075968210
SH
2004-02-05 11:03
2004.05.02
Чёрнобелый Jpeg


1-1081997359
an-na2002
2004-04-15 06:49
2004.05.02
лишняя пустая строка


3-1081144026
Xmen
2004-04-05 09:47
2004.05.02
Запрос


1-1081973676
Boyza
2004-04-15 00:14
2004.05.02
Текст через Канвас