Модераторы: Alexeis

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> time() и gmtime() в wince 
V
    Опции темы
mrbrooks
Дата 4.2.2008, 17:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


трололомен
****


Профиль
Группа: Завсегдатай
Сообщений: 4259
Регистрация: 4.10.2006
Где: Дол Гулдур

Репутация: нет
Всего: 306



Салют! Народ может кто в курсе. В WinCE 4.2 подключаю time.h а мне мол нет таких функций. Что не ужели нет или еще библиотека какая нибудь нужна?
PM MAIL   Вверх
Alexeis
Дата 4.2.2008, 18:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 4
Всего: 459



  В 2005й 2008й по ходу есть, нет в eVC.


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
mrbrooks
Дата 5.2.2008, 10:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


трололомен
****


Профиль
Группа: Завсегдатай
Сообщений: 4259
Регистрация: 4.10.2006
Где: Дол Гулдур

Репутация: нет
Всего: 306



Зато имеется класс CTime - может кто в курсе им можно заменить вышеописанные функции?
PM MAIL   Вверх
Alexeis
Дата 5.2.2008, 12:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 4
Всего: 459



Цитата(mrbrooks @  5.2.2008,  09:44 Найти цитируемый пост)
Зато имеется класс CTime 

  мм... у меня его нет, хотя возможно это из-за специфичного SDK.


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
mrbrooks
Дата 6.2.2008, 10:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


трололомен
****


Профиль
Группа: Завсегдатай
Сообщений: 4259
Регистрация: 4.10.2006
Где: Дол Гулдур

Репутация: нет
Всего: 306



Alexeis  А вообще есть возможность как то вернуть количество секунд от 0:0:0 1.1.1900 года в CE? Не в курсе?
PM MAIL   Вверх
Alexeis
Дата 6.2.2008, 10:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 4
Всего: 459



  Нечто похожее FileTime, которую можно получить при помощи SystemTimeToFileTime
FileTime отмеряется с 1 января 1601 года, но это не секунды, а сотни наносекунд. 


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
mrbrooks
Дата 7.2.2008, 15:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


трололомен
****


Профиль
Группа: Завсегдатай
Сообщений: 4259
Регистрация: 4.10.2006
Где: Дол Гулдур

Репутация: нет
Всего: 306



Да я думал об этом.  Но пишу SNTP клиент и в мануале сказано что метка формируется с 01.01.1900  smile 
безспорно если учесть еще разницу между ними - это наверно будет кул.
PM MAIL   Вверх
Alexeis
Дата 7.2.2008, 15:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 4
Всего: 459



  Ну можно попробовать так забить константу FileTime временем 01.01.1900, теперь для получения времени из FileTime нужно вычесть эту константу и разделить полученное число на 10 млн. и сохранить как Double. 


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
mrbrooks
Дата 7.2.2008, 15:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


трололомен
****


Профиль
Группа: Завсегдатай
Сообщений: 4259
Регистрация: 4.10.2006
Где: Дол Гулдур

Репутация: нет
Всего: 306



Я вот думаю что может стоит так.

1. CTime может вернуть метку с 1 января 1970 0:0.0 в секундах
2. Взять разницу между 1900 и 1970 - а именно 70 лет = 70*60*60*24*365,25 = 2 209 032 000 секунды
3.Эту метку  сложить с меткой возвращаемую СTime и получу значения в секундах.

В принципе кажется разумным решением. Но это при условии что есть mfc - по крайней мере у меня. FILETIME поможет эту красоту обойти. 
PM MAIL   Вверх
mrbrooks
Дата 8.2.2008, 17:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


трололомен
****


Профиль
Группа: Завсегдатай
Сообщений: 4259
Регистрация: 4.10.2006
Где: Дол Гулдур

Репутация: нет
Всего: 306



Не с FILETIME что то не удается взять константу от 1900 года. Вот SYSTEMTIME от 1970 берется.
PM MAIL   Вверх
Alexeis
Дата 8.2.2008, 17:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 4
Всего: 459



Цитата(mrbrooks @  8.2.2008,  16:03 Найти цитируемый пост)
Не с FILETIME что то не удается взять константу от 1900 года. Вот SYSTEMTIME от 1970 берется. 

Код

const FILETIME f1900 = {4259332096, 21968699};


Добавлено через 6 минут и 54 секунды
Если как int64 то 94354848000000000


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
mrbrooks
Дата 11.2.2008, 15:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


трололомен
****


Профиль
Группа: Завсегдатай
Сообщений: 4259
Регистрация: 4.10.2006
Где: Дол Гулдур

Репутация: нет
Всего: 306



Сенкс комрад. Получилось. Но фишка в том что собственно метка времени одна и получается. Что моим спомобом что еслт юзать FILETIME. Правда NTP сервер посылает значения какие то полубредовые. Хотя что клиент что сервер общаются друг с другом замечательно. Alexeis не доводилось работать с ntp-запросами?
PM MAIL   Вверх
Alexeis
Дата 11.2.2008, 15:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 4
Всего: 459



Цитата(mrbrooks @  11.2.2008,  14:21 Найти цитируемый пост)
Alexeis не доводилось работать с ntp-запросами? 

  smile 


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
СВК
Дата 23.4.2009, 17:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 42
Регистрация: 2.4.2009

Репутация: нет
Всего: нет



Тож столкнулся с отсутствием time.h, правда в MS VC2005 для CE6.0, в Platform Builder`е "C Libs and Runtimes" - указывал..

можно конечно подставить оригинал от MS
Код
__time64_t __cdecl _time64 (
        __time64_t *timeptr
        )
{
        __time64_t tim;
        FT nt_time;

        GetSystemTimeAsFileTime( &(nt_time.ft_struct) );

        tim = (__time64_t)((nt_time.ft_scalar - EPOCH_BIAS) / 10000000i64);


        if (timeptr)
                *timeptr = tim;         /* store time if requested */

        return tim;
}


но может есть какой более грамотный метод?
PM MAIL   Вверх
mrbrooks
Дата 27.4.2009, 12:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


трололомен
****


Профиль
Группа: Завсегдатай
Сообщений: 4259
Регистрация: 4.10.2006
Где: Дол Гулдур

Репутация: нет
Всего: 306




Цитата(СВК @  23.4.2009,  17:30 Найти цитируемый пост)
но может есть какой более грамотный метод? 

возможно. но вся сложность в том, что по WinCE 4.2 нет GetSystemTimeAsFileTime() поэтому писал свой велосипед. Вроде все работает  smile 
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Программирование мобильных устройств"
Alexeis

Раздел посвящен программированию мобильных устройств.

Все остальные вопросы по мобильным устройствам (КПК, смартфоны, телефоны, фотоаппараты и т.п),
не имеющие отношения к программированию, просьба размещать в разделе КПК, смартфоны, мобильники

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Платформы Windows Mobile и Windows Embedded | Следующая тема »


 




[ Время генерации скрипта: 0.0647 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.