Выполнение лабораторной работы




Создание и обработка файлов

Задание:

1) На основе данных, вводимых в форму (рис.3.1), создать файл прямого доступа, содержащий сведения о студентах.

2) Вывести данные из файла в форму (рис.3.2)

3) Объединить выполнение пунктов заданий 1) и 2) с помощью кнопочного меню (рис 3.3) в одно приложение.

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

5) Используя лекционный материал, создать вложенное меню для выполнения всех процедур приложения.


 

Рис 3.1. Форма для ввода в файл сведений о студенте.

 

 
 

Рис.3.2. Форма для просмотра сведений о студенте.

 

 
 

Рис 3.3. Кнопочное меню приложения Университет.

 

Выполнение лабораторной работы

1. Выполнитьзапуск Visual Basic 6.

2. Создать новый проект. Изменить имя проекта Project1 (свойство Name) на Университет.

3. Сохранить проект в личной папке. Форму сохранить с именем FormStudent, проект – с именем University.

4. Изменить имя формы (свойство Name) на FormStudent, изменить имя окна формы (свойство Caption) на Студент. Задать положение формы на экране – в центре экрана (StartUpPosition 2 - CenterScreen), размер – 6500 (With) х5500 (Height), самостоятельно выбрать фон формы, стиль обрамления.

5. Выполнить размещение в форме Студент элементов управления.

5.1. Разместить элемент управления TextBox для ввода фамилии студента. Отрегулировать размеры и положение текстового поля в форме в соответствии с рис. 3.1. Присвоить элементу имя txtFIO (свойство Name), значение свойства Text удалить. Задать подсказку «Фамилия и инициалы студента», появляющуюся при установке указателя мыши на элемент txtFIO (свойство ToolTipText). Создать надпись к элементу txtFIO. Для этого над элементом txtFIO разместить элемент Label. Присвоить элементу имя lblFIO, свойству Caption – значение Фамилия И.О.

5.2. Разместить элемент управления TextBox для отображения номера зачетной книжки студента. В соответствии с рис. 3.1 отрегулировать размеры и положение текстового поля в форме. Присвоить элементу имя txtNomSt, значение свойства Text удалить. Значение номера зачетной книжки будет формироваться программно. Сделать поле не редактируемым, выбрав для свойства Locked значение True. Над элементом txtNomSt разместить элемент Label. Присвоить ему имя lblNomSt, свойству Caption – значение Номер зачетной книжки.

5.3. Разместить элемент управления TextBox для ввода адреса студента, отрегулировать размеры и положение текстового поля в форме в соответствии с рис. 3.1. Присвоить элементу имя txtAdr, значение свойства Text удалить и задать подсказку «Город, улица, номер дома и квартиры», появляющуюся при установке указателя мыши на элемент txtAdr. Над элементом txtAdr разместить элемент Label. Присвоить ему имя lblAdr, свойству Caption – значение Адрес.

5.4. Разместить элемент управления TextBox для ввода номера группы, отрегулировать размеры и положение текстового поля в форме в соответствии с рис. 3.1. Присвоить элементу имя txtNomGr, значение свойства Text удалить. Задать подсказку «Номер группы должен содержать не более четырёх цифр», появляющуюся при установке указателя мыши на элемент txtNomGr. Над элементом txtNomGr разместить элемент Label. Присвоить элементу имя lblNomGr, свойству Caption – значение Номер группы.

5.5. Разместить элемент управления ListBox для выбора специальности студента из списка специальностей. Отрегулировать размеры и положение списка в форме в соответствии с рис. 3.1. Присвоить элементу имя lstSp. Над элементом lstSp разместить элемент Label. Присвоить ему имя lblSp, свойству Caption – значение Специальность.

5.6. Сформировать список значений элемента lstSp. Для добавления элементов в список воспользоваться свойством List элемента lstSp. Значением свойства List должен быть список значений – названия специальностей: маркетинг, коммерция, прикладная информатика, управление качеством, менеджмент организации. Для ввода значения следует раскрыть список (кнопка ) в столбце значений в строке свойства List и затем добавить названия специальностей, располагая их в столбец. Чтобы упорядочить элементы списка по алфавиту, для свойства Sorted выбрать значение True. Выполнить запуск проекта и проверить работу элемента lstSp. Вернуться в режим отладки (кнопка End).

5.7. Добавить в форму элемент управление Frame (рамка). Отрегулировать его размеры и положение в форме в соответствии с рисунком 3.1. Присвоить элементу имя frmDr, свойству Caption – значение Дата рождения. Назначение элемента frmDr объединить элементы управления, с помощью которых вводятся день, месяц и год рождения студента.

5.8. Добавить в форму элементы управления для ввода дня даты рождения студента. Чтобы создать подпись к полю ввода дня следует разместить внутри рамки (элемент frmDr) элемент Label. Присвоить элементу имя lblDay, свойству Caption – значение День. В соответствии с рис. 3.1 изменить размеры и положение. Рядом с элементом lblDay разместить элемент управления TextBox. Отрегулировать размеры и положение текстового поля в форме, присвоить имя txtDay, значение свойства Text удалить. Значение элемента txtDay будем формировать с помощью элемента UpDown.

5.9. Элемент UpDown является стандартным элементом управления Micrisoft Windows. Для добавления этого элемента в блок инструментов (панель элементов управления) выбрать команду Project\Components. На вкладке Controls выбрать группу элементов Microsoft Windows Controls-2 6.0, нажать OK. Разместить элемент управления UpDown в элементе frmDr. Следующим свойствам элемента задать значения: свойству Name - UpDownDay, свойству BuddyControltxtDay, свойству Alignment1-cc2Alignment, свойству Min1, свойству Max31, свойству Increment1, свойству WrapFalse, свойству SyncBuddyTrue. Проверить работу элемента.

5.10. В рамке (frmDr) разместить элемент управления ComboBox (поле со списком). Отрегулировать размеры и положение списка в форме в соответствии с рис. 3.1. Присвоить элементу имя cmbBox. Значение свойства Text удалить. Рядом с элементом разместить Label. Надписи присвоить имя lblMonth, свойству Caption – значение Месяц.

5.11. Сформировать список значений элемента cmbMonth для выбора месяца рождения студента. Для добавления элементов в список воспользоваться методом AddItem. В окне проводника проекта (Project), щелкнуть по кнопке View Code. В окне редактора кода из списка Object выбрать объект Form, из списка Procedure – событие Load. Добавить в процедуру Form_Load() следующие строки:

cmbMonth.AddItem "январь"

cmbMonth.AddItem "февраль"

cmbMonth.AddItem "март"

cmbMonth.AddItem "апрель"

cmbMonth.AddItem "май"

cmbMonth.AddItem "июнь"

cmbMonth.AddItem "июль"

cmbMonth.AddItem "август"

cmbMonth.AddItem "сентябрь"

cmbMonth.AddItem "октябрь"

cmbMonth.AddItem "ноябрь"

cmbMonth.AddItem "декабрь"

5.12. Повторить действия п. 5.8,5.9 и самостоятельно разместить в рамке элементы управления для формирования значения года рождения студента и задать значения их свойствам. Элементу Label присвоить значение lblYear, элементу TextBoxtxtYear, элементу UpDownUpDownYear.

5.13. Разместить в форме группу элементов для выбора значения – пол студента. Добавить элемент Frame (Name - frmPol, Caption - Пол). В рамку добавить два элемента управления переключатель OptionButton, с помощью которых будет выбираться пол студента. Отрегулировать их размеры. Выделить элементы OptionButton и выровнять с помощью команд пункта меню Format\Align. Первому переключателю присвоить имя Opt1, свойству Caption – значение м, второму переключателю - имя Opt2, свойству Caption – значение ж. Установить значение свойства Value для переключателей. У переключателя Opt1 свойство Value должно иметь значение True, а у переключателя Opt2 – False.

5.14. Разместить элемент управления ChecBox (флажок) для ввода значения - вид обучения. Отрегулировать размеры и положение элемента, присвоить ему имя Check1, свойству Caption элемента задать значение Обучения коммерческое, для свойства Value выбрать значение 1-Checked.

5.15. Разместить в форме элемент CommandButton, присвоить элементу имя cmdSave, свойству Caption – значение Запись. Отрегулировать размеры и положение элемента.

6. Выделить элементы lblFio, lblNomSt, lblAdr, lblSp, lblNomGr, frmDr, frmPol (щелкнуть по первому элементу, а затем, удерживая клавишу Shift, выделить другие объекты) и задать значения свойствам Font и FontColor для выбранной группы элементов.

7. Разработать процедуру добавления в файл произвольного доступа с именем Student.dat сведений о студентах. Сведения о студенте вводятся с помощью формы Студент. Для этого необходимо выполнить следующие действия.

7.1. Добавить в проект стандартный модуль с описанием пользовательского типа RecordStud и объявлением переменных RecStud и nRecStud. Тип RecordStud описывает данные, которые будут храниться в записи файла. Переменная RecStud предназначена для хранения сведений записываемых в файл или считанных из него. Переменная nRecStud определяет номер текущей записи файла. Для добавления стандартного модуля в проект, следует в окне проекта выбрать в структуре проект Университет и из контекстного меню команду Add\Module. В окне Add Module на вкладке New выбрать шаблон Module, нажать OK. В окне редактора кода с заголовком Университет – Module1 в секции General ввести следующий текст:

Type RecordStud

NomSt As Integer

Fio As String * 20

Adr As String * 40

Pol As String * 1

DataR As Date

NomGr As Integer

Sp As String * 30

VidOpl As Boolean

End Type

Public RecStud As RecordStud

Public nRecStud As Integer

7.2. В окне проекта выбрать форму FormStudent и открыть окно редактора кодов с модулем формы.

7.3. В процедуру Form_Load() добавить строки:

Open "<путь к личной папке>\Student.dat" For Random As #1 Len = _ Len(RecStud)

nRecStud = LOF(1) / Len(RecStud) + 1

txtNomSt.Text = nRecStud

7.4. В модуль формы добавить процедуру SaveRecordStud. Так как эта процедура не связана с событиями имеющихся объектов, то для ее добавления в модуль выбрать команду Tools\Add Procedure. В окне команды ввести в поле Name имя процедуры SaveRecordStud, в группе Type выбрать тип процедуры Sub (подпрограмма), в группе Scope выбрать область действия Private (локальная), нажать OK. Ввести текст процедуры:

Private Sub SaveRecordStud()

RecStud.NomSt = nRecStud

RecStud.Fio = txtFIO.Text

RecStud.Adr = txtAdr.Text

If Opt1 = True Then

RecStud.Pol = "м"

ElseIf Opt2 = True Then

RecStud.Pol = "ж"

End If

mes = LTrim(Str(cmbMonth.ListIndex + 1))

way = LTrim(Str(UpDownDay.Value))

god = LTrim(Right(Str(UpDownYear.Value), 2))

RecStud.DataR = CDate(way + "." + mes + "." + god)

RecStud.NomGr = txtNomGr.Text

RecStud.Sp = lstSp.Text

If Check1.Value = 1 Then

RecStud.VidOpl = True

Else

RecStud.VidOpl = False

End If

Put #1, nRecStud, RecStud

nRecStud = nRecStud + 1

txtNomSt.Text = nRecStud

txtFIO.Text = ""

txtAdr.Text = ""

txtNomGr.Text = ""

UpDownDay.Value = 1

UpDownYear.Value = 1970

Opt1.Value = True

Opt2.Value = False

Check1.Value = 1

cmbMonth.Text = ""

End Sub

7.5. С событием Click командной кнопки CmdSave связать процедуру, вызывающую процедуру SaveRecordStud. Текст процедуры:

Private Sub CmdSave_Click()

SaveRecordStud

End Sub

8. Выполнить закрытие файла Student.dat при закрытии формы FormStudent. С событием Unload объекта Form связать процедуру:

Private Sub _Unload(Cancel As Integer)

Close #1

End Sub

9. Сохранить проект.

10. Создать новую форму (Name - FormMenu, Caption - Университет) командой контекстного меню Add\Form и разместить в ней управляющие элементы в соответствии с рис 3.2. Кнопке Создание присвоить имя cmdCr, кнопке ПросмотрcmdLst.

11. Сделать форму главной, открывающейся первой после запуска приложения. Для этого в окне проекта выбрать строку проекта и из контекстного меню выбрать команду Университет Properties. В окне команды на вкладке General выбрать из списка Startup Object значение FormMenu, нажать OK.

12. Связать с событием Click кнопки cmdCr процедуру отрытия формы FormStudent:

Private Sub cmdCr_Click()

FormStudent.Show

End Sub

13. Проверить работу приложения Университет по созданию файла Student.dat.

14. Создать новую форму (Name - FormStudLst, Caption Сведения о студентах) и разместить в ней следующие элементы управления, выбрав для них размеры и установив их положение в соответствии с рис. 3.3:

· поле txtFIO1 для вывода фамилии;

· поле txtAdr1для вывода фамилии студента;

· поле txtDr1 для вывода даты рождения;

· поле txtPol1для вывода пола студента;

· поле txtNomSt1для вывода номера зачетной книжки;

· поле txtNomGr1 для вывода номера группы;

· поле txtSp1 для вывода названия специальности;

· переключатель Check _1 для отображения вида обучения;

· кнопку CmdUp для вывода сведений о студенте из предыдущей записи файла;

· кнопку CmdDown для вывода сведений о студенте из следующей записи файла;

· надписи к полям: lblFIO1, lblAdr1, lblDr1, lblPol1, lblNomSt1, lblNomGr1, lblSp1.

15. С событием Load объекта Form связать следующую процедуру:

Private Sub Form_Load()

Open "<путь к личной папке>\Student.dat" For Random _

As #1 Len = Len(RecStud)

nRecStud = 1

ReadRecordStud

End Sub

16. В модуль формы добавить процедуру ReadRecordStqd:

Private Sub ReadRecordStqd()

Get #1, nRecStud, RecStud

txtFIO1.Text = RecStu`.Fio

txtAdr1.Text = RecStu`.Adr

txtNomSt1.Text = RecStu`.NomSt

txtPol1 = RecStu`.Pol

txtDr1 = RecStu`.DataR

txtNomGr1.Text = RecStu`.NomGr

txtSp1.Text = RecStu`.Sp

If RecStu`.VidOpl = True Then

Check_1.Value = 1

Else

Check_1.Value = 0

End If

End Sub

17. С событием Click кнопки cmdUp связать процедуру:

Private Sub CmdUp_Click()

If nRecStud > 1 Then

nRecStud = nRecStud - 1

ReadRecordStud

Else

MsgBox "Начало файла"

End If

End Sub

18. С событием Click кнопки cmdDown связать процедуру:

Private Sub CmdDown_Click()

If nRecStud < LOF(1) / Len(RecStud) Then

nRecStud = nRecStud + 1

ReadRecordStud

Else

MsgBox "Конец файла"

End If

End Sub

19. С событием Unload объекта Form связать процедуру.

Private Sub _Unload(Cancel As Integer)

Close #1

End Sub

20. Активизировать форму FormMenu и связать с событием Click кнопки cmdLst процедуру отрытия формы FormStudLst:

Private Sub cmdLst_Click()

FormStudLst.Show

End Sub

21. Сохранить проект.

22. Проверить работу приложения Университет на контрольном примере.

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-08-20 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: