User Tag List

Страница 6 из 8 ПерваяПервая ... 2345678 ПоследняяПоследняя
Показано с 51 по 60 из 71

Тема: DirSys - система каталогов для TR-DOS

  1. #51

    Регистрация
    14.01.2005
    Адрес
    Ekaterinburg
    Сообщений
    2,726
    Спасибо Благодарностей отдано 
    19
    Спасибо Благодарностей получено 
    148
    Поблагодарили
    91 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Если еще помните, я сделал программу INTIME, которая запрашивает время из Интернета.
    Время возвращается в виде четырех-байтного числа, так называемого <Unix time>.
    А вот как оно пробразуется в дату:
    Код:
    ------------------------------------------------------------
    :  Как преобразовать unix time в TDateTime
    ------------------------------------------------------------
    unix timestamp представляет собой число секунд начиная с 1.01.1970
    
    const
      SecPerDay  = 86400;
      Offset1970 = 25569;
    
    function UnixTimeToDateTime(UnixTime : LongInt): TDate;
    begin
      Result := UnixTime / SecPerDay + Offset1970;
    end;
    
    function DateTimeToUnixTime(DelphiDate : TDate) : LongInt;
    begin
      Result := Trunc((DelphiDate - Offset1970) * SecPerDay);
    end;
    
    
    function UnixToDateTime(const AValue: Int64): TDateTime;
    Const HoursPerDay   = 24;
          MinsPerDay    = HoursPerDay * 60;
          SecsPerDay    = MinsPerDay * 60;
          UnixDateDelta = 25569;
    begin
      Result := AValue / SecsPerDay + UnixDateDelta;
    end;
    Я естественно писал на ассемблере, и заняла такая процедура не более полу-килобайта.

    PS. Этот текст из FAQ для Unix.
    На самом деле в интернете время с тайм-серверов возвращается как число секунд от 1.01.1900 года.

    PSS. Исходник, если интересно, могу выложить.
    Последний раз редактировалось caro; 29.08.2008 в 09:41.

  2. #52

    Регистрация
    10.04.2005
    Адрес
    Сибирь
    Сообщений
    1,203
    Спасибо Благодарностей отдано 
    270
    Спасибо Благодарностей получено 
    397
    Поблагодарили
    171 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от caro
    PSS. Исходник, если интересно, могу выложить.
    Конечно, было бы интересно посмотреть. Мне такие задачи решать не приходилось...
    Если в каком-либо моем посте перестала работать гиперссылка или показываться картинка, напишите мне об этом в личном сообщении,чтобы я смог это исправить.

    Grand's - сайт об электронно-вычислительной технике (зеркало)

  3. #53

    Регистрация
    13.01.2005
    Адрес
    г. Москва
    Сообщений
    5,213
    Записей в дневнике
    7
    Спасибо Благодарностей отдано 
    706
    Спасибо Благодарностей получено 
    1,645
    Поблагодарили
    572 сообщений
    Mentioned
    50 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от caro Посмотреть сообщение
    На самом деле в интернете время с тайм-серверов возвращается как число секунд от 1.01.1900 года.
    Стало быть через 29 лет, то есть в 2037-м году, эту перестанет работать

    Цитата Сообщение от caro Посмотреть сообщение
    Исходник, если интересно, могу выложить.
    Кнечно же, очень интересно!
    С уважением, Станислав.

  4. #54

    Регистрация
    14.01.2005
    Адрес
    Ekaterinburg
    Сообщений
    2,726
    Спасибо Благодарностей отдано 
    19
    Спасибо Благодарностей получено 
    148
    Поблагодарили
    91 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от CityAceE
    Стало быть через 29 лет, то есть в 2037-м году, эту перестанет работать
    Вот что об этом пишут в RFC 1305 (Network Time Protocol):
    Код:
    Note that since some time in 1968 the most significant bit (bit 0 of the integer part) has been set 
    and that the 64-bit field will overflow some time in 2036.
    Should NTP be in use in 2036, some external means will be necessary to qualify time relative to 1900 
    and time relative to 2036 (and other multiples of 136 years).
    Тоесть это надо будет учесть после переполнения счетчика.
    Кстати счетчик, как вы наверное заметили 64-х битный, но NTP предусматривает пересылку только старших 32 бит.
    Последний раз редактировалось caro; 05.09.2008 в 05:47.

  5. #55

    Регистрация
    10.04.2005
    Адрес
    Сибирь
    Сообщений
    1,203
    Спасибо Благодарностей отдано 
    270
    Спасибо Благодарностей получено 
    397
    Поблагодарили
    171 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Процедуры не маленькие... А еще ведь в командере придётся предусмотреть и обратную конвертацию.

    Никто не знает, как дата хранится в IS-DOS?
    Если в каком-либо моем посте перестала работать гиперссылка или показываться картинка, напишите мне об этом в личном сообщении,чтобы я смог это исправить.

    Grand's - сайт об электронно-вычислительной технике (зеркало)

  6. #56

    Регистрация
    13.01.2005
    Адрес
    г. Москва
    Сообщений
    5,213
    Записей в дневнике
    7
    Спасибо Благодарностей отдано 
    706
    Спасибо Благодарностей получено 
    1,645
    Поблагодарили
    572 сообщений
    Mentioned
    50 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Grand Посмотреть сообщение
    А еще ведь в командере придётся предусмотреть и обратную конвертацию.
    Да, я тоже сразу об этом подумал. Видимо такой способ не годится - слишком много кода получается.
    С уважением, Станислав.

  7. #57

    Регистрация
    14.01.2005
    Адрес
    N.Novgorod
    Сообщений
    803
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Grand Посмотреть сообщение
    Никто не знает, как дата хранится в IS-DOS?
    так же как на ФАТе:

    wFatDate [in]
    The MS-DOS date. The date is a packed value with the following format.

    Bits Description
    0-4 Day of the month (1–31)
    5-8 Month (1 = January, 2 = February, and so on)
    9-15 Year offset from 1980 (add 1980 to get actual year)

    wFatTime [in]
    The MS-DOS time. The time is a packed value with the following format.

    Bits Description
    0-4 Second divided by 2
    5-10 Minute (0–59)
    11-15 Hour (0–23 on a 24-hour clock)

  8. #58

    Регистрация
    10.04.2005
    Адрес
    Сибирь
    Сообщений
    1,203
    Спасибо Благодарностей отдано 
    270
    Спасибо Благодарностей получено 
    397
    Поблагодарили
    171 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от elf/2
    Bits Description
    0-4 Second divided by 2
    5-10 Minute (0–59)
    11-15 Hour (0–23 on a 24-hour clock)
    Что же получается - в MS-DOS секунды в элементах каталога всегда четные?
    Если в каком-либо моем посте перестала работать гиперссылка или показываться картинка, напишите мне об этом в личном сообщении,чтобы я смог это исправить.

    Grand's - сайт об электронно-вычислительной технике (зеркало)

  9. #59

    Регистрация
    06.05.2006
    Адрес
    Ливны, Орловская обл
    Сообщений
    1,169
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Ну да. Даже на ntfs оно будет чётным если не пользоваться другими ф-циями api для миллисекундной точности.
    О, сколько нам открытий чудных... =)

  10. #60

    Регистрация
    10.04.2005
    Адрес
    Сибирь
    Сообщений
    1,203
    Спасибо Благодарностей отдано 
    270
    Спасибо Благодарностей получено 
    397
    Поблагодарили
    171 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Grand
    в MS-DOS секунды ... четные?
    Цитата Сообщение от NovaStorm
    Ну да. ...
    CityAceE, может быть и нам это взять на вооружение? А сэкономленный бит можно зарезервировать, или сделать, чтобы он отвечал, например, файл "read only".
    Если в каком-либо моем посте перестала работать гиперссылка или показываться картинка, напишите мне об этом в личном сообщении,чтобы я смог это исправить.

    Grand's - сайт об электронно-вычислительной технике (зеркало)

Страница 6 из 8 ПерваяПервая ... 2345678 ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Музыкальная система для Специалиста
    от ivagor в разделе Специалист
    Ответов: 4
    Последнее: 20.07.2022, 21:47
  2. Ответов: 6
    Последнее: 07.02.2016, 11:55
  3. Файловая система IS-DOS
    от Helloween в разделе Оси
    Ответов: 1
    Последнее: 01.03.2014, 22:03
  4. Ответов: 1
    Последнее: 22.11.2009, 18:20
  5. Новая система каталогов в TR-DOS
    от Spectre в разделе Программирование
    Ответов: 55
    Последнее: 24.02.2005, 20:42

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •