Архитектура электронного правительства: Единая архитектура – это методологический подход при создании системы управления государства, который строится...
Индивидуальные и групповые автопоилки: для животных. Схемы и конструкции...
Топ:
Процедура выполнения команд. Рабочий цикл процессора: Функционирование процессора в основном состоит из повторяющихся рабочих циклов, каждый из которых соответствует...
Установка замедленного коксования: Чем выше температура и ниже давление, тем место разрыва углеродной цепи всё больше смещается к её концу и значительно возрастает...
Когда производится ограждение поезда, остановившегося на перегоне: Во всех случаях немедленно должно быть ограждено место препятствия для движения поездов на смежном пути двухпутного...
Интересное:
Искусственное повышение поверхности территории: Варианты искусственного повышения поверхности территории необходимо выбирать на основе анализа следующих характеристик защищаемой территории...
Наиболее распространенные виды рака: Раковая опухоль — это самостоятельное новообразование, которое может возникнуть и от повышенного давления...
Средства для ингаляционного наркоза: Наркоз наступает в результате вдыхания (ингаляции) средств, которое осуществляют или с помощью маски...
Дисциплины:
|
из
5.00
|
Заказать работу |
Содержание книги
Поиск на нашем сайте
|
|
|
|
Пример1. Приведенный фрагмент по введенному в окне редактирования пути (он может быть пустым) к разделу реестра (расположенного в HKEY_LOCAL_MACHINE\SOFTWARE) дает возможность получить список его подразделов, а для подраздела, имеющего список пар параметр-значение - список имен параметров. Не забудьте добавить registry в uses.
procedure TForm1.Button1Click(Sender: TObject);
var reg: Tregistry; res: boolean; strs: TstringList; i: integer;
begin
ListBox1.Clear; ListBox2.Clear;
reg:=Tregistry.Create; strs:=TstringList.Create;
reg.RootKey:=HKEY_LOCAL_MACHINE;
reg.OpenKey('SOFTWARE\'+Edit1.Text,False);
if res then label1.caption:='ok';
// получение списка имен ключей (подразделов) раздела, путь которого указан строкой
// SOFTWARE\ и строкой, введенной в окне редактирования Edit1
reg.GetKeyNames(strs);
label2.Caption:=inttostr(strs.count);
for i:=1 to strs.count-1 do listbox1.Items.add(strs.strings[i]);
// получить имена параметров данного раздела
reg.GetValueNames(strs);
label2.Caption:=inttostr(strs.count);
for i:=1 to strs.count do listbox2.Items.add(strs.strings[i-1]);
reg.CloseKey;
end;
Пример 2. Поиск в разделе реестра заданного имени подраздела.
Const
RtK: array[1..6] of HKEY = (HKEY_CLASSES_ROOT, HKEY_CURRENT_USER,
HKEY_LOCAL_MACHINE, HKEY_USERS, HKEY_CURRENT_CONFIG, HKEY_DYN_DATA);
RKS: array[1..6] of String = ('HKEY_CLASSES_ROOT', 'HKEY_CURRENT_USER',
'HKEY_LOCAL_MACHINE', 'HKEY_USERS', 'HKEY_CURRENT_CONFIG', 'HKEY_DYN_DATA');
function SearchKey(MainKey:word; // номер одного из 6 разделов реестра
SubKey:String; // подраздел, с которого начинается поиск
KeyF:String // имя подраздела, которое требуется найти
):string;
var I:dword; value:TRegKeyInfo; Strs:TStringList; path: string;
begin
Strs:=TStringList.create;
reg.RootKey:= Rtk[MainKey];
// задаем подраздел, в котором необходимо искать
reg.OpenKey(SubKey,false);
if reg.GetKeyInfo(value) then
Begin // при отсутствии подраздела – выход
if value.NumSubKeys=0 then exit;
reestr.GetKeyNames(Strs);
reestr.CloseKey;
For I:= 1 to Value.NumSubKeys do
Begin // получение пути к разделам
if subkey='\' then path:='\'+Strs.Strings[i-1] else path:=subkey+'\'+Strs.Strings[i-1];
if Strs.Strings[i-1]=KeyF then Listbox1.Items.add(Rks[MainKey]+Path); // запись результата
// вызов SearchKey (); - фактические параметры указать самостоятельно, исходя из логики процедуры поиска
End;
reg.CloseKey;
end;
end;
ВЫПОЛНЕНИЕ РАБОТЫ
Список заданий для всех бригад
Примечание. п.1-п.5 выполнить с использованием функций Win32 API.
Список индивидуальных заданий
1. Разработать приложение для нахождения количества подразделов в каждом из 6 основных разделов реестра и самого длинного пути к подразделу. Данное приложение должно запускаться на данном ПК не более 5 раз (информацию о количестве запусков хранить в реестре).
Бригады 1, 3, 6
2. Разработать приложение для поиска в заданном разделе реестра параметра по его имени. Результат поиска – список путей к подразделам реестра, в которых хранится параметр с заданным именем. Дать предложения по повышению скорости работы приложения за счет использования дихотомического поиска.
Бригады 2, 4, 5
3. Разработать приложение для поиска в заданном разделе реестра всех параметров строкового типа, длина значений которых не превышает K (значения K и раздел реестра должны задаваться вводом с клавиатуры).
Бригады 7, 8, 9, 10
ОТЧЕТ О РАБОТЕ должен содержать:
1 Описание постановки задач, решенных бригадой, алгоритмов решения задач и его программной реализации.
3. Полученные результаты.
Литература
Чен В., Берри В. Реестр Windows Nt для профессионалов. - СПб: "Издательство Питер", 1999.
Лабораторная работа № 6
|
|
|
Историки об Елизавете Петровне: Елизавета попала между двумя встречными культурными течениями, воспитывалась среди новых европейских веяний и преданий...
Индивидуальные очистные сооружения: К классу индивидуальных очистных сооружений относят сооружения, пропускная способность которых...
Автоматическое растормаживание колес: Тормозные устройства колес предназначены для уменьшения длины пробега и улучшения маневрирования ВС при...
Наброски и зарисовки растений, плодов, цветов: Освоить конструктивное построение структуры дерева через зарисовки отдельных деревьев, группы деревьев...
© cyberpediasu.com 2017-2026 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!