Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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
1-45328
DN
2002-10-02 17:59
2002.10.14
Заменить текст


7-45602
AlexNO
2002-08-06 13:24
2002.10.14
Сканирование


3-45181
Солер
2002-09-22 08:32
2002.10.14
Фильтр в базе данных


14-45590
MJH
2002-09-20 19:38
2002.10.14
Форсаж (e-Racer)


14-45548
Semion
2002-09-19 08:26
2002.10.14
DirectX





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