Администрирования прикладного программного обеспечения ИПЗ. Белкин_ипз. Лабораторная работа 2 Разработка модели условнобесплатной программы фио студента
![]()
|
ИТОГОВОЕ ПРАКТИЧЕСКОЕ ЗАДАНИЕ по дисциплине «Администрирование прикладного программного обеспечения» Лабораторная работа 2-3. Разработка модели условно-бесплатной программы
Москва 2022 ЛАБОРАТОРНАЯ РАБОТА № 2-3 1. В MS Visual Studio на основе шаблона «Приложение Windows Forms (.NET Framework)» создайте новый проект с именем RegistryWork (с сохранением всех файлов проекта в одноименной папке): ![]() Рисунок 1. Создание проекта 2. Измените свойства экранной формы Form1: Form1.Name = frmRegistryWork Form1.Text = Работа с реестром ![]() 3. Разработайте инструментарий создания в разделе реестра HKEY_CURRENT_USER следующей структуры ключей: ![]() Для этого добавьте на форму элемент Button, установите его свойства Name = btnCreateKey и Text = Создание ключей в HKCU, а также добавьте команды создания ключей в обработчик нажатия этой кнопки: ![]() ![]() ![]() 4. Разработайте инструментарий для создания в ключе Lecture строковых параметров с именем «Лекция 1» и значением «Установка ПО» и «Лекция 2» со значением «Лицензирование ПО», а в ключе Practice – параметр типа dword с именем «Result» и значением 15. Для этого добавьте на форму еще один элемент Button, установите его свойства Name и Text, а также добавьте команды создания параметров в обработчик нажатия этой кнопки. Name = btnCreateParam Text = Создание параметров Обработчик события Click: ![]() ![]() Выполните проверку: ![]() ![]() ![]() 5. Создайте инструменты для программного чтения/установки значения строкового параметра «Лекция 1». Для этого добавьте на форму элемент Label со значением «Параметр «Лекция 1», элемент TextBox c параметром Name = txtbLecture1 и два элемента Button с указанными ниже параметрами: Name = btnGetValueLecture1 Name = btnSetValueLecture1 Text = Получить текущее значение Text = Установить значение Обработчик события Click кнопки чтения значения параметра: ![]() ![]() ![]() ![]() 6. Создайте инструменты для программного чтения/установки значения параметра dword «Result». Для этого добавьте на форму элемент Label со значением «Параметр «Result» и элемент numericUpDown c параметром Name = nudSetResult ![]() В обработчик события Shown экранной формы добавьте код чтения исходного значения параметра Result, а в обработчик события ValueChanged элемента nudSetResult – код модификации параметра. ![]() Выполните проверку работы созданных инструментов. ![]() Убедитесь, что без явного указания типа при установке нестрокового параметра, выполнится преобразование типа, и параметр Result станет строковым. Для этого удалите RegistryValueKind из строки, запустите программу, измените значение параметра и проверьте тип Result, зафиксированные в реестре. ![]() ![]() После проверки восстановите в коде параметр RegistryValueKind. ![]() 7. Создайте инструменты для удаления созданных параметров и ключей. Для этого добавьте на форму три элемента Button с указанными ниже параметрами и обработчиками события Click: Name = btnDeleteResult Text = Удалить параметр Result ![]() ![]() Выполните проверку работы созданных инструментов. ![]() ![]() ![]() Выполните проверку работы этого кода. ![]() ![]() Программа больше не крашится, после нескольких нажатий на «Удалить параметр Result». Разработайте код проверки при удалении ключей Lecture и AdmPPO. ![]() Подобной проверкой исправлены методы btnGetValueLecture1_Click ![]() Чтобы программа не крашилась, если еще нет никаких ключей. Ссылка на репозиторий: https://github.com/dmitriy-belkin/RegistryWork 3.2. РАЗРАБОТКА МОДЕЛИ УСЛОВНО-БЕСПЛАТНОЙ ПРОГРАММЫ Разработайте приложение, имеющее ограниченное количество запусков. Технология выполнения: При первом запуске программа должна в разделе KEY_Current_User\Software\Фамилия создать параметр типа Dword с именем RunCount и значением 1. Далее при каждом запуске необходимо считывать этот параметр и увеличивать его на 1. Если количество запусков программы не превышает заданного, то вывести сообщение о количестве оставшихся запусков, иначе запретить использование программы. Отчет должен содержать скрины экранов, демонстрирующие работу программы, скрины редактора реестра и листинг программы. ![]() ![]() ![]() ![]() ![]() Задаём количество RunCount ![]() ![]() ![]() ![]() |