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