Добро пожаловать к нам в гости! Наш сайт посвящён программе NeoBook, с помощью которой вы легко сможете создавать собственные мультимедиа-приложения без необходимости изучать сложные языки программирования! Зарегистрируйтесь, чтобы стать членом нашего сообщества.
У кого какие иди есть по этому поводу? Задача вообщем то проста, необходимо время от времени получать точную дату с сервера времени в интернете и сравнивать ее с системной датой... Вот только я не как не пойму как мне заполучить точную дату с сервера...
А какие идеи ты ждешь?! тут всего один вариант, делать запрос на сервер точного времени. На какой, куда, как и т.д. - это все уточнять в гугле и на сервере.
Сообщение отредактировано Сергей - Пт, 26 Августа 2011, 16:42
Ну что запрос делать я догадался... только вот какой и куда??? как вы правильно заметили... Ну допустим на вопрос куда гугл перелагает сюда - http://www.pool.ntp.org/ а вот какой запрос посылать... Как это в NeoBook реализовать...
Вам зачем сравнивать 2 времени - точное и системное? Для синхронизации? Если да, то по ссылке выше написано русским языком выполнить в командной строке:
Quote
net time /setsntp:pool.ntp.org
Как работать с командной строкой, смотрите в поиске по сайту.
чтобы получить точное время в проект, достаточно обратиться с запросом к серверу точного времени, он вернет время в заголовках ответа. для этого поищи ф-цию GetHeaders на форуме
Code
Call "getheaders" "http://www.pool.ntp.org" ""
в ответ придут заголовки, найдешь там строчку Date: Fri, 26 Aug 2011 13:42:03 GMT
Ребят извиняюсь за тон, просто научный наседает, а вместо помощи натыкаюсь на фразы "аля читай маны"
Ну может сам виноват не правильно вопрос поствил...
Я пишу программу - психологический тест плюс методика определения "типа личности" на заполнение которого дается 24 часа. С возможностью если захотел закрыл его и потом продолжил. Не выполнил за 24 часа все... Разработка моего научного, теперь надо переложить на код Так что мне не надо синхронизировать часы Виндовс... Мне надо наоборот, чтобы меняя дату системных часах в проекте все равно оставалось точное время и дата. Мне необходимо сделать приблизительно следующее, открыл проект запустил, какое то действие которое длится энное количество времени, закрыл проект., открыл заново, и действие не с нуля научилось и не продолжилось с момента закрытия а словно пока проект был закрыт действие продолжалось... Щас привязка идет к системному времени, тобиш закрыл проект перевел дату или время вперед, действие завершилось. Вот поэтому и надо отвязать от системного времени
Иными словами мне надо в переменной [g_time] периодически помещать точное время не из системы...
Добавлено (26 Август 2011, 18:01) ---------------------------------------------
Quote (DEMBEL)
чтобы получить точное время в проект, достаточно обратиться с запросом к серверу точного времени, он вернет время в заголовках ответа. для этого поищи ф-цию GetHeaders на форуме Код
Call "getheaders" "http://www.pool.ntp.org" ""
в ответ придут заголовки, найдешь там строчку Date: Fri, 26 Aug 2011 13:42:03 GMT
можно вообще к любому серверу обратиться
Спасибо огромнейшие, выручил, вот что значит профи....
вообще если есть нужда отсчитать срок в 24 часа, а не время, то лучше это внутри проекта сделать и никуда не ходить. Так то интернет нужен будет. А задача вполне решаема достаточно сохранять куда-нибудь при выходе и загружать при старте текущий отсчет...
Добавлено (26 Август 2011, 18:09) --------------------------------------------- например таймер сбрасывает в переменную [Count] каждую минуту (2-5-10 минут) текущий отсчет мсек из своей переменной. Сколько мсек в 24 часах думаю посчитаете... сохраняйте в реестр в каком-нибудь замудреном виде чтоб не догадались... потом читайте и расшифровывайте, грузите назад в [Count] и поехали далее. Как задавать вопросы
А зачем сервер тогда, если нужен только отсчет?! Запустил проект --> запустил таймер и все считай сколько влезет.. А если у юзера нет инета или он его спецом вырубил?!
Добавлено (26 Август 2011, 18:35) --------------------------------------------- упс, медленно писал, дембель уже предложил
Добавлено (26 Август 2011, 18:37) --------------------------------------------- А зачем прятать рядом с проектом в архив либо зашифровать, если файл удален, то применить штраф "-/+15" часов
вообще если есть нужда отсчитать срок в 24 часа, а не время, то лучше это внутри проекта сделать и никуда не ходить. Так то интернет нужен будет. А задача вполне решаема достаточно сохранять куда-нибудь при выходе и загружать при старте текущий отсчет...
Я не совсем понял. Или я неправильно опять объяснил. Задача юзера, грубо говоря он запустил проект ему вывелось у вас есть 24 часа на работу с ним он посмотрел его и через минуту закрыл и вообще выключил компьютер. Решил открыть на следующий день включил компьютер, открыл, а ему сообщение, время на работу с проектом истекло. Если как вы говорите через просто таймер, я же его не смогу заставить работать и при вырубленом проекте или компьютере. А если просто буду сохранять текущее время работы с проектом, если я правильно понял вас DEMBEL, то на следующей день если он его запустит у него останется 23 часа и 59 минут...
А интернет и так необходим, все значения переменных и текста охраняться в базе данных на сервере. (спасибо Alien за плагин...)
все значения переменных и текста охраняться в базе данных на сервере.
Quote (anton68)
Если как вы говорите через просто таймер, я же его не смогу заставить работать и при вырубленом проекте или компьютере
Суть не меняет. Вариант: Есть возможность хранить на сервере переменную?! Ну вот первый запуск скидывает на сервер метку. При последующем запуске получаешь данные и сравниваешь. А можно вообще на сервере начинать отсчет: Открытие проекта --> скидывается время запуска серверу Сервер работает круглосуточно, а значит при последующем запросе с проекта сервер высылает ostatok=(real_time - start_time). Если 0 и меньше, то баста.... Если больше, то запускаешь таймер с учетом оставшегося времени ну как то так. Ну думаю суть понятна
Сообщение отредактировано Сергей - Пт, 26 Августа 2011, 20:17
процесс отсчета времени на серваке и так идет, к чему его грузить когда он и так отдаст текущее время в заголовках запроса, достаточно лишь сравнить старое и новое значения...
Добавлено (26 Август 2011, 20:18) --------------------------------------------- еслиб не было инета, то была бы проблема... откуда брать время, системное можно открутить.
ну вот, допустим это первый запуск проги. Это время отсылается на сервер 0.20 Ты закрываешь прогу и идешь гулять, когда нагулялся(прошло-пусть 11 часов ), решил обмануть и переводишь часовой пояс на -11. Т.е. у тебя опять должно быть 0.20. Открываешь прогу, она делает запрос на сервер. Сервер высылает ответ:11.20=(0.20+11). Ты берешь молоток(из соседней темы) и разбираешь биос...
Добавлено (30 Август 2011, 00:37) --------------------------------------------- Ну понял или пример нужен?!
Сообщение отредактировано Сергей - Вт, 30 Августа 2011, 00:34
Сергей, ну вот ты грамотный человек. Но когда начинаешь упираться, все идет коту под хвост. У меня особого желания сейчас спорить нет, но да ладно. Отправила прога 0.20. Я пошел погулял 4 часа. Перевел часовой пояс на 4 часа, и у меня опять 0.20. Много времени не наворуешь, но если надо будет , то время все равно прибавить можно будет. Ну а если задаться целью, .... Я практически не спал 3 е суток. Сейчас выпил трохи. (ну, в своем измерении ) По этому не спорить, не думать желания нет. Не хочешь читать хелп?
mishem, это ты уперся и не хочешь понять, что против лома нет приема Для наглядности на пример. Времени у тебя 3 часа Твоя задача после первого старта сделать так, чтоб по истечении 3-х часов при клике на кнопку "Старт" программа не закрывалась. Отсчет начнется, когда в поле "результат" будет написано "Время пошло" При последующих кликах будет выводится оставшееся время...
Сообщение отредактировано Сергей - Вт, 30 Августа 2011, 11:08
чтоб по истечении 3-х часов программа не закрывалась
че так долго. 11.08 время пошло.
Добавлено (30 Август 2011, 11:16) --------------------------------------------- Ладно, убедил. Я что, должен сейчас сидеть и искать куда и что твоя программка прописывает?
ну что ты упераешься, ты хоть комп разбери, но через час после запуска она будет закрываться
Добавлено (30 Август 2011, 11:39) --------------------------------------------- и все пляски с бубном просто бесполезны Время храню на сервере в формате:
Даже на следующий день в это же время уже не сработает
Добавлено (30 Август 2011, 11:41) --------------------------------------------- mishem, Разбирайся не долго, т.к. хост не мой и вечером файлы удалю, чтоб не спалили....