Создание базы данных о студентах ВУЗа
Курсовой проект - Компьютеры, программирование
Другие курсовые по предмету Компьютеры, программирование
e.Icon = frmDatabase.imlButtons.ListImages(8).Picture
lstKurs.AddItem "По всем курсам"
Заполнение по всем курсам лист-бокса с количеством работ lstKurs2
lstKurs2.Clear
For j = 0 To lstKurs.ListCount - 2
lngPoKursu = 0
For i = 0 To frmDatabase.lstZapis(2).ListCount - 1
If frmDatabase.lstZapis(2).List(i) = lstKurs.List(j) Then lngPoKursu = lngPoKursu + 1
Next
lstKurs2.AddItem lngPoKursu
Next
lstKurs2.AddItem CStr(frmDatabase.lstZapis(0).ListCount)
Подсчет количества групп
For i = 0 To frmDatabase.lstZapis(0).ListCount - 1
gr = -1
For j = 0 To lstGroops.ListCount - 1
If lstGroops.List(j) = frmDatabase.lstZapis(1).List(i) Then gr = j
Next
If gr = -1 Then lstGroops.AddItem frmDatabase.lstZapis(1).List(i)
Next
Копирование лист-бокса групп
For i = 0 To lstGroops.ListCount - 1
lstGroops2.AddItem lstGroops.List(i)
Next
Заполнение количества должников
For i = 0 To lstGroops2.ListCount - 1
k = 0
For j = 0 To frmDatabase.lstZapis(1).ListCount - 1
If frmDatabase.lstZapis(1).List(j) = lstGroops2.List(i) Then
30Thenk=k+1"> If Date_raz(frmDatabase.lstZapis(4).List(j), frmDatabase.lstZapis(6).List(j)) > 30 Then k = k + 1
End If
Next
lstkol2.AddItem k
Next
Call Graf
End Sub
Public Sub Round(ob_kol As Long, kol1 As Long)
Dim i As Integer
picRound.Scale (-100, 100)-(100, -100)
picRound.FillColor = vbGreen
picRound.Circle (0, 0), 80, , -0.0007, -kol1 * 6.28 / ob_kol, 0.5
picRound.FillColor = vbRed
picRound.Circle (0, 0), 80, , -kol1 * 6.28 / ob_kol, -6.28, 0.5
For i = 0 To 7
picRound.Circle (0, -i), 80, , 3.14, 6.28, 0.5
Next
picRound.Circle (0, -7), 80, , 3.14, 6.28, 0.5
picRound.Line (-80, 0)-(-80, -7)
picRound.Line (80, 0)-(80, -7)
lblPersent.Caption = CStr(Int(kol1 * 100 / ob_kol)) + " %"
End Sub
Private Sub lstGroops_Click()
0ThenlstKol.ListIndex=lstGroops.ListIndex">If lstKol.ListCount <> 0 Then lstKol.ListIndex = lstGroops.ListIndex
End Sub
Private Sub lstGroops_MouseDown(Button As Integer, Shift As Integer, x As Single, Y As Single)
0ThenlstKol.ListIndex=lstGroops.ListIndex">If lstKol.ListCount <> 0 Then lstKol.ListIndex = lstGroops.ListIndex
End Sub
Private Sub lstGroops2_Click()
0Thenlstkol2.ListIndex=lstGroops2.ListIndex">If lstkol2.ListCount <> 0 Then lstkol2.ListIndex = lstGroops2.ListIndex
End Sub
Private Sub lstGroops2_MouseDown(Button As Integer, Shift As Integer, x As Single, Y As Single)
0Thenlstkol2.ListIndex=lstGroops2.ListIndex">If lstkol2.ListCount <> 0 Then lstkol2.ListIndex = lstGroops2.ListIndex
End Sub
Private Sub lstKol_Click()
0ThenlstGroops.ListIndex=lstKol.ListIndex">If lstGroops.ListCount <> 0 Then lstGroops.ListIndex = lstKol.ListIndex
End Sub
Private Sub lstKol_MouseDown(Button As Integer, Shift As Integer, x As Single, Y As Single)
0ThenlstGroops.ListIndex=lstKol.ListIndex">If lstGroops.ListCount <> 0 Then lstGroops.ListIndex = lstKol.ListIndex
End Sub
Private Sub lstkol2_Click()
0ThenlstGroops2.ListIndex=lstkol2.ListIndex">If lstGroops2.ListCount <> 0 Then lstGroops2.ListIndex = lstkol2.ListIndex
End Sub
Private Sub lstkol2_MouseDown(Button As Integer, Shift As Integer, x As Single, Y As Single)
0ThenlstGroops2.ListIndex=lstkol2.ListIndex">If lstGroops2.ListCount <> 0 Then lstGroops2.ListIndex = lstkol2.ListIndex
End Sub
Private Sub lstKurs_Click()
0ThenlstKurs2.ListIndex=lstKurs.ListIndex">If lstKurs2.ListCount <> 0 Then lstKurs2.ListIndex = lstKurs.ListIndex
If lstKurs.Text = "По всем курсам" Then
picRound.Cls
lblPersent.Visible = False
lbl(0).Caption = "По каждому курсу"
lngAll = frmDatabase.lstZapis(1).ListCount
1ThenCallAllKurs">If lstKurs.ListCount > 1 Then Call AllKurs
Else
picRound.Cls
lblPersent.Visible = True
lbl(0).Caption = "От всех работ выбранный курс составляет:"
lngPoKursu = 0
lngAll = frmDatabase.lstZapis(1).ListCount
For i = 0 To frmDatabase.lstZapis(2).ListCount - 1
If frmDatabase.lstZapis(2).List(i) = lstKurs.Text Then lngPoKursu = lngPoKursu + 1
Next
Call Round(lngAll, lngPoKursu)
End If
End Sub
Private Sub lstKurs_MouseDown(Button As Integer, Shift As Integer, x As Single, Y As Single)
0ThenlstKurs2.ListIndex=lstKurs.ListIndex">If lstKurs2.ListCount <> 0 Then lstKurs2.ListIndex = lstKurs.ListIndex
End Sub
Public Sub AllKurs()
Dim i As Integer
Dim ob As Integer
Dim current As Single
current = -0.0007
ob = CInt(lstKurs2.List(lstKurs2.ListCount - 1))
picRound.Cls
Построение диаграммы
picRound.Scale (-100, 100)-(100, -100)
picRound.FillColor = 2
For i = 0 To lstKurs2.ListCount - 2
picRound.FillColor = QBColor(i + 10)
picRound.Circle (0, 20), 80, , current, current - CInt(lstKurs2.List(i)) * 6.28 / ob, 0.5
current = current - CInt(lstKurs2.List(i)) * 6.28 / ob
Легенда
picRound.Line (-90 + Int(i / 3) * 80, -60 - 15 * (i - Int(i / 3) * 3))-(-100 + Int(i / 3) * 80, -50 - 15 * (i - Int(i / 3) * 3)), QBColor(i + 10), BF
Надпись легенды
picRound.Print " " + Left(lstKurs.List(i), 3) + " " + CStr(Int((CInt(lstKurs2.List(i)) * 100 / ob))) + "%"
Next
Оформление диаграммы
For i = 0 To 7
picRound.Circle (0, -i + 20), 80, , 3.14, 6.28, 0.5
Next
End Sub
Public Sub Stolb(Групп As Integer)
Dim intStWidth As Integer Ширина 1 столбца
Dim ed As Integer picStolb.scaleheight/Максимальное значение - это одна единица графика
Dim max As Integer
Const dw As Byte = 10 Промежуток между столбцами
intStWidth = Int(picStolb.ScaleWidth / Групп) - dw
max = CInt(lstKol.List(0))
For i = 0 To lstKol.ListCount - 1
maxThenmax=CInt(lstKol.List(i))">If CInt(lstKol.List(i)) > max Then max = CInt(lstKol.List(i))
Next
ed = 0
0Thened=picStolb.ScaleHeight/max">If max <> 0 Then ed = picStolb.ScaleHeight / max
9*ed - высота, равная 9 единицам
For i = 0 To Групп - 1
picStolb.Line (0 + i * (intStWidth + dw), picStolb.ScaleHeight)-(intStWidth + i * (intStWidth + dw), picStolb.ScaleHeight - CInt(lstKol.List(i)) * ed), QBColor(i + 10), BF
Next
Установка надписей с названими групп
For i = 0 To Групп - 1
picStolb.CurrentX = ((intStWidth - Len(lstGroops.List(i))) / 2) + (dw + intStWidth) * i
picStolb.CurrentY = picStolb.ScaleHeight - 25
picStolb.Print lstGroops.List(i)
Next
End Sub
Public Sub Graf()
Dim intX0 As Integer
Dim edx As Integer
Dim edy As Integer
Dim intY0 As Integer
intX0 = lnOX.X1
edx = Int((lnOX.X2 - intX0) / lstGroops2.ListCount) - 10
intY0 = lnOX.Y1: edy = lstkol2.List(0)
If edy = 0 Then
Exit Sub
End If
For i = 0 To lstkol2.ListCount - 1
edyThenedy=CInt(lstkol2.List(i))">If CInt(lstkol2.List(i)) > edy Then edy = CInt(lstkol2.List(i))
Next
edy = Int((intY0 - lnOY.Y1) / edy) - 5
Установка делений по оси у
For i = 1 To lstkol2.ListCount
picGraf.Line (intX0 - 3, intY0 - CInt(lstkol2.List(i - 1)) * edy)-(intX0 + 3, intY0 - CInt(lstkol2.List(i - 1)) * edy)
picGraf.CurrentX = intX0 - 12
picGraf.CurrentY = intY0 - edy * CInt(lstkol2.List(i - 1)) - 5
picGraf.Print lstkol2.List(i - 1)
Next
Установка делений по оси х
For i = 1 To lstGroops.ListCount
picGraf.Line (intX0 + i * edx, intY0 - 3)-(intX0 + i * edx, intY0 + 3)
picGraf.CurrentX = intX0 + i * edx - Int(Len(lstGroops2.List(i - 1)) / 2)
picGraf.CurrentY = intY0 + 5
picGraf.Print lstGroops2.List(i - 1)
Next
Установка точек и их со?/p>