![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
А что значит 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 это соответственно первые и вторые байты числа, которым представляется время.