Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.04.2013, 18:01   #1
god5
Катков Кирилл:)
Пользователь
 
Аватар для god5
 
Регистрация: 26.06.2012
Сообщений: 48
По умолчанию Значение в Caption

Здравствуйте,допустим имеется 10 кнопок- когда нажимаю на любую кнопку нужно чтоб ее caption записывался в переменную и так на любой из 10 кнопок нажимаю и записывается значение переменной (то есть заменяется значение предыдущего caption )//это нужно потому что пользователь будет в разном порядке нажимать на кнопки.
god5 вне форума Ответить с цитированием
Старый 21.04.2013, 18:08   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

И в чем сложности?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 21.04.2013, 18:25   #3
god5
Катков Кирилл:)
Пользователь
 
Аватар для god5
 
Регистрация: 26.06.2012
Сообщений: 48
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
И в чем сложности?
мне это нужно для того чтоб потом это значение записать как адрес ссылки типо сайт+это значение.
там вроде через sender а я с ним не работал sender as tobject пробовал // незнаю(

Цитата:
Сообщение от god5 Посмотреть сообщение
мне это нужно для того чтоб потом это значение записать как адрес ссылки типо сайт+это значение.
там вроде через sender а я с ним не работал sender as tobject пробовал // незнаю(
я так то могу сделать) но можно же использовать другие средства кроме как if у меня кнопок много)

Последний раз редактировалось Stilet; 21.04.2013 в 18:56.
god5 вне форума Ответить с цитированием
Старый 21.04.2013, 18:32   #4
Алексей_2012
t45t
Участник клуба
 
Аватар для Алексей_2012
 
Регистрация: 20.03.2012
Сообщений: 1,849
По умолчанию

Ну для того чтобы поменять caption кнопки достаточно просто обработать событие onclick, например так(обрабатываем нажатие на кнопку 2):

Код:
procedure TForm1.button2Click(Sender: TObject);
begin
button1.caption:='Кнопка 1'; //присваиваем кнопке имя Кнопка 1 как только button2 нажата
end;
или так

Код:
procedure TForm1.button2Click(Sender: TObject);
begin
button1.caption:=button3.caption; //присваиваем кнопке button1 имя кнопки button3 как только button2 нажата
end;
извиняйте если не так вас понял


кстати, можно еще caption'у кнопки присваивать значения переменных

Строковая переменная:

Код:
procedure TForm1.button2Click(Sender: TObject);
var
s:string;
begin
s:='aaabbbccc';
button1.caption:=s;
end;
Переменная целого типа
Код:
procedure TForm1.button2Click(Sender: TObject);
var
ite:integer;
begin
ite:=123;
button1.caption:=inttostr(ite);
end;


Переменная вещественного типа
Код:
procedure TForm1.button2Click(Sender: TObject);
var
vesh:real;
begin
vesh:=123.123112;
button1.caption:=floattostr(vesh);
end;
from dark to light)

Последний раз редактировалось Алексей_2012; 21.04.2013 в 18:41.
Алексей_2012 вне форума Ответить с цитированием
Старый 21.04.2013, 18:41   #5
god5
Катков Кирилл:)
Пользователь
 
Аватар для god5
 
Регистрация: 26.06.2012
Сообщений: 48
По умолчанию

извиняйте если не так вас понял

не так)
ну вот есть 30 кнопок ;
я нажал на любую из 30
нужно чтоб ее caption (этой кнопки ) - записался в переменную;
потом нажимаю допустим на другую- значение переменной должно изменится;
я могу сделать
if button1.Click=true then s:=button1.caption;
но проблемма я не буду знать какую кнопку из 30 нажмет пользователь 1 2 и т.д
может быть можно как то одной процедурой это сделать чтоб 30 раз не прописывать) вот в чем проблемма)
god5 вне форума Ответить с цитированием
Старый 21.04.2013, 18:45   #6
Алексей_2012
t45t
Участник клуба
 
Аватар для Алексей_2012
 
Регистрация: 20.03.2012
Сообщений: 1,849
По умолчанию

то есть вам надо записать имя кнопки в переменную и все?
from dark to light)
Алексей_2012 вне форума Ответить с цитированием
Старый 21.04.2013, 18:46   #7
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Один обработчик на все буттоны
Какую нажали? TButton(Sender).Name или TButton(Sender).Tag, если заранее позабодиться и засунуть в Tag нужные значения
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 21.04.2013, 18:49   #8
Алексей_2012
t45t
Участник клуба
 
Аватар для Алексей_2012
 
Регистрация: 20.03.2012
Сообщений: 1,849
По умолчанию

можно пройтись по всем компонентам на форме, если это кнопка, то занести ее каптион в массив, ну и потом прописать процедуру поиска

я просто не понимаю для чего ТС это надо*
from dark to light)

Последний раз редактировалось Stilet; 21.04.2013 в 18:57.
Алексей_2012 вне форума Ответить с цитированием
Старый 21.04.2013, 18:56   #9
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

на все кнопки назначайте ОДИН и тот же обработчик (например, button1Click).
в нём напишите так:
Код:
procedure TForm1.button1Click(Sender: TObject);
begin
 if Sender is TButton then 
      s := TButton( Sender).caption;
end;
и всё!

p.s. в пост #7 Аватар предложил тоже самое, что и я...

Последний раз редактировалось Serge_Bliznykov; 21.04.2013 в 19:00.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 21.04.2013, 18:59   #10
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
если заранее позабодиться и засунуть в Tag нужные значения
Еще проще:
Код:
if sender=Button1 then
выясняет нажата ли Button1.
Tag дергать не обязательно.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Взять значение label.caption (ini) mayor245 Общие вопросы Delphi 2 22.04.2012 11:21
n.caption romanzi Общие вопросы Delphi 3 19.08.2011 11:50
Изменить Caption Joystik Общие вопросы Delphi 10 07.05.2010 10:15
caption >>> exe dardreams Win Api 2 11.09.2009 14:55
где правильно объявить переменной значение Caption WhitePoint Общие вопросы Delphi 6 09.06.2007 00:19