Регистрация Главная Сообщество
Сообщения за день Справка Регистрация

Кнопка с тремя значениями/Caption'ами

-

Вопросы и ответы, обсуждения

- Ваши вопросы по Pascal/Delphi только в данном разделе

Ответ
 
Опции темы
Старый 09.02.2013, 02:47   #1
Заблокирован
 Разведчик
Аватар для ɱάуßƩ
 
ɱάуßƩ неизвестен в этих краях
Регистрация: 06.10.2011
Сообщений: 11
Популярность: -95
Сказал(а) спасибо: 12
Поблагодарили 25 раз(а) в 13 сообщениях
 
Exclamation Кнопка с тремя значениями/Caption'ами

Предисловие: Кнопка называется "Да", при нажатии она меняется на "Нет", и обратно, это просто! Так ведь?!:

procedure TForm1.Button1Click
if button1.Caption='Да' then
button1.Caption:='Нет' else
button1.Caption:='Да';

Столкнулся с такой проблемой: Как на одну кнопку, поставить три значения. А точнее 3 названия кнопки и 3 действия. Хотелось бы чтоб менялось с первого наименования на второе, с второго на третий, с третьего обратно на первый. А проще говоря: Да>Нет>Наверное>Да>Нет... и так по кругу. Каждый раз при нажатии на кнопку она переименовывается в следующую как я и показал выше (Принцип клавиатуры тоже подойдет - EN>RU>DE>EN>RU...).
Помогите пожалуйста разобраться, и как мне написать этот код.
  Ответить с цитированием
Старый 09.02.2013, 03:00   #2
 Старший сержант
Аватар для metraz
 
metraz в состоянии испепелить взглядомmetraz в состоянии испепелить взглядомmetraz в состоянии испепелить взглядомmetraz в состоянии испепелить взглядомmetraz в состоянии испепелить взглядомmetraz в состоянии испепелить взглядомmetraz в состоянии испепелить взглядомmetraz в состоянии испепелить взглядомmetraz в состоянии испепелить взглядомmetraz в состоянии испепелить взглядомmetraz в состоянии испепелить взглядом
Регистрация: 25.12.2011
Сообщений: 191
Популярность: 5259
Сказал(а) спасибо: 31
Поблагодарили 235 раз(а) в 135 сообщениях
Отправить сообщение для metraz с помощью Skype™
 
По умолчанию Re: Кнопка с тремя значениями/Caption'ами

procedure TForm1.Button1Click
case a of
1: button1.Caption='Да';
2: button1.Caption='Нет'
3: button1.Caption='Наверное'
end;
if a=3 then a:=1 else inc(a);
end;


a некоторое число типа byte, ему надо зарание присвоить значение 1.

Последний раз редактировалось metraz; 09.02.2013 в 03:04.
  Ответить с цитированием
Старый 09.02.2013, 13:03   #3
Заблокирован
 Разведчик
Аватар для ɱάуßƩ
 
ɱάуßƩ неизвестен в этих краях
Регистрация: 06.10.2011
Сообщений: 11
Популярность: -95
Сказал(а) спасибо: 12
Поблагодарили 25 раз(а) в 13 сообщениях
 
Exclamation Re: Кнопка с тремя значениями/Caption'ами

Цитата:
Сообщение от metrazПосмотреть сообщение
procedure TForm1.Button1Click
case a of
1: button1.Caption='Да';
2: button1.Caption='Нет'
3: button1.Caption='Наверное'
end;
if a=3 then a:=1 else inc(a);
end;


a некоторое число типа byte, ему надо зарание присвоить значение 1.

Проблема не решена . Может я в чем-то ошибся, но всё равно не получилось.

Добавлено через 43 минуты
Получилось, влил больше фантазии) .
Цитата:
procedure TForm1.FormCreate(Sender: TObject);
begin
a:=1;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
a:=a+1;
if a=4 then
a:=1;
if a=1 then
button1.Caption:='EN';
if a=2 then
button1.Caption:='RU';
if a=3 then
button1.Caption:='HE';
end;


Последний раз редактировалось ɱάуßƩ; 09.02.2013 в 13:47. Причина: Добавлено сообщение
  Ответить с цитированием
Старый 09.02.2013, 14:42   #4
 Старший сержант
Аватар для metraz
 
metraz в состоянии испепелить взглядомmetraz в состоянии испепелить взглядомmetraz в состоянии испепелить взглядомmetraz в состоянии испепелить взглядомmetraz в состоянии испепелить взглядомmetraz в состоянии испепелить взглядомmetraz в состоянии испепелить взглядомmetraz в состоянии испепелить взглядомmetraz в состоянии испепелить взглядомmetraz в состоянии испепелить взглядомmetraz в состоянии испепелить взглядом
Регистрация: 25.12.2011
Сообщений: 191
Популярность: 5259
Сказал(а) спасибо: 31
Поблагодарили 235 раз(а) в 135 сообщениях
Отправить сообщение для metraz с помощью Skype™
 
По умолчанию Re: Кнопка с тремя значениями/Caption'ами

Цитата:
Сообщение от ɱάуßƩПосмотреть сообщение
Проблема не решена . Может я в чем-то ошибся, но всё равно не получилось.

Добавлено через 43 минуты
Получилось, влил больше фантазии) .

Мой код абсолютно рабочий, тебе надо было только в oncreate формы прописать a:=1;
  Ответить с цитированием
Старый 09.02.2013, 14:51   #5
 Старший сержант
Аватар для Sinyss
 
Sinyss троюродный дядя Чака НоррисаSinyss троюродный дядя Чака НоррисаSinyss троюродный дядя Чака НоррисаSinyss троюродный дядя Чака НоррисаSinyss троюродный дядя Чака НоррисаSinyss троюродный дядя Чака НоррисаSinyss троюродный дядя Чака НоррисаSinyss троюродный дядя Чака НоррисаSinyss троюродный дядя Чака НоррисаSinyss троюродный дядя Чака НоррисаSinyss троюродный дядя Чака Норриса
Регистрация: 29.07.2011
Сообщений: 197
Популярность: 8989
Сказал(а) спасибо: 45
Поблагодарили 175 раз(а) в 139 сообщениях
Отправить сообщение для Sinyss с помощью Skype™
 
По умолчанию Re: Кнопка с тремя значениями/Caption'ами

Цитата:
Сообщение от ɱάуßƩПосмотреть сообщение
влил больше фантазии) .

Вы хотели сказать *****кода...
  Ответить с цитированием
Старый 10.02.2013, 16:36   #6
Заблокирован
 Разведчик
Аватар для ɱάуßƩ
 
ɱάуßƩ неизвестен в этих краях
Регистрация: 06.10.2011
Сообщений: 11
Популярность: -95
Сказал(а) спасибо: 12
Поблагодарили 25 раз(а) в 13 сообщениях
 
Exclamation Re: Кнопка с тремя значениями/Caption'ами

Столкнулся с еще одной проблемой. Я делаю чисто для себя генератор чисел. Хотелось что бы кол-во цифр рандомайза соответствовало итем индексу (combobox1.itemindex:=X. То есть если X равен 5, то рандом будет 99999, Х=9 тогда рандом- 999999999 и т.д. Как такое можно замутить.
__________________________________________________ __________________________________________________ ____________________________

И еще задачка: Как настроить диапазон рандома чисел, а точнее - рандом от 5 до 10 (5,6,7,8,9,10), от 100 до 999 и т.д. Как?

Цитата:
Сообщение от ɱάуßƩПосмотреть сообщение
И еще задачка: Как настроить диапазон рандома чисел, а точнее - рандом от 5 до 10 (5,6,7,8,9,10), от 100 до 999 и т.д. Как?

Ответ на диапазон нашел: В Uses надо прописать Math, и просто вместо
x:=random(5)+5; вбить
x:=RandomRange(100,999);

Последний раз редактировалось ɱάуßƩ; 10.02.2013 в 18:06.
  Ответить с цитированием
Старый 10.02.2013, 18:15   #7
Бандеровец
 Лейтенант-командор
Аватар для VeTaL_UA
 
VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(
Регистрация: 12.08.2010
Сообщений: 727
Популярность: 30569
Золото Zhyk.Ru: 1
Сказал(а) спасибо: 57
Поблагодарили 645 раз(а) в 386 сообщениях
Отправить сообщение для VeTaL_UA с помощью ICQ Отправить сообщение для VeTaL_UA с помощью Skype™
 
По умолчанию Re: Кнопка с тремя значениями/Caption'ами

Когда-то давно написал функцию рандома:
Код:
function Rand(source:string;minlength,maxlength:integer):string;
var
len:integer;
begin
Randomize;
len:=minlength+Random(maxlength-minlength);
result:='';
 repeat
 result:=result+source[random(Length(source))+1];
 until (Length(result)=len);
end;
В ней source - символы, которые могут присутствовать в рандомной строке; minlength - минимальная длинна рандомной строки; maxlength - максимальная длинна рандомной строки.
По коду ясно, что если ввести minlength и maxlength, то длинна будет равна введённому в оба параметра числу.
Для диапазона достаточно добавить в функцию два параметра(min и max) и одно условие по этим параметрам, какое именно, думаю, ты и сам догадаешься

Добавлено через 1 час 51 минуту
Цитата:
Сообщение от ɱάуßƩПосмотреть сообщение
Ответ на диапазон нашел: В Uses надо прописать Math, и просто вместо
x:=random(5)+5; вбить
x:=RandomRange(100,999);

Подключать модуль ради одного вычисления это весело
________________
Принимаются пожертвования любых размеров в фонд поддержки начинающих программистов
Кошельки: WMZ - Z276844220882; WMR - R231028582939; WMU - U394136909210; ЯД - 410011494605270.

Perfect World: PWDatabaseScanner, Client, PWNickRenamer, PWClientRenamer, База логинов PW, Гайд по варУ, Зарабатываем репутацию.
Delphi: Авторизация на сайте с помощью Indy, Загрузка изображений с интернета в TImage с помощью Indy, Автоматическая смена стандартной версии Indy в Delphi на Indy 10.0.76 / 10.1.5, Основы парсинга с помощью Indy, Делаем Updater до программы с помощью Indy.
Other: ShowIP, FFUUU смайлы в QIP, Как играть в Minecraft (видеокурс), Как мы захватили человечество :D, Энергия в Лицемер/TopFace, PasGen.



Последний раз редактировалось VeTaL_UA; 10.02.2013 в 20:06. Причина: Добавлено сообщение
  Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Обсуждение] В чем разница между тремя видами с++ 675865969 Вопросы и ответы, обсуждения 2 05.04.2012 21:41
[Обменяю] Акк с тремя топами!!! alolanec11 World of Tanks 0 21.03.2012 06:43
Треня в Американском PB C4itak Общение и обсуждение, архив Point Blank 0 25.12.2011 18:03
[Продам] Продам 2-ежа с тремя годами,3 ромбов Kendra Point Blank 1 17.11.2010 11:32

Заявление об ответственности / Список мошенников

Часовой пояс GMT +4, время: 07:15.

Пишите нам: [email protected]
Copyright © 2024 vBulletin Solutions, Inc.
Translate: zCarot. Webdesign by DevArt (Fox)
G-gaMe! Team production | Since 2008
Hosted by GShost.net