Отправляет email-рассылки с помощью сервиса Sendsay

Программирование. Форум !!!

Формы

Доброе утро, день, вечер, ночь (ненужное затереть) !!!
ЗЕ МЫШЬ 2.04.7 нашептал что сейчас: 9:28:49, 30 марта 2004 г.,
и я хочу тебе написать следующее:

Как узнать какие формы созданы в приложении?
Как узнать создана ли определённая форма или нет?
И ещё, есть компонент который есть на всех формах, как лучше к нему обратиться:
form1.component1.a:=1;
form2.component1.a:=1;
...
form10.component1.a:=1;

как оптимизировать?

Ответить   Rio Tue, 30 Mar 2004 09:30:43 +0400 (#115055)

 

Ответы:

Здравствуйте, Rio.

Вы писали 30 марта 2004 г., 8:30:43:

Условием
If Assigned(TForm1) then
ShowMessage('Форма TForm1 создана')
else
ShowMessage('Форма TForm1 НЕ создана');

Если компонент создан, тогда возвращает TRUE.

ИМХО, никак. Только через родителя, т.е. форму.

--
С уважением,
Feniks mailto: feni***@b*****.ua
Номер выпуска : 2738
Возраст листа : 190 (дней)
Количество подписчиков : 382
Адрес в архиве : http://subscribe.ru/archive/comp.soft.prog.prog/msg/115119
Получить правила : mailto:comp.soft.prog.prog-rules@subscribe.ru
Формат "дайджест" : mailto:comp.soft.prog.prog-digest@subscribe.ru
Формат "каждое письмо" : mailto:comp.soft.prog.prog-normal@subscribe.ru
Формат "читать с веба" : mailto:comp.soft.prog.prog-webonly@subscribe.ru

-*Информационный канал Subscribe.Ru
Написать в лист: mailto:comp.soft.prog.prog-list@subscribe.ru
Отписаться: mailto:comp.soft.prog.prog--unsub@subscribe.ru

http://subscribe.ru/ mailto:ask@subscribe.ru

Ответить   Feniks Tue, 30 Mar 2004 17:53:50 +0300 (#115119)

 

Hello Rio,

Tuesday, March 30, 2004, 11:30:43 AM, you wrote:

for i := 0 to Screen.FormCount - 1
do // чего-нибудь

if Form1<>nil // значит, создана

Если я тебя правильно поняла, то примерно так:
var i, j: integer;
CQuery: TQuery; // я искала все компоненты TQuery.
// Ты заводи переменную необходимого типа
begin
for i := 0 to Screen.FormCount - 1 do
begin
for j:=Screen.Forms[i].ComponentCount - 1 downto 0 do
begin
if Screen.Forms[i].Components[j] is TQuery // тип компонента, который ищешь
then begin
CQuery:=TQuery(Screen.Forms[i].Components[j]);
if CQuery.name='имя необходимого компонента'
then begin
// делаем что-то с этим компонентом
end;
end;
end;
end;

Ответить   Wed, 31 Mar 2004 10:13:42 +0600 (#115472)

 

обратиться:

Что то типа
procedure TForm1.Button1Click(Sender: TObject);
var
i: integer;
begin
for i := 1 to 10 do
(FindComponent('Edit' + IntToStr(i)) as TEdit).Visible := false;
end;
Sad Spirit
Номер выпуска : 2741
Возраст листа : 191 (дней)
Количество подписчиков : 382
Адрес в архиве : http://subscribe.ru/archive/comp.soft.prog.prog/msg/115568
Получить правила : mailto:comp.soft.prog.prog-rules@subscribe.ru
Формат "дайджест" : mailto:comp.soft.prog.prog-digest@subscribe.ru
Формат "каждое письмо" : mailto:comp.soft.prog.prog-normal@subscribe.ru
Формат "читать с веба" : mailto:comp.soft.prog.prog-webonly@subscribe.ru

-*Информационный канал Subscribe.Ru
Написать в лист: mailto:comp.soft.prog.prog-list@subscribe.ru
Отписаться: mailto:comp.soft.prog.prog--unsub@subscribe.ru

http://subscribe.ru/ mailto:ask@subscribe.ru

Ответить   "Sad Spirit" Wed, 31 Mar 2004 12:38:02 +0600 (#115568)