Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

А что значит dwlowDateTime и dwhighDateTime в структуре FileTime? [D5, NT4, Win2k]


KoLega ©   (2002-04-10 17:44:00) 

А что значит dwlowDateTime и dwhighDateTime в структуре FileTime?
И как значение типа TdateTime перевести в dwlowDateTime и dwhighDateTime структурЫ FileTime ???
Спасибо.


KoLega   (2002-04-12 20:06:00) [1]

Спасибо Pat ©!!! Незнал, так конечно проще!!!Как код сокращается:-))


Pat   (2002-04-12 18:49:00) [2]

А не проще корректировать время, используя GetLocalTime и GetSysytemTime?


KoLega   (2002-04-12 17:47:00) [3]

Спасибо всем!!! Вообщем я сделал так:
Вычислил разницу между начальной датой и полученной - это и есть корректировка в л. точке земного шара и в любое время !
>> ION T © весьма благодарен!:-)


Anatoly Podgoretsky   (2002-04-11 23:57:00) [4]

Обрати внимание не название функции SystemTime, а не LocalTime


ION T   (2002-04-11 23:40:00) [5]

Ну так правильно: +3 часа - Москва и +1 час - летнее время.

Ну скорректировать можно вычитанием текущего смещения времени (4 часа, но где-то в реестре читать надо) и установкой. По людски - отнимаешь 4 часа и ставишь. Но крайне не рекомендую так делать - представьте, что этот файл кто-то намылит в сша, там смещение другое(допустим -5 часов) и получится, что файл создан *через* те самые 4 часа, а на такое любой скандиск и половина антивирусов заругаются..........


KoLega   (2002-04-11 23:06:00) [6]

>> ION T ©
У меня в настройках винды стоит час пояс Москва и время правильно показывает...а вот если любое время подаешь на вход:
SystemTimeToFileTime(st,t1);
SetFileTime(h,nil,nil,@t1);
то всегда время получается на 4 часа больше, а как можно програмно скоректировать??


ION T   (2002-04-11 20:41:00) [7]

А вы случайно не забыли про локальные настройки - ведь время файла должно быть правильным(как в рекламк Бочкарева:) Вы вероятно живете во временном поясе со смещением в 4 часа, так что это ни в коем случае не глюк - так правильно.......но если надо, то можно выставлять время с учетом сего, чтобы Винда "скорректировала" в нужную сторону........


KoLega   (2002-04-11 17:52:00) [8]

Спасибо всем! Особенно ION T ©!!!
А почему при использовании SystemTimeToFileTime()время всегда на 4 часа больше?? это глюк или что?


Anatoly Podgoretsky   (2002-04-11 08:26:00) [9]

Да, вариант представления Int64


SPeller   (2002-04-11 01:32:00) [10]

Ну всмысле первые 4 и вторые 4 байта 8-ми байтного числа.


Anatoly Podgoretsky   (2002-04-10 23:34:00) [11]

Тоесть как одно и тоже два байта и восемь


ION T   (2002-04-10 22:55:00) [12]

Используй SystemTimeToFileTime() для конвертации......


SPeller   (2002-04-10 22:31:00) [13]

Anatoly Podgoretsky © (10.04.02 21:19)
В принципе это одно и то же. Я просто более крестьянским языком попытался выразиться.


Anatoly Podgoretsky   (2002-04-10 21:19:00) [14]

Младшая ии старшая часть 64 битного целого, а не байтов


KoLega   (2002-04-10 20:58:00) [15]

>> SPeller
первые и вторые байты... а по понятней можно??
Что такое первые байты числа, а что вторые??

Как они связаны с TDatatime??

Ответьте пожалуйста, мне нужно установить время на файл...это делается через SetFileTime(h,nil,nil,@t1), где t1 - структура FileTime
У меня есть значение Tdatatime , как мне его "воткнуть" в t1 ??
Спасибо.


SPeller   (2002-04-10 20:28:00) [16]

dwlowDateTime и dwhighDateTime это соответственно первые и вторые байты числа, которым представляется время.


Наверх

Титульная страница Поиск, карта сайта Написать письмо