Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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
1-1081154071
alexvir
2004-04-05 12:34
2004.05.02
Создание MDIChild-формы в фоне (не выводя наверх).


6-1078992345
FireMan_Alexey
2004-03-11 11:05
2004.05.02
WinSock Async Messages


7-1079437536
dik
2004-03-16 14:45
2004.05.02
Последовательный порт


6-1078395276
pai
2004-03-04 13:14
2004.05.02
Indy, IdTCPClient.writebuffer


14-1081525483
Kosha
2004-04-09 19:44
2004.05.02
минимизация булевых функций методом квайна-маккласки





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский