Информатика 2011-2012 / Информатика-2-сем(2011) / Задания и примеры / Произвольный доступ1
.docТема: Файлы данных с произвольным доступом (База данных в 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
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
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
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
Работа приложения
Ввод данных
Выборки данных (запросы).