Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
??-?????5_???? сеев_Куров.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
670.72 Кб
Скачать

15.9 Лабораторная работа n3. Работа с бинарным файлом с использованием таблицы DataGridView

В рамках третьей лабораторной работы выполняется задание по обработке бинарного файла, при этом для отображения информации, хранящейся в файле, предусматривается использование в качестве элемента интерфейса таблицы DataGridView. Выбор конкретной операции по обработке файла целесообразно выполнять с помощью пунктов меню (элемент MenuStrip). Выбор имени файла при открытии и сохранении удобно выполнять с помощью диалоговых окон (элементы OpenFileDialog и SaveFileDialog). Создание меню, использование диалоговых окон для выбора файлов рассмотрены в предыдущем разделе. Здесь необходимо рассмотреть элемент интерфейса DataGridView. Материал по работе с бинарными файлами изложен в предыдущей части пособия [4].

Компонент находится в списке Data палитры компонентов. Элемент интерфейса DataGridView представляет собой таблицу, предназначенную для отображения данных различных типов, причем элементы могут располагаться в нескольких столбцах. Доступ к ячейкам осуществляется путем указания двух индексов ячейки таблицы, причем первый индекс указывает номер столбца, а второй индекс – номер строки. Индексы указываются в квадратных скобках, нумерация начинается с нулей, например, dataGridView1[0,0]. У ячейки есть свойство Value – значение, представленное в ячейке. Данные, представляемые в таблице, принадлежат к строковому типу (String ^).

Свойства RowCount и ColumnCount определяют количество строк и столбцов в таблице. Для таблицы определено свойство Columns – все столбцы таблицы, при этом можно обращаться к конкретному i-ому столбцу Columns[i]. Для столбца определено свойство HeaderText, задающее текст заголовка столбца, например, dataGridView1->Columns[2]->HeaderText="Фамилия";. С помощью свойства Width (ширина) столбца можно задавать ширину каждого столбца, например, dataGridView1->Columns[1]->Width=100;.

Аналогично определено свойство Rows – все строки таблицы, при этом можно обращаться к конкретной j-ой строке Rows[j]. Для строки определено свойство HeaderCell – ячейка заголовка строки, содержимому которой Value можно присвоить некоторое значение: dataGridView1->Rows[0]->HeaderCell->Value=”Строка 1”;. Для каждой строки можно устанавливать ее высоту с помощью свойства Height: dataGridView1->Rows[j]->Height=30;. Можно установить ширину ячеек, задающих заголовки строк с помощью свойства RowHeadersWidth, например, dataGridView1->RowHeadersWidth=100;

Для просмотра таблицы с большим количеством строк надо установить полосу вертикальной прокрутки, для этого используется свойство ScrollBars, которое может принимать следующие значения None (отсутствие полос прокрутки), Both (наличие обеих полос прокрутки), Horizontal (горизонтальная полоса прокрутки), Vertical (вертикальная полоса прокрутки).

Порядок выполнения лабораторной работы.

1. Создать макет формы, разместив на ней следующие компоненты

- DataGridView – для отображения и редактирования содержимого файла (это визуальный компонент, отображаемый на макете формы прямоугольником),

- MenuStrip – для создания меню работы с файлами (этот компонент представляет синей полосой на макете формы непосредственно под заголовком окна полосой место размещения строки меню),

- OpenFileDialog – для использования стандартного диалога открытия файла (это невизуальный компонент),

- SaveFileDialog – для использования стандартного диалога сохранения файла (это невизуальный компонент).

2. Создать меню. В строке меню на макете формы в раскрывшемся списке корневому пункту меню дать имя Файл. Щелкнуть на очередном прямоугольнике меню, при этом появляются новые пункты ниже и справа. В текущем прямоугольнике набрать очередной пункт меню, например, Создать. Полный перечень пунктов меню может быть следующим: Создать, Открыть, Сохранить, Работа1, Работа 2, Очистить, Выход.

Для пунктов меню текст, отображаемый при работе программы войдёт (без пробелов и без некоторых небуквенных символов) в имя объекта, если этот текст вводить так, как описано в предыдущем замечании, и не войдёт, если сначала выбрать из списка готовящегося пункта меню строку MenuItem, а затем в поле Text на вкладке Properties ввести отображаемое имя.

3. Создать события и обработчики событий для каждого пункта меню. Для создания события (в данном случае – выбор очередного пункта меню) следует выбрать очередной пункт меню и на вкладке Events окна Properties выбрать событие Click сделать двойной щелчок в поле справа. Событие можно создать и другим способом: выполнить двойной щелчок на выбранном пункте меню.

4. Создать события и обработчики таких событий, как создание формы, изменение размеров формы.

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

struct stud{

int nom;

char fam[11];

char grup[11];

nt oc[3];

};