Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка ЛР по ОС.doc
Скачиваний:
3
Добавлен:
04.05.2019
Размер:
735.23 Кб
Скачать

Создание mdi оболочки приложения. Определение структур данных в соответствии с заданием

4.1.1Создание mdi оболочки приложения

Перед созданием проекта, создайте каталог для будущего проекта. Рекомендуется организовать следующую иерархию каталогов: «d:\Os\<Группа>\<Фамилия>\<Проект>», где:

<Группа>

- номер группы студента, например: IT353

<Фамилия>

- фамилия студента, например: Ivanov

<Проект>

- название проекта, например: CarDatabase

Следует обратить внимание, что для определения значений параметров должны использоваться только латинские буквы и цифры, а использование символа «пробел» запрещается.

Выполните команду File – New – Other. В появившемся окне выберите Projects – MDI Application и нажмите ОК. В появившемся окне укажите каталог для сохранения проекта и нажать ОК.

Далее произведём изменение заголовка приложения. Нажмите Shift+F12 для просмотра одной из автоматически созданных форм, рисунок 4.1. Выберите MainForm и нажмите ОК.

Рисунок 4.1 – Просмотр существующих форм приложения

Для изменения свойств объекта MainForm нажмите Alt+Enter, либо выделите в левой части окно «Object Inspector». В списке свойств объекта MainForm найдите свойство Caption, введите в нём имя Вашего приложения и нажмите Enter. Запустите приложение клавишей F5, либо нажатием на панели инструментов кнопки .

4.1.2Определение структур данных

В соответствии с пунктом 3 «Общих требований» необходимо определить структуры хранения данных таблиц. Описание структур данных необходимо производить в отдельном файле. Для этого выполните File – New – Other. В появившемся окне выбрать New – Header File и нажать ОК. Сохранить созданный файл File – Save As с именем StructDef.h (описание структур). Добавить созданный файл в проект командой Project – Add to Project.

    1. Описание структур данных в соответствии с заданием

#pragma once // Запрещает дублированное подключение .h файла

// Описание структр для чтения из и записи в файлы

#pragma pack(1) // Включает однобайтовое выравнивание структур в памяти

struct stDiscipline

{

stDiscipline() { memset(this, 0x0, sizeof(stDiscipline)); }

unsigned int No; // Номер дисциплины

char Name[20]; // Название дисциплины

char Teacher[50]; // Преподаватель

unsigned char Term; // Семестр

};

struct stStudent

{

stStudent() { memset(this, 0x0, sizeof(stStudent)); }

char No[10]; // Номер студенческого билета

char Fio[50]; // ФИО

char GroupNo[10]; // Номер группы

double Birthday; // Дата рождения

char Address[20]; // Адрес

int PhotoLen; // Длина поля фото

};

struct stD_S

{

stD_S() { memset(this, 0x0, sizeof(stD_S)); }

unsigned int DisciplineNo; // Номер дисциплины

char StudentNo[10]; // Номер студенческого билета

unsigned char Mark; // Оценка

};

#pragma pack() // Отключает выравнивание структур

// Конец описания структур для чтения из и записи в файлы

// Описание структур для ОСНОВНОЙ работы с данными в памяти приложения

class TDiscipline

{

public:

TDiscipline() { No = Term = 0; }

unsigned int No; // Номер дисциплины

AnsiString Name; // Название дисциплины

AnsiString Teacher; // Преподаватель

unsigned char Term; // Семестр

};

class TStudent

{

public:

TStudent() { Photo = new Graphics::TBitmap(); }

~TStudent() { delete Photo; }

AnsiString No; // Номер студенческого билета

AnsiString Fio; // ФИО

AnsiString GroupNo; // Номер группы

TDateTime Birthday; // Дата рождения

AnsiString Address; // Адрес

Graphics::TBitmap *Photo; // Фото - массив байт

};

class TD_S

{

public:

TD_S() {DisciplineNo = Mark = 0; }

unsigned int DisciplineNo; // Номер дисциплины

AnsiString StudentNo; // Номер студенческого билета

unsigned char Mark; // Оценка

};

Множество выше описанных структур следует логически разбить на два класса. Первый класс структур, описанных в блоке #pragma pack(1) – #Pragma pack() и начинающихся с приставки «st», – предназначен для записи и чтения данныхиз файлов формата .tbl на жёстком диске. Второй класс структур, начинающихся с приставки «Т», – предназначен для работы с данными (строками таблиц), расположенными непосредственно в памяти приложения.