Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> системная дата? 
:(
    Опции темы
lkan
Дата 3.3.2006, 08:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



доброго времени суток, мастера.вопрос такой:требуется ч/з 30 дн. удалить приложение. как вычислить эти 30 дн. ведь системную дату можно переставить?(winXP,d7)


PM MAIL   Вверх
Snowy
Дата 3.3.2006, 09:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

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



Фиксируй дни. В реестре или файле.
Как только дата не равна предыдущей - увеличивай счетчик.
PM MAIL   Вверх
lkan
Дата 3.3.2006, 09:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



а дни считать отдельной прогой, которая будет висеть постояно?
PM MAIL   Вверх
Snowy
Дата 3.3.2006, 10:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

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



Зачем же? Можно из своей.
А еще есть очень простой способ, как узнать текущую дату, не глядя системное время.
Делаешь поиск по каталогу %WINDIR% и ищешь файл с наибольшей датой.
Как правило это будет свеженький log файл.
Вот его дата и будет сегодняшней.
PM MAIL   Вверх
Guedda
Дата 3.3.2006, 10:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Подрывник
****


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

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



Вот тебе обработчик OnCreate:
Код

uses
  ..., Registry;

procedure TForm1.FormCreate(Sender : TObject);
var
  Reg : TRegistry;
  CurDate : TDateTime;
  i : Integer;
begin
  Reg := TRegsitry.Create;
  Reg.RootKey := HKEY_LOCAL_MACHINE; //выбираем ветку
  Reg.OpenKey('Software\MyProg\Count'); //открываем папку твое программы
  if not Reg.ValueExists('Date') then //если даты нет, то создаем ее
  begin
    Reg.WriteDate('Date', Now);
    Exit;  //...и выходим
  end else begin
    CurDate := Reg.ReadDate('Date'); //считываем дату в реестре
    if CurDate <> Now then begin  //если дата не равна сегодняшней, то
      if not Reg.ValueExists('Count') then //если не существует запись Count, то
      begin
        Reg.WriteInteger('Count', 1); //записываем туда 1 день
      end else begin  //иначе
        i := Reg.ReadInteger('Count'); //считываем Count 
        if i=30 then begin //если Count - 30 дней, то
          ShowMessage('Срок программы истек');
          Reg.CloseKey; Reg.Free; 
          Close; //все...
        end;
        Inc(i);//Добавляем к дням еще один
        Reg.WriteInteger('Count', i); //и записываем его туда же :)
      end;
    end;
  end;
  Reg.CloseKey;
  Reg.Free;//завершаем работу скрипта
end;


Пользуйся на здоровье


--------------------
Ll 2
PM MAIL WWW ICQ Skype GTalk   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

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


 




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


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

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