Как сделать кнопку работающую через интервал времени[Delphi]

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by ALeXX&7, 4 Feb 2011.

  1. ALeXX&7

    ALeXX&7 New Member

    Joined:
    4 Oct 2010
    Messages:
    50
    Likes Received:
    1
    Reputations:
    0
    Всем Здраствуйте! Интересует как можно сделать следующее:
    есть кнопка, по нажатию которой делается то-то........... . Следующее её нажатие, а вернее осуществление процедуры, которую она выполняет возможна будет только, допустим, через час, при этом в независимости была ли за это время закрыта программа или нет...
    Есть мысли насчет обращения к системному времени, но кажется бестолковым(... Вообщем прошу вашего совета
     
  2. Kastor

    Kastor Elder - Старейшина

    Joined:
    19 Jan 2010
    Messages:
    127
    Likes Received:
    18
    Reputations:
    13
    А помоему это самый нормальный вариант как раз. Нажали на кнопку, получили системное время и сохранили его. При следующем открытии программы снова получаем системное время и вычитаем из него ранее сохраненное. Если результат вышел больше часа, то делаем кнопку доступной.
     
  3. arnis

    arnis Member

    Joined:
    30 Jan 2011
    Messages:
    280
    Likes Received:
    23
    Reputations:
    0
    Пиши в файл\реестр время запуска процедуры, перед запуском проверяй прошло ли нужное время после запуска или нет

    Это как самый простой вариант.
     
  4. ALeXX&7

    ALeXX&7 New Member

    Joined:
    4 Oct 2010
    Messages:
    50
    Likes Received:
    1
    Reputations:
    0
    а если время в ручную перемотать? кнопка станет доступной скорее всего, ведь так?.
     
  5. PaCo

    PaCo Elder - Старейшина

    Joined:
    6 Feb 2008
    Messages:
    436
    Likes Received:
    138
    Reputations:
    25
    Если так поставить вопрос то можно и файле/реестре/где угодно на локальной машине изменить значения и кнопка станет доступной опять, можно сохранять время нажатие на серваке, и там уже выдавать разрешения, а на серваке лучше запрашивать время у серверов времени. Сервак предварительно пинговать/трассировать дабы выявит факт подлого если что, но все это легко ломается если у человека есть немного скила в реверсинге.
     
  6. ALeXX&7

    ALeXX&7 New Member

    Joined:
    4 Oct 2010
    Messages:
    50
    Likes Received:
    1
    Reputations:
    0
    Вот насчет этого всего можно поподробнее?? Статейку какую-нито или где почитать?
     
  7. arnis

    arnis Member

    Joined:
    30 Jan 2011
    Messages:
    280
    Likes Received:
    23
    Reputations:
    0
    А что тут подробнее отправляеш запрос, на любой сервер времени парсиш ответ, и сравниваеш.

    Есть вариант по проще, пиши не время нажатия а время следующего запуска.
    99% юзеров время вперед отматывать не додумаются.

    еще вариант считай такты проца :) но тогда после перезагрузки машины нажимаьтся кнопка будет или не будет (зависимо от условия)