ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 12.01.2024
Просмотров: 75
Скачиваний: 1
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
Министерство образования и науки Республики ДагестанГосударственное бюджетное профессиональное образовательное учреждение«Аграрно-экономический колледж»ОДОБРЕНО УТВЕРЖДАЮПредметной (цикловой) комиссией зам. Директора по УПРОбщепрофессиональных дисциплин ____________/А.И.Агамирзаев/Протокол № __от «___» ___ 2021 г. Подпись /ФИОПредседатель П(Ц)К_______________ /_Аджиева З.А.___ «___»__________ 2021 г.Подпись /Ф.И.ОИНСТРУКЦИОННАЯ КАРТА Лабораторно практическое занятие №7МДК 01.02: Прикладное программирование.Наименование работы: Разработка кода программного модуля с настройкой виджетов Delphiи созданием подкласса QWidget. Отладка и тестирование программы на уровне модуля.2022ГБПОУ «Аграрно-экономический колледж»Инструкционная - технологическая карта № 7Практического занятия МДК 01.02: Прикладное программирование.Тема: Создание пользовательских виджетов.Наименование работы: Разработка кода программного модуля с настройкой виджетов Delphiи созданием подкласса QWidget. Отладка и тестирование программы на уровне модуля.Цель занятия: Получить навыки работы с компонентами для создания диалоговых оконПриобретаемые компетенции: ПК.1.1 Выполнять разработку спецификации отдельных компонентов. ПК.1.2 Осуществлять разработку кода. ПК.1.3 Выполнять отладку программных модулей.Норма времени: 2 часа.Место проведения: Лаборатория программирования №Оснащение рабочего места: Компьютер, Инструкционная карта.Основные требования по технике безопасности на рабочем месте:выполнять требования по технике безопасности, пожарной безопасности, инструкций настоящего руководства;беспрекословно выполнять требования преподавателя (лаборанта);в случае обнаружения неисправности компьютера заявить об этом преподавателю.Требования безопасности перед началом работы:включение ПЭВМ и других электроприборов производится только с разрешением преподавателя.Контрольные вопросы при допуске к работе:
Пояснения к работе:Выбора имени файла используются в процессах открытия и сохранения файла. Часто эти диалоги называют также диалогами открытия/сохранения файла, хотя на самом деле они позволяют только выбрать имя файла, а все действия по открытию или сохранению файла программируются вручную.Компонент 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 в наших компонентах. Настраивается оно в Инспекторе Объектов. При выборе его можно перейти в редактор фильтров:
Свойство Delphi диалогов Title позволяет записать в заголовок нужную нам фразу. Если оставить его пустым, то в заголовке будут стандартные "открыть" или "сохранить" Свойство InitialDir позволяет в момент открытия оказаться в нужной нам директории. Оно доступно как на этапе "конструирования", так и программно.
-
В каких случаях используется 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 - список масок файлов, разделённых точкой с запятой. Маска файла в данном случае выглядит как * . расширение_файла ; Звёздочка означает, что выбираются файлы с любыми именами, подходящие по расширению. |