![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
![]() Написал будильник на делфи.
Опишу саму прогу: на форму выведено системное время, 3 комбобокса (часы, минуты и секунды). Еще есть edit, в него попадают цифры из комбобоксов (часы:минуты:секунды). И уже с edit`a сравниваем время с системным, если равно то будильник срабатывает... Всё работает как мне надо, кроме одного! Хотелось бы добавить кнопки быстрого набора, то-есть не копаться в комбобоксах, что бы выставить 5 минут, а сразу нажать на кнопку, которая указала бы в комбобоксе эти самые 5 минут. Пробовал вот так: Код:
var dt: TDateTime; Hours, Minutes, Seconds, Milliseconds: Word; begin dt := GetTime; DecodeTime(dt, Hours, Minutes, Seconds, Milliseconds); cbb1.Text:=IntToStr(Hours); // выводит в первый комбобокс часы cbb2.Text:=IntToStr(Minutes+5); // выводит минуты и прибавляет 5 минут end; ![]() Каким образом можно сделать подобные кнопки быстрого набора ? Не обязательно что бы это происходило через комбобоксы! Посоветуйте что-нибудь. Спасибо. похвастаться ![]() |
#2
|
||||
|
||||
![]() Во-первых, SpinEdit. Во-вторых, if...then. То-есть, если сумма текущих минут и того, что добавляем, больше 59, то вычесть 60. Аналогично с часами (только уже по модулю 24).
Оставайтесь хорошими людьми... VK id2634397, ds [at] phoenix [dot] dj |
Этот пользователь сказал Спасибо PhoeniX за это полезное сообщение: | ||
Gareth (25.03.2013)
|
#3
|
|||
|
|||
![]() Цитата:
Код:
if cbb2.ItemIndex >60 then cbb2.ItemIndex:=(-60); Последний раз редактировалось Gareth, 25.03.2013 в 01:12. |
Этот пользователь сказал Спасибо PhoeniX за это полезное сообщение: | ||
Gareth (25.03.2013)
|
#5
|
|||
|
|||
![]() Цитата:
А еще есть модуль DateUtils, в котором есть куча полезный функций работы с датой и временем. А еще есть такой компонент - TDateTimePicker, который позволяет вводить время... |
Этот пользователь сказал Спасибо lmikle за это полезное сообщение: | ||
Gareth (25.03.2013)
|
#6
|
||||
|
||||
![]() Оффтоп:
Цитата:
По теме. УК, кидай прям по совету Феникса, на "похвастаться" ![]() Код:
procedure TForm1.SpinEdit1Change(Sender: TObject); begin with (Sender as TSpinEdit) do begin if Value = MinValue then Value:= MaxValue - 1; if Value = MaxValue then Value:= MinValue + 1; end;{with} end; Я не понял Вашего вопроса, но всё же Вам на него отвечу! |
Этот пользователь сказал Спасибо Alegun за это полезное сообщение: | ||
Gareth (25.03.2013)
|