Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.03.2008, 15:20   #21
dimonbest
Форумчанин
 
Регистрация: 07.02.2008
Сообщений: 150
По умолчанию

Большое спасибо, помогло :
Код:
if not isNAN(D) and not isInfinite(D) and (D > ...)
Почему не бользуюсь связкой try .... except?
Пользуюсь, но сначала стараюсь проблему решить корректно....
dimonbest вне форума Ответить с цитированием
Старый 01.04.2008, 10:55   #22
dimonbest
Форумчанин
 
Регистрация: 07.02.2008
Сообщений: 150
По умолчанию

Еще вопросики появились:
Чем отличается localtime от systemtime?

Как проще считать время на компьютере и преобразовать его в TDatetime?
dimonbest вне форума Ответить с цитированием
Старый 01.04.2008, 11:48   #23
B_N
Новичок
Джуниор
 
Регистрация: 18.01.2008
Сообщений: 1,720
По умолчанию

Цитата:
Сообщение от dimonbest Посмотреть сообщение
Еще вопросики появились:
Чем отличается localtime от systemtime?
Часовым поясом. SystemTime - UTC.
Цитата:
Сообщение от dimonbest Посмотреть сообщение
Как проще считать время на компьютере и преобразовать его в TDatetime?
Пытаюсь понять смысл фразы....
B_N вне форума Ответить с цитированием
Старый 01.04.2008, 12:37   #24
Andrei
Форумчанин
 
Регистрация: 20.06.2007
Сообщений: 270
По умолчанию

Цитата:
Сообщение от dimonbest Посмотреть сообщение
Еще вопросики появились:

Как проще считать время на компьютере и преобразовать его в TDatetime?
Функция Now вам поможет. Обзор функций для работы с датой и временем можете посмотреть здесь.
-Кукушка, кукушка! Накукуй мне сто лет!
-А накукуй тебе столько?

(с) Библия. Вольный перевод с древнееврейского.

Последний раз редактировалось Andrei; 02.04.2008 в 05:27.
Andrei вне форума Ответить с цитированием
Старый 01.04.2008, 13:24   #25
dimonbest
Форумчанин
 
Регистрация: 07.02.2008
Сообщений: 150
По умолчанию

Цитата:
Сообщение от B_N Посмотреть сообщение
Часовым поясом. SystemTime - UTC.
Время на компьютере - это localtime, правильно?
dimonbest вне форума Ответить с цитированием
Старый 01.04.2008, 13:24   #26
dimonbest
Форумчанин
 
Регистрация: 07.02.2008
Сообщений: 150
По умолчанию

Цитата:
Сообщение от Andrei Посмотреть сообщение
Функция Now вам поможет.
То что нужно, спасибо
dimonbest вне форума Ответить с цитированием
Старый 30.08.2008, 17:26   #27
yurban
 
Регистрация: 30.08.2008
Сообщений: 6
По умолчанию

Цитата:
Сообщение от BOBAH13 Посмотреть сообщение
А еще лучше покапаться и почитать статейки разные... и самому реализовать на низком уровне
Весь интернет облазил, внятного ничего не нашёл.

Похожая трабла, не могу декодировать в Delphi такую запись, полученную из ресстра (REG_BINARY)
70 B1 C5 A1 A1 0A C9 01
80 30 21 C1 A1 0A C9 01
как видно меняются те же 4 байта, т.е. время, 30 августа примерно 16:10; 2008 год; при декодировании что приведено ранее в этом топике
выдает дату 1899/12/30, а должна быть 2008/08/30

такая запись
00 89 5C 6D 52 3A C9 01
это тоже 30 августа 2008 год, но время около 7ми часов.
заведую office-express.ru

Последний раз редактировалось yurban; 30.08.2008 в 18:33.
yurban вне форума Ответить с цитированием
Старый 30.08.2008, 20:36   #28
alexBlack
Участник клуба
 
Регистрация: 12.10.2007
Сообщений: 1,204
По умолчанию

30/08/2008 вот так получается:

Код:
type
   TD = record
      A : array [1..8] of byte;
   end;
var D:TFileTime;
    lpSystemTime: TSystemTime;
begin
   TD(D).A[1] := $80;
   TD(D).A[2] := $30;
   TD(D).A[3] := $21;
   TD(D).A[4] := $C1;
   TD(D).A[5] := $A1;
   TD(D).A[6] := $0A;
   TD(D).A[7] := $C9;
   TD(D).A[8] := $01;
   FileTimeToSystemTime(D, lpSystemTime);
   // lpSystemTime 2008/8/30 13:09:27
Только время не совпадает (Возможно TimeZone - у меня +3)
и с третьей записью непонятно - получается октябрь 2008.

Последний раз редактировалось alexBlack; 30.08.2008 в 21:00.
alexBlack вне форума Ответить с цитированием
Старый 30.08.2008, 21:08   #29
Jeni
Форумчанин
 
Регистрация: 31.05.2007
Сообщений: 486
По умолчанию

Цитата:
Сообщение от alexBlack Посмотреть сообщение
TD = record
A : array [1..8] of byte;
end;
Интересно, а как будут физически располагаться байты массива в памяти, строго друг за другом или с выравниванием по границе двух (четырех/восьми) байт? Может нужно писать TD = packed record ?
Jeni вне форума Ответить с цитированием
Старый 30.08.2008, 23:36   #30
alexBlack
Участник клуба
 
Регистрация: 12.10.2007
Сообщений: 1,204
По умолчанию

Цитата:
Сообщение от Jeni Посмотреть сообщение
Интересно, а как будут физически располагаться байты массива в памяти, строго друг за другом или с выравниванием по границе двух (четырех/восьми) байт? Может нужно писать TD = packed record ?
В данном случае нечего упаковывать, т.к. запись состоит из одного поля.

sizeOf(TD) == 8
alexBlack вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Формат даты разняться в Delphi Cantana Помощь студентам 4 28.04.2008 09:16
Изменение упакованного exe Marsik Софт 5 28.01.2008 10:30
формат картинки AndrewASV Общие вопросы Delphi 3 23.09.2007 12:45
SOL-запрос интервала даты и времени в Delphi DENIS_ БД в Delphi 5 23.12.2006 12:55