КАТЕГОРИИ:
АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника
|
Практическое занятие №8. Файлы с произвольным доступомЗадача.
Файлы произвольногодоступа – это провозвестники файлов баз данных. В этих типах файлов применяется особая структура данных – пользовательский тип данных. Он содержит компоненты разного типа данных. Структуру данных (пользовательский тип данных) называют записью, а компоненты этой структуры – полямизаписи. Базаданных – это множество единообразных записей.
Для открытия файла используется оператор 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
è Примерный интерфейс программы может выглядеть так: База данных содержит всего одну таблицу — сведения о студентах. Каждая строка этой таблицы представляется собой упорядоченный набор следующих значений: · Фамилия И.О. — строка (тип 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»
|