Пробные версии программ

Вышеописанным способом можно создавать пробные версии программ, которые будут функционировать только до определенной даты или до исчерпания заданного количества запусков. В листинге 5 представлен файл проекта (Trial.dpr), в котором пробная версия программы может запускаться не более 5 раз. Для запоминания номера очередного прогона используется системный реестр.
program Trial;   
    
uses   
  Forms,   
  Unit1 in 'Unit1.pas' {Form1},   
  Registry, Dialogs; // Для TRegistry и ShowMessage   
    
{$R *.RES}   
var   
  Reg: TRegistry;   
  N: Integer;   
begin   
  Reg := TRegistry.Create;   
  with Reg do   
  begin   
    OpenKey('software', True);   
    OpenKey('TrialProg', True);   
    if ValueExists('MaxRun') then  //    Первый запуск?   
    begin                             // - Нет   
      N := ReadInteger('MaxRun')-1;   
      if N>=0 then   
        WriteInteger('MaxRun', N)   
    end else begin                    // -Да, первый запуск   
      N := 5;   
      WriteInteger('MaxRun', N)   
    end;   
    Free   
  end;   
  if N>0 then   
  begin   
    Application.CreateForm(TForm1, Form1);   
    Application.Run;   
  end else   
    ShowMessage('Исчерпано максимальное количество запусков'+    
   ' пробной версии программы')   
end.

Здесь следует дать небольшой комментарий. Модуль Registry декларирует класс TRegistry, который представляет программисту доступ к системному реестру Windows. С помощью двух обращений к функции TRegistry.OpenKey создается и/или открывается ключ HKEY_CURRENT_USER\Software\TrialProg системного реестра. Функция TRegistry.ValueExists возвращает True, если этот ключ содержит параметр с именем MaxRun и для него определено значение. При первом запуске приложения это не так, поэтому процедурой WriteInteger создается параметр и для него указывается начальное значение 5 (максимальное количество прогонов программы). При каждом следующем запуске этот параметр уменьшается на 1 и в момент, когда он становится равен 0, приложение блокирует создание и отображение главного окна.
Теги:
Trial
Добавлено: 08 Апреля 2018 06:43:10 Добавил: Андрей Ковальчук Нравится 0
Добавить
Комментарии:
Нету комментариев для вывода...