Delphi. Учимся на примерах | страница 44



> end else begin

>  reg:= TRegistry.Create;

>  reg.RootKey:= HKEY_CURRENT_USER;

>  reg.OpenKey('Software\Microsoft\Windows\CurrentVersion\'+

>   'Policies\System', True);

>  //Восстановить свойства экрана

>  reg.WriteInteger('NoDispCPL', 0);

>  reg.CloseKey;

> end;

> //Для опции "Заблокировать реестр":

> if CheckBox3.Checked then begin

>  reg:= TRegistry.Create;

>  reg.RootKey:= HKEY_CURRENT_USER;

>  reg.OpenKey('Software\Microsoft\Windows\CurrentVersion\' +

>   'Policies\System', True);

>  //Заблокировать реестр

>  reg.WriteInteger('DisableRegistryTools', 1);

>  reg.CloseKey;

> end else begin

>  reg:= TRegistry.Create;

>  reg.RootKey:= HKEY_CURRENT_USER;

>  reg.OpenKey('Software\Microsoft\Windows\CurrentVersion\' +

>   'Policies\System', True);

>  //открыть доступ к реестру

>  reg.WriteInteger('DisableRegistryTools', 0);

>  reg.CloseKey;

> end;

>end;


>procedure TForm1.FormCreate(Sender: TObject);

>begin

> reg:= TRegistry.Create;//открываем реестр

> //настройки для текущего пользователя

> reg.RootKey:= HKEY_CURRENT_USER;

> reg.OpenKey('SYSTEM\CurrentControlSet\Services\Cdrom', False); //открываем раздел

> if reg.ValueExists('Autorun') then //если ключ существует

>  if reg.readinteger('autorun') = 1 //и если он равен 1,

>   then //то устанавливаем флажок первой опции

>    CheckBox1.Checked:= True;

> reg.CloseKey;//закрываем реестр

> //Таким же образом проверяем остальные опции

> //Для опции "Отключить свойства экрана":

> reg:= TRegistry.Create;

> reg.RootKey:= HKEY_CURRENT_USER;

> reg.OpenKey('Software\Microsoft\Windows\CurrentVersion\' +

>  'Policies\System', False);

> if reg.ValueExists('NoDispCPL') then

>  if reg.ReadInteger('NoDispCPL') = 1 then CheckBox2.Checked:= True;

> reg.CloseKey;

> //для опции "Заблокировать реестр":

> reg:= TRegistry.Create;

> reg.RootKey:= HKEY_CURRENT_USER;

> reg.OpenKey('Software\Microsoft\Windows\CurrentVersion\' +

>  'Policies\System', False);

> if reg.ValueExists('DisableRegistryTools') then

>  if reg.ReadInteger('DisableRegistryTools') = 1 then CheckBox3.Checked:= True;

> reg.CloseKey;

>end;


>end.

⊚ Все файлы проекта и исполняемый файл рассмотренной программы находятся на прилагаемом к книге компакт-диске в папке Chapter_12.

Глава 13

Тест

Постановка задачи

Разработать программу для тестирования знаний в разных областях. Пользователь должен ответить на несколько вопросов, которые случайным образом выбираются из общей базы вопросов. После того как пользователь ответил на все вопросы, программа должна высчитать и выдать результат прохождения теста — процент правильных ответов. Также необходимо дать возможность пользователю подключать внешние файлы, содержащие вопросы и варианты ответов к ним. Для того чтобы пользователь не смог прочитать правильные ответы, следует зашифровать файл с вопросами и ответами.