Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
37
Добавлен:
07.06.2015
Размер:
680.45 Кб
Скачать

Тема: Файлы данных с произвольным доступом (База данных в VB6).

Задание: Разработать приложение-«Деканат»

Эскиз интерфейса

Программный код

Dim n, i, j As Integer

Private Type Успеваемость

Фамилия As String * 15

ОценкаПоИнформатике As String * 10

ОценкаПоФизике As String * 10

ОценкаПоХимии As String * 10

End Type

Public Sub Command1_Click()

Dim i, j As Integer, поле As String

n = Val(InputBox("Ввести длину списка", , "n="))

For i = 1 To n

For j = 0 To 3

Select Case j

Case 0: поле = "Фамилия"

Case 1: поле = "Оценка по информатика"

Case 2: поле = "Оценка по физика"

Case 3: поле = "Оценка по химия"

End Select

List(j).AddItem InputBox("ввести данные", , поле)

Next

Next

End Sub

Public Sub Command2_Click()

Dim Студент As Успеваемость, x As Integer

n = Val(InputBox("Ввести длину списка", , "n="))

x = Len(Студент)

Open "Студенты.raf" For Random As #1 Len = x

For i = 1 To n

Студент.Фамилия = List(0).List(i - 1)

Студент.ОценкаПоИнформатике = List(1).List(i - 1)

Студент.ОценкаПоФизике = List(2).List(i - 1)

Студент.ОценкаПоХимии = List(3).List(i - 1)

Put #1, i, Студент

Next

Close #1

End Sub

Private Sub Command3_Click()

End

End Sub

Private Sub Command4_Click()

Dim Студент As Успеваемость, x As Integer

x = Len(Студент): Print "x="; x

n = Val(InputBox("Ввести длину списка", , "n="))

Open "Студенты.raf" For Random As #1 Len = x

Print

List1.AddItem " Списки студентов у "

List1.AddItem "которых оценка по хиии 4 и 5"

List1.AddItem "________________________"

List1.AddItem "I № I" + " Фамилия I" + " Оценка I"

List1.AddItem "========================"

For i = 1 To n

Get #1, i, Студент

If Студент.ОценкаПоХимии > 3 Then

k = k + 1: List1.AddItem "I " & i & " I " & Студент.Фамилия _

& "I " & Студент.ОценкаПоХимии & " I "

End If

Next

List1.AddItem "========================"

Close #1

End Sub

Public Sub Command6_Click()

Dim Студент As Успеваемость, x As Integer

x = Len(Студент)

n = Val(InputBox("Ввести длину списка", , "n="))

Open "Студенты.raf" For Random As #1 Len = x

Print

For i = 1 To n

Get #1, i, Студент

List(0).AddItem Студент.Фамилия

List(1).AddItem Студент.ОценкаПоИнформатике

List(2).AddItem Студент.ОценкаПоФизике

List(3).AddItem Студент.ОценкаПоХимии

Next

Close #1

End Sub

Private Sub Command7_Click()

n1 = Val(InputBox("Ввести количество колонок в таблице", , "n="))

For i = 0 To n1 - 1

List(i).Clear

Next

End Sub

Private Sub Command8_Click()

List1.Clear

End Sub

Private Sub Command9_Click()

Dim Студент As Успеваемость, x As Integer

x = Len(Студент): k = 0

n = Val(InputBox("Ввести длину списка", , "n="))

Open "Студенты.raf" For Random As #1 Len = x

Print

t = 1

List1.AddItem "Студенты задолжники: "

For i = 1 To n

Get #1, i, Студент

If Студент.ОценкаПоХимии = 2 Or Студент.ОценкаПоИнформатике = 2 Or Студент.ОценкаПоФизике = 2 Then

k = k + 1: List1.AddItem " " & t & " " & Студент.Фамилия: t = t + 1

End If

Next

List1.AddItem "Всего студентов задолжников равно " & k

Close #1

End Sub

Работа приложения

Ввод данных

Выборки данных (запросы).

Соседние файлы в папке Задания и примеры