![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 31.03.2007
Сообщений: 25
|
![]()
Это мой первый компонент. При нажатии на кнопку, поле счетчика увеличивается на один, и потом выводится к-во нажатий. По нажатии кнопки первый раз к ее св-ву Caption должно прибавляться значение счетчика. Для этого значение Caption я присвоил переменной a и использовал ее. Привожу исполнительный раздел модуля компонента:
implementation uses ComObj; var a:string; procedure Register; begin RegisterComponents('MyComponents', [TCountBtn]); end; constructor TCountBtn.Create(aowner: TComponent); begin inherited Create(aowner); a:=caption; end; Procedure TCountBtn.Click; begin inherited click; FCount:=FCount+1; if showtype = hidecount then caption:=caption else caption:=(a+inttostr(Fcount)); end; procedure TCountBtn.showcount; begin showmessage('Вы сделали '+inttostr(FCount)+' клик(а/ов) по кнопке '+a) end; end. в результате на кнопке название исчезает полностью, отображается просто значение счетчика. И в сообщении, вместо названии кнопки (+а) ничего нету... Почему изменяется значение переменной и где присваивать ей значение, если проблема в этом? Последний раз редактировалось WhitePoint; 07.06.2007 в 21:18. |
![]() |
![]() |
![]() |
#2 | |
Форумчанин
Регистрация: 31.05.2007
Сообщений: 486
|
![]() Цитата:
Вдобавок, в методе Create заголовка кнопку еще нет (Caption := <пусто>) |
|
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 31.03.2007
Сообщений: 25
|
![]()
в том то и дело, я хочу, чтобы это применение работало для любого значения caption для любого экземпляра компонента. подскажите, можно ли это сделать в модуле самого компонента, а не при написании модуля программы?
ну а если нет, то допустим, что больше, чем одна кнопка на форме не появится. почему же не работает этот вариант? Последний раз редактировалось WhitePoint; 08.06.2007 в 01:24. |
![]() |
![]() |
![]() |
#4 | |
Старожил
Регистрация: 22.05.2007
Сообщений: 9,087
|
![]() Цитата:
и caption:=(a+inttostr(Fcount)); я бы описал какое-нить свое свойство BtnCaption, а caption спрятал куда-нить подальше и уже внутри класса менял как надо caption, унаследованное от TButton. Никогда не задумывался о том, если на форме будет несколько твоих кнопок и в процессе работы ты решишь их переименовать? |
|
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 31.03.2007
Сообщений: 25
|
![]()
if showtype = showcount then
caption:=(a+inttostr(Fcount)); так лучше? Но почему-то a=<пусто>. я не знаю где она приобретает такое значение. |
![]() |
![]() |
![]() |
#6 |
Старожил
Регистрация: 22.05.2007
Сообщений: 9,087
|
![]()
в общем пишешь:
Код:
|
![]() |
![]() |
![]() |
#7 |
Пользователь
Регистрация: 31.03.2007
Сообщений: 25
|
![]()
Гранд Спасибо
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
как получить значение переменной | smoke888 | PHP | 3 | 20.06.2008 02:11 |
Как лучше объявить функцию? | Иллидан | Общие вопросы C/C++ | 1 | 20.05.2008 14:31 |
Как получить значение системной переменной в С++ | PersonaGrata | Общие вопросы C/C++ | 2 | 29.02.2008 22:14 |
присвоить переменной целого типа значение поля key полученное в результате выполнения SQL запроса | Worms | БД в Delphi | 5 | 10.01.2008 21:07 |
Работа с файлами (создание, удаление, открытие, связываение с переменной, очищение памяти переменной) | Arkuz | Общие вопросы Delphi | 12 | 25.09.2007 20:47 |