|  | 
 
 | 
| 
			 
			#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; |