Листинг 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. 

возврат