Главная страница
    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.47 MB
Время: 0.024 c
14-1081254971
Kolyan
2004-04-06 16:36
2004.05.02
Нужен совет


1-1081915858
alexprozorov
2004-04-14 08:10
2004.05.02
Как узнать какие функции есть в DLL ?


1-1081862283
jiuraf
2004-04-13 17:18
2004.05.02
Удаление картинки из TImage


14-1081421945
Dmitriy_G
2004-04-08 14:59
2004.05.02
Ваши любимые книги (статьи) по железу


14-1081848497
wHammer
2004-04-13 13:28
2004.05.02
Меч распаковать .cab





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский