Практическая работа по теме Приемы работы с различными источниками данных 1 Задание Элементы управления MainMenu, OpenFileDialog и SaveFileDialog 1




Скачать 329.88 Kb.
страница1/6
Дата14.07.2016
Размер329.88 Kb.
  1   2   3   4   5   6

МЕЖДУНАРОДНЫЙ БАНКОВСКИЙ ИНСТИТУТ

INTERNATIONAL BANKING INSTITUTE

Практическая работа по теме 5. Приемы работы с различными источниками данных


Элементы управления MainMenu, OpenFileDialog и SaveFileDialog. Чтение данных из текстовых файлов. Запись данных в текстовые файлы. Работа с типизированными файлами. Использование не типизированных файлов (файлов последовательного доступа). Действия над файлами. Абстрактный класс Stream для работы над блоками данных. Действия над каталогами. Поиск файла, содержащего определенный текст (объект класса FileStream). Рекурсивная обработка файлов.




Практическая работа по теме 5. Приемы работы с различными источниками данных 1

Задание 1. Элементы управления MainMenu, OpenFileDialog и SaveFileDialog 1

Задание 2. Чтение данных из текстового файла 5

Задание 3. Запись данных в текстовый файл 9

Задание 4. Работа с типизированными файлами 11

Задание 5. Использование не типизированных файлов (файлов последовательно доступа) 16

Задание 6. Действия над файлами 20

Задание 7. Абстрактный класс Stream для работы с блоками данных 24

Задание 8. Действия над каталогами 27

Задание 9. Поиск файла, содержащего определенный текст (объект класса FileStream) 30

Задание 10. Рекурсивная обработка файлов 32


При создании полноценных приложений обычно необходимо обеспечить возможность сохранять результаты трудов пользователя в перерывах между сеансам работы. Платформа Microsoft.NET предоставляет программистам богатый набор объектов, позволяющих получать информацию о файловой системе, перемещать и удалять файлы и каталоги, создавать текстовые и двоичные файлы и даже следить за изменением конкретных каталогов. Среди инструментария для работы с файлами и папками в .NET имеются стандартные элементы управления, классы и общие методы.

Задание 1. Элементы управления MainMenu, OpenFileDialog и SaveFileDialog

Задача


Исследовать функциональность элементов управления MainMenu, OpenFileDialog и SaveFileDialog, предназначенных для формирования многодокументных приложений (MDI – multi document interface).

Решение


Сконструировать MDI-приложение с применением элемента MainMenu. Использовать метод ShowDialog элементов OpenFileDialog и SaveFileDialog, свойства FileNames, Filter, InitialDirectory, MultiSelect, позволяющие организовать диалог пользователя при выборе папок и файлов.

Обсуждение


Элемент управления MainMenu предназначен для создания в приложении главного меню (рис. 5.1). Чтобы создать главное меню, прежде всего, необходимо разместить один элемент типа MainMenu на форме приложения. При этом на самой форме элемент не отображается, но под ней появляется область, содержащая значок элемента MainMenu.

Рассмотрим технологию работы с дочерними формами MDI (Multi Document Interface) приложения.



  1. У родительской формы следует установить свойство Me.IsMDIContainer=TRUE (по умолчанию свойство равно False). Форма после установления свойства в значение True изменит свой внешний вид, теперь это контейнер, содержащий только другие формы, но не собственные элементы управления.

  2. Добавить в форму элемент управления MainMenu.

  3. В меню родительской создать пункт (например, Windows) из которого можно будет открывать дочерние окна, и управлять их расположением (рис.5.1).

Рис. 5.1. Меню MDI-приложения



  1. Для того чтобы список заголовков открытых окон автоматически формировался в пункте Windows необходимо установить у пункта меню Windows свойство MDIList=True. В этом случае меню будет выглядеть как на рис. 5.2.

Рис. 5.2. Открытые окна MDI-приложения



  1. Для каждого пункта меню, открывающего соответствующее дочернее окно, ввести в процедуру обработки следующий код:

    Private Sub MenuItem2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuItem2.Click

    Dim f1 As New Form1

    f1.MdiParent = Me

    f1.Show()

    End Sub

  2. Упорядочивание открытых дочерних окон выполняется установкой соответствующего свойства у метода MDI-формы LayoutMdi. Пример установки одного из свойств (для расположения окон каскадом – MdiLayout.Cascade) приведен ниже.

Private Sub MenuItem7_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuItem7.Click

Me.LayoutMdi(MdiLayout.Cascade)

End Sub

Самостоятельно


Сконструируйте MDI-приложение, состоящее из родительской формы с главным меню и нескольких дочерних окон, которые открываются из соответствующих пунктов главного меню. В меню необходимо реализовать возможность автоматической организации списка заголовков открытых окон, расположения открытых окон всеми возможными способами (каскадом, без перекрытия, горизонтально, вертикально).

Элементы управления OpenFileDialog и SaveFileDialog предназначены для отображения стандартных диалоговых окон открытия и сохранения файлов. Объекты типа OpenFileDialog и SaveFileDialog, как и другие не визуальные элементы управления, во время разработки отображаются в специальной области под формой приложения (туда их должен разместить программист).

При вызове метода ShowDialog() диалоговое окно активизируется. Если пользователь отменяет операцию работы, с диалоговым окном нажав клавишу Cancel (Отмена), то метод возвращает значение DialogResult.Cancel. Если операция заканчивается успешно, то имя открываемого (сохраняемого) файла записывается в качестве значения свойства FileName объекта OpenFileDialog (SaveFileDialog), метод ShowDialog() возвращает значение DialogResult.Ok.

Приведем пример кода, учитывающего эту ситуацию:



Dim File as string

if OpenFileDialog1.ShowDialog()=DialogResult.OK then File=OpenFileDialog1.FileName

В переменной File содержится строка, представляющая полное имя выбранного пользователем файла.

Часто встречается ситуация, когда пользователю разрешается выбрать не один, а несколько файлов, например, для копирования или удаления (свойство OpenFileDialog1.MultiSelect=True). В этом случае, имена всех выбранных пользователем файлов сохраняются в свойстве-массиве FileNames(), который можно читать с помощью цикла, например For ..next (элементы нумеруются с нуля).

Свойство MultiSelect можно установить программным образом или в конструкторе формы в списке свойств элемента OpenFileDialog1. Таким же образом (в коде программы или в списке свойств объекта) можно установить свойство Filter, например, SaveFileDialog.Filter=”текстовые файлы|*.txt|другие документы|*.doc”. Это свойство позволит просматривать только файлы указанного типа.

Самостоятельно


В одной из форм MDI приложения, созданного в предыдущем задании, поместите пункт меню, позволяющий выбирать файлы (OpenFile) для просмотра. Список выбранных пользователем файлов формируйте в элементе List, помещенном в форме (рис. 5.3). Установите свойство OpenFileDialog=True и организуйте запись в список одновременно всей группы выбранных файлов. Используйте свойство InitialDirectory для установки начального каталога при просмотре.

Добавьте в меню поиск отдельно текстовых файлов, отдельно графических. Программным способом установите соответствующие фильтры для элемента OpenFileDialog.

На рис. 5.3 показан пример формирования динамического главного меню (пункты меню появляются по мере необходимости). Этот эффект достигается, если при выборе одного из пунктов меню другие сделать невидимыми. Доступность меню регулируется свойством Visible объекта MenuItem (значения True или False).

Private Sub MenuItem2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuItem2.Click

Dim fr As New Form4

fr.MdiParent = Me

fr.Show()

MenuItem1.Visible = False

End Sub


Рис. 5.3. Динамическое главное меню


  1   2   3   4   5   6


База данных защищена авторским правом ©uverenniy.ru 2016
обратиться к администрации

    Главная страница