Читайте также:
|
|
Задача.
Ваша группа хранит данные о результатах экзамена в файле с произвольным (прямым) доступом.
|
Файлы произвольногодоступа – это провозвестники файлов баз данных. В этих типах файлов применяется особая структура данных – пользовательский тип данных. Он содержит компоненты разного типа данных.
Структуру данных (пользовательский тип данных) называют записью, а компоненты этой структуры – полямизаписи.
Базаданных – это множество единообразных записей.
Для открытия файла используется оператор
Open ИмяФайла For Random As #ДискрипторФайла Len =ДлинаЗаписи
Запись в файл
Put # ДискрипторФайла, НомерЗаписи, ИмяПеременной
Чтение из файла
Get # ДискрипторФайла, НомерЗаписи, ИмяПеременной
è Откройте приложение MS Excel.
è Выполните команду СервисàМакросàРедактор Visual Basic или нажмите < Alt+F11 >.
è Добавьте форму (команда Insertà UserForm)
è Для изменения размеров формы используйте указатель мыши помещённый в правый нижний угол окна Формы(UserForm)
è Разработайте пользовательский интерфейс, расположив на форме с помощью панели инструментов управления ( ViewàToolBox ), следующие объекты управления: Label (Метка), TextBox (Текстовое поле), CommandButton (Командная кнопка), ListBox (Список).
è В окне Properties (Свойства) для каждого объекта управления установить свойства, приведённые в таблице 7.
Таблица 7
Элемент управления | Свойства | Значения |
UserForm | Caption | Произвольный доступ |
Label1 | Caption | В группе |
Label2 | Name | lblKolichestvoZapisei |
Label3 | Caption | Фамилия И О |
ListBox1 | Name | lstFIO |
Label4 | Caption | Группа |
ListBox1 | Name | lstGroup |
Label5 | Caption | Оценка |
ListBox1 | Name | lstOtsenka |
CommandButton1 | Name | cmdVvodSpiskaStudentov |
Caption | Ввод | |
CommandButton2 | Name | cmdChtenieIzFaila |
Caption | Чтение из файла |
è Примерный интерфейс программы может выглядеть так:
База данных содержит всего одну таблицу — сведения о студентах. Каждая строка этой таблицы представляется собой упорядоченный набор следующих значений:
· Фамилия И.О. — строка (тип String) до 20 символов;
· ДатаРождения — данное типа String до 4;
· Группа — строка длиной до 5 символов;
· Оценка — 1 символ.
Каждая запись будет состоять из 30 символов.
Создадим свой тип данных
è Код программы
Private Type Dannye
FIO As String * 20
GodRozhdenija As String * 4
Group As String * 5
Otsenka As Byte
End Type
Dim Student As Dannye
Dim DlinaZapisi As Integer
Dim KolichestvoZapisei As Integer
Private Sub Form_Load()
DlinaZapisi = Len(Student)
Open "Database.dbf" For Random As #1 Len = Len(Student)
KolichestvoZapisei = LOF(1) \ DlinaZapisi
lblKolichestvoZapisei = Str(KolichestvoZapisei) + " Äзаписей"
Close #1
End Sub
Private Sub cmdVvodSpiskaStudentov_Click()
Dim i As Integer
Dim Kolichestvo As Integer
DlinaZapisi = Len(Student)
Open "Database.dbf" For Random As #1 Len = Len(Student)
KolichestvoZapisei = LOF(1) \ DlinaZapisi
Kolichestvo = InputBox("Введите количество записей", Ä"Ввод числа", 0)
If Kolichestvo = 0 Then Exit Sub
For i% = 1 To Kolichestvo
Student.FIO = InputBox("Введите фамилию студента", Ä"Ввод данных о студенте")
Student.GodRozhdenija = InputBox("Введите год Äрождения студента", "Ввод данных о студенте")
Student.Group = InputBox("Введите группу студента", Ä"Ввод данных о студенте")
Student.Otsenka = InputBox("Введите оценку Äстудента", "Ввод данных о студенте")
Put #1, i + KolichestvoZapisei, Student
Next
Close #1
End Sub
Private Sub cmdChtenieIzFaila_Click()
Dim i As Integer
lstFIO.Clear
lstGroup.Clear
lstOtsenka.Clear
DlinaZapisi = Len(Student)
Open "Database.dbf" For Random As #1 Len = ÄDlinaZapisi
KolichestvoZapisei = LOF(1) \ DlinaZapisi
i = 1
Do While i <= KolichestvoZapisei
Get #1, i, Student
lstFIO.AddItem Student.FIO
lstGroup.AddItem Student.Group
lstOtsenka.AddItem Student.Otsenka
i = i + 1
Loop
Close #1
End Sub
è Перед запуском программы сохраните файл под именем «Прямой доступ»
è Составьте список из 20 фамилий студентов вашей группы.
è Измените код программы так, чтобы на форму выводились фамилии студентов, сдавших экзамен на «4» и «5»
Дата добавления: 2015-10-28; просмотров: 114 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Практическое занятие №7. Файлы. Последовательный доступ | | | Программирования циклов |