Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.07.2013, 22:40   #1
Михаил Юрьевич
Форумчанин
 
Аватар для Михаил Юрьевич
 
Регистрация: 25.12.2007
Сообщений: 655
По умолчанию Как проверить дату

Нужно отслеживать что бы не могли изменить дату в большую сторону, например если сегодня 5 число, то при попытке выставить 6 число программа распознавала это как ошибку.
Но надо не просто тупо записать сегоднешнее число при закрытии программы, а при открытии сравнить, а надо понять, переустанавливали число, или оно поменялось по истечению суток.
За частые поиски был забанен во всех известных
поисковых системах!
Михаил Юрьевич вне форума Ответить с цитированием
Старый 14.07.2013, 23:02   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Постоянно активная служба, следящая за состоянием даты. И взаимодействующая с вашей прогой во время её работы. Службу то и отключить можно. Вывод без запроса даты из интернета - ни как
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 14.07.2013, 23:09   #3
Вадим Мошев

Старожил
 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Сообщений: 8,568
По умолчанию

Цитата:
Нужно отслеживать что бы не могли изменить дату в большую сторону, например если сегодня 5 число, то при попытке выставить 6 число программа распознавала это как ошибку.
Ну, предположим, что переменная GivenNumber - это то число, которое было задано пользователем.
Тогда
Код:
DecodeDate(NOW, Year, Month, Day);
if GivenNumber > Day then // сообщить об ошибке
вот как-то так
Вадим Мошев вне форума Ответить с цитированием
Старый 14.07.2013, 23:16   #4
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Вадим, как это поможет при очередном запуске проги убедиться в том, что компьютерная дата соответствует действительной дате?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 14.07.2013, 23:17   #5
Михаил Юрьевич
Форумчанин
 
Аватар для Михаил Юрьевич
 
Регистрация: 25.12.2007
Сообщений: 655
По умолчанию

Цитата:
Сообщение от Вадим Мошев Посмотреть сообщение
Ну, предположим, что переменная GivenNumber - это то число, которое было задано пользователем.
Тогда
Код:
DecodeDate(NOW, Year, Month, Day);
if GivenNumber > Day then // сообщить об ошибке
вот как-то так
Было бы так просто,я бы не беспокоил уважаемых людей.
За частые поиски был забанен во всех известных
поисковых системах!
Михаил Юрьевич вне форума Ответить с цитированием
Старый 14.07.2013, 23:23   #6
Михаил Юрьевич
Форумчанин
 
Аватар для Михаил Юрьевич
 
Регистрация: 25.12.2007
Сообщений: 655
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
Постоянно активная служба, следящая за состоянием даты. И взаимодействующая с вашей прогой во время её работы. Службу то и отключить можно. Вывод без запроса даты из интернета - ни как
Да, с интернетом мысль не плохая, а если он не подключен?
За частые поиски был забанен во всех известных
поисковых системах!
Михаил Юрьевич вне форума Ответить с цитированием
Старый 14.07.2013, 23:27   #7
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

Цитата:
а при открытии сравнить, а надо понять, переустанавливали число, или оно поменялось по истечению суток.
Чтобы это проверить надо где-то 100% хранить неизменную информацию, и информацию "на живца".

Протекторы софта запоминают дату при установке защиты и хранят в exe, проверка происходит до распаковки и дешифровки основной программы.
Человек_Борща вне форума Ответить с цитированием
Старый 14.07.2013, 23:33   #8
Вадим Мошев

Старожил
 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Сообщений: 8,568
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
Вадим, как это поможет при очередном запуске проги убедиться в том, что компьютерная дата соответствует действительной дате?
Да я просто поленился написать, что вот эту фразу от Михаила
Цитата:
Но надо не просто тупо записать сегоднешнее число при закрытии программы, а при открытии сравнить, а надо понять, переустанавливали число, или оно поменялось по истечению суток.
не совсем понял.

Да, кстати,
Цитата:
компьютерная дата соответствует действительной дате?
...
Вопрос на засыпку. Что такое "действительная" дата. Если "компьютерная" дата установлена неверно, что, ИМХО, нет способа определить реальную дату - для компьютера "реальная дата" и "компьютерная", суть одно и то же, то есть, он ориентируется на компьютерную и принимает её за реальную...

Последний раз редактировалось Вадим Мошев; 14.07.2013 в 23:38.
Вадим Мошев вне форума Ответить с цитированием
Старый 14.07.2013, 23:34   #9
Михаил Юрьевич
Форумчанин
 
Аватар для Михаил Юрьевич
 
Регистрация: 25.12.2007
Сообщений: 655
По умолчанию

Цитата:
Сообщение от Человек_Борща Посмотреть сообщение
Чтобы это проверить надо где-то 100% хранить неизменную информацию, и информацию "на живца".

Протекторы софта запоминают дату при установке защиты и хранят в exe, проверка происходит до распаковки и дешифровки основной программы.
Да,но там проще, устанавливают например 15 дней , и проверяют от первого запуска в меньшую сторону, а как проверить если наоборот нужно накрутить лишние дни.
За частые поиски был забанен во всех известных
поисковых системах!
Михаил Юрьевич вне форума Ответить с цитированием
Старый 14.07.2013, 23:45   #10
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Цитата:
Если "компьютерная" дата установлена неверно, что, ИМХО, нет способа определить реальную дату - для компьютера "реальная дата" и "компьютерная", суть одно и то же, то есть, он ориентируется на компьютерную и принимает её за реальную...
В этом то и дело. Но способ есть - из интернета, или астрала, на худой конец. Да и служба про которую заикнулся не поможет, дату в биосе поменять можно, если не ошибаюсь, давненько не влазил в него
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как вводить дату? zoner Microsoft Office Excel 1 06.05.2013 09:34
сохранить дату как строку Naria1984 Microsoft Office Excel 2 09.06.2012 13:14
Как вывести дату из БД? Андрей79 PHP 5 04.10.2011 22:36
Как вычислить дату? Askat Общие вопросы Delphi 4 21.08.2007 10:27
как перевести дату в текст zetrix Microsoft Office Excel 0 31.10.2006 07:37