|
#1
|
|||
|
|||
Работа с временем
Всем привет нужна помощь DELPHI! Сделал парсинг времени получил время такого вида 00:00:00 вывел его в maskedit поставил фильтр вида 00:00. Нужно сделать так Пользователь выбрал в какое время ему удобно открывать программу(программа должна срабатывать каждые 24 часа) дальше с сайта выводим время и если это время соответствует тому которое он выбрал для себя скажем допуск +3 минуты. Вопрос возник в том как увеличить значение минут .
Последний раз редактировалось Вовка, 17.01.2017 в 18:41. |
#2
|
|||
|
|||
Код:
const OneMinute = 1/24/60; var MyTime : TDateTime; begin MyTime := DateTimePicker1.Time; // инициализация, типа считали время с контрола MyTime := MyTime + OneMinute*3; // +3 минуты end; PS. Есть еще спец. функции в модуле DateUtils, типа IncMinute. Но они делают примерно ровно тоже самое. |
#3
|
|||
|
|||
Цитата:
спасибо использовал спец функции Код:
procedure TForm1.Button3Click(Sender: TObject); var t:tdatetime; Hour, Min, Sec, MSec: Word ; begin t:=Now; DecodeTime(t, Hour, Min, Sec, MSec); t:= incMinute(t,3) ; Caption := 'Сегодня '+IntToStr(Min); end; Последний раз редактировалось Admin, 17.01.2017 в 20:53. |
#4
|
||||
|
||||
А ведь можно ещё прям из maskedit время брать, текстом, а дальше чистое LMD:
Код:
function changeMinStr(s: string; ds: integer): string; var i, b, c: integer; hr, mn: string; begin i:= (StrToInt(s[1]+s[2])*60)+StrToInt(s[4]+s[5])+ds; b:= i div 60; if b > 23 then b:= b mod 24; c:= i mod 60; if b < 10 then hr:= '0' + IntToStr(b) else hr:= IntToStr(b); if c < 10 then mn:= '0' + IntToStr(c) else mn:= IntToStr(c); Result:= hr + ':' + mn; end; Я не понял Вашего вопроса, но всё же Вам на него отвечу! |