Файл: Одобрено утверждаю.docx

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 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 часа.

Место проведения: Лаборатория программирования №

Оснащение рабочего места: Компьютер, Инструкционная карта.

Основные требования по технике безопасности на рабочем месте:

выполнять требования по технике безопасности, пожарной безопасности, инструкций настоящего руководства;

беспрекословно выполнять требования преподавателя (лаборанта);

в случае обнаружения неисправности компьютера заявить об этом преподавателю.

Требования безопасности перед началом работы:

включение ПЭВМ и других электроприборов производится только с разрешением преподавателя.

Контрольные вопросы при допуске к работе:

  1. В каких случаях используется OPenDialog?

  2. В каких случаях используется SaveDialog?

  3. Основные свойства OPenDialog?

  4. Основные свойства 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 позволяет в момент открытия оказаться в нужной нам директории. Оно доступно как на этапе "конструирования", так и программно.