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