![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| d3lp |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 27.8.2009 Репутация: нет Всего: нет |
Здрасте. Имеется 8 байтовая последовательность символов, после ее перевода в hex получается число с обратным порядком байт (little-endian): 40E3861462833945, далее перевожу это в Int64: 4675728260250941765
Следующий код переводит это число в дату:
Все самое главное проделывает одна строчка sDate64: TDateTime absolute Date64; Вопрос: что это за формат времени такой 40E3861462833945 и как еще из него можно получить дату 20.06.2009 15:17:19 без использования директивы absolute (для повторения этого на других языках) ?? |
|||
|
||||
| CodeMonkey |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1839 Регистрация: 24.6.2008 Где: Россия, Тверь Репутация: 38 Всего: 89 |
-------------------- Опытный программист на C++ легко решает любые не существующие в Паскале проблемы. |
|||
|
||||
| Romikgy |
|
|||
![]() Любитель-программер ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7326 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: 26 Всего: 146 |
-------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. |
|||
|
||||
| CodeMonkey |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1839 Регистрация: 24.6.2008 Где: Россия, Тверь Репутация: 38 Всего: 89 |
P.S. Т.к. используется DateTimeToStr, то это - TDateTime или формат даты OLE.
-------------------- Опытный программист на C++ легко решает любые не существующие в Паскале проблемы. |
|||
|
||||
| kami |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1806 Регистрация: 25.8.2007 Где: Санкт-Петербург Репутация: 23 Всего: 72 |
Ничего главного она не проделывает. Просто указывает, что Date64 и sDate64 по сути дела одна переменная (т.е. занимают одну и ту же область памяти). Int64=8 байт, TDateTime=Double=8 байт, т.е. переменные идентичны по размеру друг другу. И в итоге получается, что Int64-значение при доступе к нему через sDate64 "расщепляется" на мантиссу и экспоненту. (как - см. в хелпе). Формат времени - стандартный для Delphi начиная с версии 2 (тоже - см. справку по TDateTime). Переделать код можно так, правда при этом теряется расположение переменных по одному и тому же адресу, но мне бы использовать директиву absolute просто не пришло бы в голову (никогда ей не пользовался, не хочу этим сказать что она "плохая" или "хорошая" - просто не было необходимости).
|
|||
|
||||
| d3lp |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 27.8.2009 Репутация: нет Всего: нет |
Всем Спасибо, разъяснили)
Это сообщение отредактировал(а) d3lp - 27.8.2009, 16:04 |
|||
|
||||
| Romikgy |
|
|||
![]() Любитель-программер ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7326 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: 26 Всего: 146 |
при абсолюте не производится копирования, использует одна переменая , и передаются указатели на нее -------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. |
|||
|
||||
| kami |
|
||||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1806 Регистрация: 25.8.2007 Где: Санкт-Петербург Репутация: 23 Всего: 72 |
Цитируй, пожалуйста, комментарии полностью. Потому что строчкой ниже именно это и было сказано: Добавлено через 1 минуту и 43 секунды Ну, и выше это тоже было разъяснено:
|
||||
|
|||||
| Romikgy |
|
|||
![]() Любитель-программер ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7326 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: 26 Всего: 146 |
kami, зачем тогда добавлять не нужные ( не корректные ) данные в свой пост ?
-------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. |
|||
|
||||
| kami |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1806 Регистрация: 25.8.2007 Где: Санкт-Петербург Репутация: 23 Всего: 72 |
Romikgy,
Почему не нужные и некорректные? Изначально вопрос звучал, как то же самое можно сделать без использования absolute. Вот я и изложил свое мнение по этому поводу, о чем опять-таки прямо сказал в том сообщении: И пояснил код, как умею. Старался, чтобы вышло максимально понятно и прозрачно при прочтении всего сообщения. Если ввел в заблуждение - прошу прощения. |
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |