| 
			| 
					
						| maloy_ya | 
								|  | «  : 02-09-2011 02:11 »  |  | 
 
 доброго времени суток форумчане! не могу разобраться с timespan и datetime! есть список с айпишниками и временем последней рабочей сессией так вот нужно узнать какой из айпи не логинился более 32 часов! спосик вида: 90.239.72.248|28.08.2011 0:51:03221.120.125.141|28.08.2011 0:51:03
 84.243.28.165|28.08.2011 0:51:03
 я пыталсо узнать разницу таким образом: ip:=trim(copy (list.string[i], pos ('|', list.string[i]) + 1, 20));dt2:=strtodatetime(ip);
 dt:=now;
 ts:=dt-dt2;
 if ts.Totalhours>32 then.......
 
где varts:ttimespan;
 dt,dt2:tdatetime;
 
и не только но ничего не получилось!! пишет [DCC Error] Unit1.pas(123): E2010 Incompatible types: 'TTimeSpan' and 'Extended' Может кто-нибудь сталкивался с совместной работой timespan и datetime???   |  
						| 
								|  |  
								|  |  Записан | 
 |  |  | 
	| 
			| 
					
						| Алексей++ 
								глобальный и пушистыйГлобальный модератор    Offline 
								Сообщений: 13
								
								
								
								
								
							 | 
								|  | « Ответ #1 : 02-09-2011 03:44 »  |  | 
 
 попробуй
 var
 ts:tdatetime;
 dt,dt2:tdatetime;
 |  
						| 
								|  |  
								|  |  Записан | 
 
 |  |  | 
	| 
			| 
					
						| zubr 
								Гость
 | 
								|  | « Ответ #2 : 02-09-2011 03:58 »  |  | 
 
 DecodeDateTime(dt-dt2, ... |  
						| 
								|  |  
								|  |  Записан | 
 |  |  | 
	| 
			| 
					
						| maloy_ya | 
								|  | « Ответ #3 : 02-09-2011 13:36 »  |  | 
 
 попробуй
 var
 ts:tdatetime;
 dt,dt2:tdatetime;
 
 так пробовал но получаю значение типа 0.16876677654 и как перевести это в часы я понятия не имею!!Добавлено через 4 минуты и 19 секунд: DecodeDateTime(dt-dt2, ...
 не вижу смысла мне ведь нада разницу в часах а не разбить на год,месяц и день... |  
						| 
								|  |  
								| « Последнее редактирование: 02-09-2011 13:40 от maloy_ya » |  Записан | 
 |  |  | 
	| 
			| 
					
						| Dimka 
								ДеятельКоманда клуба    Offline 
								Пол:    | 
								|  | « Ответ #4 : 02-09-2011 14:37 »  |  | 
 
 Не знаю, как тут, а во многих системах целая часть означает дни, дробная - части дня. Соответственно, 0.16876677654 может означать 4.05040263696 часа, или 4 часа, 3.0241582176 минуты, или 04:03:01.45 |  
						| 
								|  |  
								|  |  Записан | 
 
 Программировать - значит понимать (К. Нюгард)Невывернутое лучше, чем вправленное (М. Аврелий)
 Многие готовы скорее умереть, чем подумать (Б. Рассел)
 |  |  | 
	| 
			| 
					
						| maloy_ya | 
								|  | « Ответ #5 : 02-09-2011 14:43 »  |  | 
 
 Не знаю, как тут, а во многих системах целая часть означает дни, дробная - части дня. Соответственно, 0.16876677654 может означать 4.05040263696 часа, или 4 часа, 3.0241582176 минуты, или 04:03:01.45
 прелесть а как ты выщитал все это?? |  
						| 
								|  |  
								|  |  Записан | 
 |  |  | 
	| 
			| 
					
						| zubr 
								Гость
 | 
								|  | « Ответ #6 :  02-09-2011 15:28 »   |  | 
 
 DecodeDateTime(dt-dt2, ...
 не вижу смысла мне ведь нада разницу в часах а не разбить на год,месяц и день...В переменной AHour ты как раз получишь разницу в часах. |  
						| 
								|  |  
								|  |  Записан | 
 |  |  | 
	| 
			| 
					
						| Dimka 
								ДеятельКоманда клуба    Offline 
								Пол:    | 
								|  | « Ответ #7 : 02-09-2011 17:40 »  |  | 
 
 maloy_ya, а ты не знаешь, сколько в одних сутках часов, минут, секунд? |  
						| 
								|  |  
								|  |  Записан | 
 
 Программировать - значит понимать (К. Нюгард)Невывернутое лучше, чем вправленное (М. Аврелий)
 Многие готовы скорее умереть, чем подумать (Б. Рассел)
 |  |  | 
	| 
			| 
					
						| maloy_ya | 
								|  | « Ответ #8 : 02-09-2011 18:07 »  |  | 
 
 maloy_ya, а ты не знаешь, сколько в одних сутках часов, минут, секунд?
 да знаю но я не пойму как преобразовать непонятное мне чмсло в еще 3 непонятных мне числа и получить из этого время!Добавлено через 1 минуту и 57 секунд: DecodeDateTime(dt-dt2, ...
 не вижу смысла мне ведь нада разницу в часах а не разбить на год,месяц и день...В переменной AHour ты как раз получишь разницу в часах.спасибо за вариант! оч интерестно получиться ли! буду дома покумекаю!! |  
						| 
								|  |  
								| « Последнее редактирование: 02-09-2011 18:09 от maloy_ya » |  Записан | 
 |  |  | 
	| 
			| 
					
						| RXL | 
								|  | « Ответ #9 : 02-09-2011 18:54 »  |  | 
 
 maloy_ya, умножать то ты умеешь?   |  
						| 
								|  |  
								|  |  Записан | 
 
 ... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С. |  |  | 
	| 
			| 
					
						| maloy_ya | 
								|  | « Ответ #10 : 02-09-2011 22:31 »  |  | 
 
 maloy_ya, умножать то ты умеешь?   да вроде   Добавлено через 10 минут и 42 секунды: это все хорошо а как правильно обращаться с timespan-ом меня никто не научит не подскажет??Добавлено через 3 минуты и 58 секунд: DecodeDateTime(dt-dt2, ...
 не вижу смысла мне ведь нада разницу в часах а не разбить на год,месяц и день...В переменной AHour ты как раз получишь разницу в часах.кстатии я не могу понять почему моя делфя материться на DecodeDateTime пишет типа undeclareted indetifier!! юзаю 2010 |  
						| 
								|  |  
								| « Последнее редактирование: 02-09-2011 22:45 от maloy_ya » |  Записан | 
 |  |  | 
	| 
			| 
					
						| zubr 
								Гость
 | 
								|  | « Ответ #11 : 03-09-2011 05:55 »  |  | 
 
 Я не знаю в каком юните это в Delphi2010, в старой доброй 7-ке - в юните DateUtilsКстати, там же (DateUtils) есть более удобная функция для твоей задачи:
 function HoursBetween(const ANow, AThen: TDateTime): Int64;
 Открывай HELP и задавай поиск.
 По поводу timespan - не знаю что за тип, судя по всему он в 2010 появился.
 |  
						| 
								|  |  
								|  |  Записан | 
 |  |  | 
	| 
			| 
					
						| maloy_ya | 
								|  | « Ответ #12 : 06-09-2011 00:49 »  |  | 
 
 Я не знаю в каком юните это в Delphi2010, в старой доброй 7-ке - в юните DateUtilsКстати, там же (DateUtils) есть более удобная функция для твоей задачи:
 function HoursBetween(const ANow, AThen: TDateTime): Int64;
 Открывай HELP и задавай поиск.
 По поводу timespan - не знаю что за тип, судя по всему он в 2010 появился.
 
 спасибо огромное за помощь работает отлично!! |  
						| 
								|  |  
								|  |  Записан | 
 |  |  | 
	|  |