 |
Кнопка с тремя значениями/Caption'ами - Вопросы и ответы, обсуждения - Ваши вопросы по Pascal/Delphi только в данном разделе |
09.02.2013, 03:47
|
#1
|
|
|
|
Разведчик
|
 Регистрация: 06.10.2011
 Сообщений: 11
 Популярность: -95
 Сказал(а) спасибо: 12
Поблагодарили 25 раз(а) в 13 сообщениях
|
Кнопка с тремя значениями/Caption'ами
Предисловие: Кнопка называется "Да", при нажатии она меняется на "Нет", и обратно, это просто! Так ведь?!:
procedure TForm1.Button1Click
if button1.Caption='Да' then
button1.Caption:='Нет' else
button1.Caption:='Да';
Столкнулся с такой проблемой: Как на одну кнопку, поставить три значения. А точнее 3 названия кнопки и 3 действия. Хотелось бы чтоб менялось с первого наименования на второе, с второго на третий, с третьего обратно на первый. А проще говоря: Да>Нет>Наверное>Да>Нет... и так по кругу. Каждый раз при нажатии на кнопку она переименовывается в следующую как я и показал выше (Принцип клавиатуры тоже подойдет - EN>RU>DE>EN>RU...).
Помогите пожалуйста разобраться, и как мне написать этот код.
|
|
|
09.02.2013, 04:00
|
#2
|
|
|
|
Старший сержант
|
 Регистрация: 25.12.2011
 Сообщений: 191
 Популярность: 5259
 Сказал(а) спасибо: 31
Поблагодарили 235 раз(а) в 135 сообщениях
|
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.
________________
Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
Последний раз редактировалось metraz; 09.02.2013 в 04:04.
|
|
|
09.02.2013, 14:03
|
#3
|
|
|
|
Разведчик
|
 Регистрация: 06.10.2011
 Сообщений: 11
 Популярность: -95
 Сказал(а) спасибо: 12
Поблагодарили 25 раз(а) в 13 сообщениях
|
Re: Кнопка с тремя значениями/Caption'ами
Последний раз редактировалось ɱάуßƩ; 09.02.2013 в 14:47.
Причина: Добавлено сообщение
|
|
|
09.02.2013, 15:42
|
#4
|
|
|
|
Старший сержант
|
 Регистрация: 25.12.2011
 Сообщений: 191
 Популярность: 5259
 Сказал(а) спасибо: 31
Поблагодарили 235 раз(а) в 135 сообщениях
|
Re: Кнопка с тремя значениями/Caption'ами
________________
Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
|
|
|
09.02.2013, 15:51
|
#5
|
|
|
|
Старший сержант
|
 Регистрация: 29.07.2011
 Сообщений: 197
 Популярность: 8989
 Сказал(а) спасибо: 45
Поблагодарили 175 раз(а) в 139 сообщениях
|
Re: Кнопка с тремя значениями/Caption'ами
|
|
|
10.02.2013, 17:36
|
#6
|
|
|
|
Разведчик
|
 Регистрация: 06.10.2011
 Сообщений: 11
 Популярность: -95
 Сказал(а) спасибо: 12
Поблагодарили 25 раз(а) в 13 сообщениях
|
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 в 19:06.
|
|
|
10.02.2013, 19:15
|
#7
|
|
|
|
Лейтенант-командор
|
 Регистрация: 12.08.2010
 Сообщений: 727
 Популярность: 30569
 Золото Zhyk.Ru: 1
 Сказал(а) спасибо: 57
Поблагодарили 645 раз(а) в 386 сообщениях
|
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);
|
|
 |
|
 |
|
Подключать модуль ради одного вычисления это весело
________________
Принимаются пожертвования любых размеров в фонд поддержки начинающих программистов Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
Кошельки: 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 в 21:06.
Причина: Добавлено сообщение
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Заявление об ответственности / Список мошенников
Часовой пояс GMT +4, время: 23:30.
|
 |