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

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

Читайте также:
  1. HLA - система; классы антигенов, биологические функции, практическое значение HLA-типирования.
  2. Занятие 1. Комплексирование геофизических методов с целью повышения эффективности поиска нефтегазоперспективных объектов.
  3. Занятие 14 (частный курс).
  4. Занятие 2. Две модели отношений
  5. Занятие 2. Классическая логика высказываний.
  6. Занятие 20. Круговороты фосфора и серы
  7. Занятие 4. МЕЖДУНАРОДНО-ПРАВОВОЕ РЕГУЛИРОВАНИЕ ЭКОЛОГИЧЕСКИХ ПРАВ ЧЕЛОВЕКА.

Задача.

 

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

 


Дата добавления: 2015-10-28; просмотров: 114 | Нарушение авторских прав


Читайте в этой же книге: Ввод и вывод данных | Практическое задание №2. Линейное программирование | Практическое занятие №3. Программирование ветвлений | Практическая работа №4. Программирование повторений | Практическая работа №5. Работа с массивами | Практическая работа №6. Процедуры и функции | Программирование ветвлений | Второе задание |
<== предыдущая страница | следующая страница ==>
Практическое занятие №7. Файлы. Последовательный доступ| Программирования циклов

mybiblioteka.su - 2015-2024 год. (0.009 сек.)