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

Вниз

Еще один банальный вопрос...   Найти похожие ветки 

 
Ahmad ©   (2002-09-27 23:25) [0]

Допустим у меня в проге 100 TEdit"ов, для каждого из них мне нужно написать одно и тоже действие, например:
Edit1.Font.Size:=10;
но возникает проблема у разных Edit"ов разные имена, значит придется писать под каждый едит процедуру или можно попроще?


 
EleKtroNik ©   (2002-09-27 23:31) [1]

Попробуй воспользоватся Action"ом


 
EleKtroNik ©   (2002-09-27 23:39) [2]

PS: TActionList.
Там на мутишь, потом свойству Action кнопки
Имя листа бацаешь.
Удачи.


 
KaPaT ©   (2002-09-27 23:52) [3]

сегодня только писал....

begin
For i:=Form.ComponentCount-1 downto do
If Form.Component[i] is TEdit then
TEdit(Form.Component[i]).Font.Size := 10


 
KaPaT ©   (2002-09-27 23:54) [4]

ээ....downto 0 надо =)


 
EleKtroNik ©   (2002-09-27 23:58) [5]

Ahmad
Сори поспешил.
Но может тебе и это пригодится.


 
Kotka ©   (2002-09-28 00:34) [6]

А можно и так:
for i:=1 to 100 do
tedit(findcomponent("Edit"+inttostr(i))).font...


 
Aleks1   (2002-09-28 03:47) [7]

А не проще ли продумать прогу так, чтобы можно было у всех "100 TEdit"ов" поставить ParentFont = True и в дальнейшем, по необходимости писать MyForm.Font.Size:=10?


 
Ahmad ©   (2002-09-28 20:05) [8]


> Попробуй воспользоватся Action"ом

Пробовал, но тут проблема в названиях компанентов, так что не поможет, но спасибо что напомнил про ActionList давненько я им не пользовался.

> begin
> For i:=Form.ComponentCount-1 downto do
> If Form.Component[i] is TEdit then
> TEdit(Form.Component[i]).Font.Size := 10

Он у меня выдает ошибку [Error] : Undeclared identifier: "Component" там где нах-ся Component[i]
Я вместо Component вводил Edit, но он выдает тоже самое.


> for i:=1 to 100 do
> tedit(findcomponent("Edit"+inttostr(i))).font...

В этом случае он изменяет щрифт всех 100 компанентов на форме.

> А не проще ли продумать прогу так, чтобы можно было у всех
> "100 TEdit"ов" поставить ParentFont = True и в дальнейшем,
> по необходимости писать MyForm.Font.Size:=10?

Вопрос не щрифте, щрифт это просто пример(наверное, неудачный), мне нужно просто чтобы имя менялось на имя действующего компонента и чтобы не надо было для этого писать до 100 эвентов.


 
фффф   (2002-09-28 20:09) [9]

писать хотяб научись


 
Kotka ©   (2002-09-29 00:46) [10]

>Ahmad © (28.09.02 20:05)
> В этом случае он изменяет щрифт всех 100 компанентов на форме.
Так а что тебе надо было???
Допустим у меня в проге 100 TEdit"ов, для каждого из них мне нужно написать одно и тоже действие, например:
Edit1.Font.Size:=10;
но возникает проблема у разных Edit"ов разные имена, значит придется писать под каждый едит процедуру или можно попроще?

Либо я совсем тупой, либо тебе надо было именно это!
Но если изменить число 100 на 50, то не все 100 компонентов будут изменяться, а только 50!!! :-)))



 
Begin ©   (2002-09-29 02:52) [11]

Ahmad, милай !!!! Так ты эта... попробуй, значить, вынуть одну строчку из цикла та... Оно, глядишь, и заработаить ... Вот так вот, к примеру, сделай...

TEdit(FindComponent("Edit"+IntToStr(<а тута напиши намбер, какой тебе нужон... тада все сто не откликнуться>))).font...

(с) А.Н. Б.Н. Стругацкие


:)))


 
Kotka ©   (2002-09-29 23:47) [12]

МММММММММмм! Так вот че те надо было!!!!!!!!!!!!!!
Да! В следующий раз пиши как есть, а не какую-то там чушь неси!
В этом случае тебе сюды
http://www.delphi.mastak.ru/cgi-bin/forum.pl?look=1&id=1033232538&n=0


 
infinity ©   (2002-09-30 00:43) [13]

Просто ЛОЛ


 
Ahmad ©   (2002-09-30 22:59) [14]


> Либо я совсем тупой, либо тебе надо было именно это!

Нет, ты навуерное не такой тупой, я просто не правельно задал вопрос... :)
> Ahmad, милай !!!! Так ты эта... попробуй, значить, вынуть
> одну строчку из цикла та... Оно, глядишь, и заработаить
> ... Вот так вот, к примеру, сделай...
>
> TEdit(FindComponent("Edit"+IntToStr(<а тута напиши намбер,
> какой тебе нужон... тада все сто не откликнуться>))).font...

А заешь как можно полегче сделать?!
Вот как:
TEdit(sender).Font.Size:=10;
прописываешь эту процедуру на изменение одного едита и обращаешь все остальные едиты к этой процедуре, в результате, если я начинаю изменять любой едит, то у меня меняется размер щрифта именно в этом едите а не во всех. А самое главное до этого я дополз "методом русского научного тыка" . :-)

> В этом случае тебе сюды

Нее... массивы слишком запутанное дело лучше как я предлагаю ваше. Но спасибо, хотя бы вспомнил про массивы. :-)


 
Begin ©   (2002-10-01 02:01) [15]


> А заешь как можно полегче сделать?!
> Вот как:
> TEdit(sender).Font.Size:=10;


Таки никто и не спорит... Только так тебе каждому Edit"у придется евент сделать, или обязательно назначать их до момента первого применения... а так можно по мере необходимости свойства изменять.... Но эт кому как больше нравиться...


 
Dm9   (2002-10-04 13:24) [16]

>For i:=Form.ComponentCount-1 downto do
>If Form.Component[i] is TEdit then
> TEdit(Form.Component[i]).Font.Size := 10

Видимо, всё-таки это выглядит так:
For i:=Form.ControlCount-1 downto 0 do
If Form.Controls[i] is TEdit
then TEdit(Form.Controls[i]).Font.Size := 10



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

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

Наверх




Память: 0.51 MB
Время: 0.021 c
1-45299
USTAS
2002-10-01 10:47
2002.10.14
Подсобите теорией Мастера


1-45292
Andrei_Yarovoi
2002-10-04 16:29
2002.10.14
Как при выполнение длинного цикла отлавлевать другие сабытия


1-45369
Deke
2002-10-05 17:14
2002.10.14
Работа с DLL в Delphi. Помогите С-программеру.


1-45432
vads
2002-10-03 15:22
2002.10.14
Использую TInplaceEdit для создания своего Grid а


14-45561
RV
2002-09-20 14:19
2002.10.14
:)