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

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

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

Добавлен: 12.01.2024

Просмотров: 77

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