Защита программы паролем
Защита программы паролем Защита программы паролем Как видно из примера, программист может поместить любой код до обращения к методу application.run. В частности, он может показать диалоговое окно с запросом пароля и блокировать вызов application.run, если введенный пользователем пароль неверен. В следующем примере (листинг 4 — password.dpr) в проекте используются две формы: стандартная форма inputquery и главная форма mainform. Форма inputquery создается при обращении к одноименной функции, определенной в модуле dialogs. Она представляет собой небольшое диалоговое окно с однострочным редактором tedit и двумя кнопками — ОК и cancel. В окне пользователь должен ввести пароль (delphi) и нажать enter. Листинг 4
uses
forms,
dialogs, // В этом модуле определена функция inputquery
unit1 in 'unit1.pas' {mainform};
{$r *.res}
var
passwrd: string;
begin
// Запрашиваем пароль:
if inputquery('Окно ввода пароля','Введите пароль:',passwrd) then
// Проверяем его:
if passwrd = 'delphi' then
begin // Все в порядке, пароль верен
application.createform(tmainform, mainform);
application.run;
end else
showmessage('Пароль не верен!');
end.
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.
Отправить комментарий