Защита программы паролем
Защита программы паролем Как видно из примера, программист может поместить любой код до обращения к методу application.run. В частности, он может показать диалоговое окно с запросом пароля и блокировать вызов application.run, если введенный пользователем пароль неверен. В следующем примере (листинг 4 — password.dpr) в проекте используются две формы: стандартная форма inputquery и главная форма mainform. Форма inputquery создается при обращении к одноименной функции, определенной в модуле dialogs. Она представляет собой небольшое диалоговое окно с однострочным редактором tedit и двумя кнопками — ОК и cancel. В окне пользователь должен ввести пароль (delphi) и нажать enter. Листинг 4 Code program password; 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. Code 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. | |
| |
Просмотров: 547 | | |
Всего комментариев: 0 | |