ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 12.01.2024
Просмотров: 19
Скачиваний: 1
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
Министерство образования и науки Республики Дагестан
Государственное бюджетное профессиональное образовательное учреждение
«Аграрно-экономический колледж»
ОДОБРЕНО УТВЕРЖДАЮ
Предметной (цикловой) комиссией зам. Директора по УПР
Общепрофессиональных дисциплин ____________/А.И.Агамирзаев/
Протокол № __от «___» ___ 2021 г. Подпись /ФИО
Председатель П(Ц)К
_______________ /_Аджиева З.А.___ «___»__________ 2021 г.
Подпись /Ф.И.О
ИНСТРУКЦИОННАЯ КАРТА
Лабораторно практическое занятие №7
МДК 01.02: Прикладное программирование.
Наименование работы: Разработка кода программного модуля с настройкой виджетов Delphiи созданием подкласса QWidget. Отладка и тестирование программы на уровне модуля.
2022
ГБПОУ «Аграрно-экономический колледж»
Инструкционная - технологическая карта № 7
Практического занятия МДК 01.02: Прикладное программирование.
Тема: Создание пользовательских виджетов.
Наименование работы: Разработка кода программного модуля с настройкой виджетов Delphiи созданием подкласса QWidget. Отладка и тестирование программы на уровне модуля.
Цель занятия: Получить навыки работы с компонентами для создания диалоговых окон
Приобретаемые компетенции: ПК.1.1 Выполнять разработку спецификации отдельных компонентов. ПК.1.2 Осуществлять разработку кода. ПК.1.3 Выполнять отладку программных модулей.
Норма времени: 2 часа.
Место проведения: Лаборатория программирования №
Оснащение рабочего места: Компьютер, Инструкционная карта.
Основные требования по технике безопасности на рабочем месте:
выполнять требования по технике безопасности, пожарной безопасности, инструкций настоящего руководства;
беспрекословно выполнять требования преподавателя (лаборанта);
в случае обнаружения неисправности компьютера заявить об этом преподавателю.
Требования безопасности перед началом работы:
включение ПЭВМ и других электроприборов производится только с разрешением преподавателя.
Контрольные вопросы при допуске к работе:
-
В каких случаях используется OPenDialog? -
В каких случаях используется SaveDialog? -
Основные свойства OPenDialog? -
Основные свойства SaveDialog?
Пояснения к работе:
Выбора имени файла используются в процессах открытия и сохранения файла. Часто эти диалоги называют также диалогами открытия/сохранения файла, хотя на самом деле они позволяют только выбрать имя файла, а все действия по открытию или сохранению файла программируются вручную.
Компонент OpenDialog реализует диалог открытия файла. При запуске этого диалога появляется окно (см. скриншот), в котором можно выбрать имя открываемого файла. В случае успешного закрытия диалогового окна (нажатием кнопки Open) в качестве результата возвращается выбранное имя файла.
Компонент SaveDialog предлагает стандартный диалог сохранения файла, который отличается от диалога открытия файла только своим заголовком.
Далее перечислены основные свойства компонентов OpenDialog и SaveDialog.
FileName типа String — указывает имя и полный путь файла, выбранного в диалоге. Имя файла отображается в строке редактирования списка Имя файла и является результатом диалога.
Title типа String— задает заголовок окна. Если свойство Title не установлено, то по умолчанию используется заголовок Open для OpenDialog и заголовок Save — для SaveDialog.
InitiaLDir типа String— определяет каталог, содержимое которого отображается при вызове диалогового окна. Если каталог не задан, то отображается содержимое текущего каталога.
DefaultExt типа String — задает расширение, автоматически используемое в имени файла, если пользователь не указал расширение.
Filter типа String— задает маски имен файлов, отображаемых в раскрывающемся списке Тип файлов. В диалоговом окне видны имена файлов, совпадающие с указанной маской (см. скриншот) это файл с расширением jpeg). По умолчанию значением Filter является пустая строка, что соответствует отображению имен файлов всех типов.
FilterIndex типа Integer — указывает, какая из масок фильтра отображается в списке. По умолчанию свойство FilterIndex имеет значение 1 (используется первая маска).
Постановка задачи
Добавляем на Форму оба Delphi диалога, текстовый редактор Memo, и три кнопкиButton. В свойство Caption одной из них записываем "Открыть...", другой - "Сохранить", третьей - "Сохранить как..."
В обработчике OnClick кнопки "Открыть..." пишем:
if OpenDialog1.Execute then
Memo1.Lines.LoadFromFile(OpenDialog1.FileName);
В результате выбора файла свойство FileName компонента OpenDialog получает значение полного адреса выбранного файла, который мы и вставляем в функцию загрузки файла компонента Memo.
Всё это хорошо, но только в данном случае, когда записанное выражение записывается в одну строку. Если программа использует несколько раз выражение OpenDialog1.FileName, то писать руками устанешь. В Delphi для такого случая есть так называемый "оператор присоединения" with. Он используется для любых объектов, имеющих длинный "хвост" из свойств, которые приходится записывать многократно. Вот как он записывается:
with Объект do
begin
end;
Свойства Объекта внутри логических скобок begin/end можно записывать непосредственно. Допускается перечислять через запятую несколько объектов. Естественно, в случае, когда внутри скобок находится один оператор, они необязательны. Перепишем фрагмент загрузки файла с использованием оператора присоединения:
with OpenDialog1, Memo1 do
if Execute then
Lines.LoadFromFile(FileName);
Запись получается более компактной.
Так как свойства компонентов OpenDialog и SaveDialog одинаковы, сохранение текста выглядит абсолютно аналогично. Создаём обработчик нажатия кнопки "Сохранить как..." и пишем:
with SaveDialog1, Memo1 do
if Execute then
begin
Lines.SaveToFile(FileName);
OpenDialog1.FileName:=FileName; // Чтобы исправленный текст не затёр источник
end;
Наконец, для кнопки "Сохранить" пишем:
Memo1.Lines.SaveToFile(OpenDialog1.FileName); // Сохраняем туда, откуда считали
(В предыдущей строчке была ошибка. Как справедливо заметил в комментариях Oraculum -OpenDialog1.FileName нужно писать без кавычек.)
При работе этих фрагментов можно заметить, что выбирать приходится из всех файлов в нужной директории. Удобнее видеть только, например, текстовые файлы, или другой тип файлов по нашему выбору. Для этого используются фильтры, свойство
Filter в наших компонентах. Настраивается оно в Инспекторе Объектов. При выборе его можно перейти в редактор фильтров:
| | В колонке FilterName записываем имена фильтров, в колонке Filter - список масок файлов, разделённых точкой с запятой. Маска файла в данном случае выглядит как * . расширение_файла ; Звёздочка означает, что выбираются файлы с любыми именами, подходящие по расширению. |
Свойство Delphi диалогов Title позволяет записать в заголовок нужную нам фразу. Если оставить его пустым, то в заголовке будут стандартные "открыть" или "сохранить"
Свойство InitialDir позволяет в момент открытия оказаться в нужной нам директории. Оно доступно как на этапе "конструирования", так и программно.