Студопедия

КАТЕГОРИИ:

АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника


Практическое занятие №8. Файлы с произвольным доступом




Задача.

 

Ваша группа хранит данные о результатах экзамена в файле с произвольным (прямым) доступом.
  • Создайте произвольный файл по учёту результатов экзаменов. Храните в этом файле фамилию, год рождения, группу и оценку за экзамен. Для образца составьте файл на двадцать человек.
  • Выведите на форму фамилии тех студентов, оценка за экзамен которых «4» и «5»

 

Файлы произвольногодоступа – это провозвестники файлов баз данных. В этих типах файлов применяется особая структура данных – пользовательский тип данных. Он содержит компоненты разного типа данных.

Структуру данных (пользовательский тип данных) называют записью, а компоненты этой структуры – полямизаписи.

Базаданных – это множество единообразных записей.

 

Для открытия файла используется оператор

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»

 


Поделиться:

Дата добавления: 2014-11-13; просмотров: 237; Мы поможем в написании вашей работы!; Нарушение авторских прав





lektsii.com - Лекции.Ком - 2014-2024 год. (0.006 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав
Главная страница Случайная страница Контакты