Форум: "Основная";
Текущий архив: 2004.05.02;
Скачать: [xml.tar.bz2];
ВнизФорма и компоненты Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.034 c