' Option
' увеличение счетчика вопросов
qcount = qcount + 1
NextQuestion = True
Else
NextQuestion = False
End If
End Function
Private Sub ShowQuestion(ByVal num As Integer)
If num >= qcount - 1 Then m_CmdNext.Caption = "Завершить"
num = qcycle(num)
m_CmdNext.Enabled = False
m_Question.Caption = quest(num).Question
m_Var1.Caption = quest(num).Answer(0)
m_Var1.Tag = 0
If quest(num).True = 0 Then m_Var1.Tag = 1
m_Var2.Caption = quest(num).Answer(1)
m_Var2.Tag = 0
If quest(num).True = 1 Then m_Var2.Tag = 1
m_Var3.Caption = quest(num).Answer(2)
m_Var3.Tag = 0
If quest(num).True = 2 Then m_Var3.Tag = 1
m_Var1.Value = False
m_Var2.Value = False
m_Var3.Value = False
End Sub
Private Sub Form_Load()
m_Question.Font.Size = 10
FileName = m_gTestPath
On Error GoTo EndTest
Open FileName For Input As #1 ' открытиефайла
' для чтения
LineInput #1, f ' чтение названия теста
m_FrmTest.Caption = f
' комментарии и критерии оценок
For i = 1 To 4 Step 1
Line Input #1, f
comment(i) = f
Line Input #1, f
rate(i) = f
Next
' обнулениесчетчиков
q = 0
r = 0
LoadQuestions
Close #1
ReDim qcycle(qcount - 1)
Dim qvars() As Boolean
ReDim qvars(qcount - 1)
For i = 0 To qcount - 1
qvars(i) = True
Next
For i = 0 To qcount - 1
Dim rn As Integer
Dim num As Integer
Randomize
rn = Rnd(qcount - 1) * (qcount - 1) + 1
Do While rn > 0
num = num + 1
If num > qcount - 1 Then num = 0
Do Until qvars(num)
num = num + 1
If num > qcount - 1 Then num = 0
Loop
rn = rn - 1
Loop
qcycle(i) = num
qvars(num) = False
Next
If qcount = 0 Then GoTo EndTest
ShowQuestion (0)
EndTest:
End Sub
Private Sub m_CmdEndTest_Click()
Erase quest
curq = 0
qcount = 0
r = 0
Unload m_FrmTest
End Sub
Private Sub m_CmdNext_Click()
If m_Var1.Value = True Then r = r + m_Var1.Tag
If m_Var2.Value = True Then r = r + m_Var2.Tag
If m_Var3.Value = True Then r = r + m_Var3.Tag
If m_CmdNext.Caption = "Завршить" Then
m_Var1.Visible = False
m_Var2.Visible = False
m_Var3.Visible = False
m_Question.Height = m_Question.Height * 2
m_Question.Caption = "Тестирование завершено." + Chr(13) + _
"Правильных ответов: " + Format$(r) + _
" из " + _
Format$(qcount) + "."
i = 1
While (r < rate(i)) And (i < 4)
i = i + 1
Wend
' вводкоментария
m_Question.Caption = m_Question.Caption + Chr(13) + comment(i)
m_CmdNext.Enabled = False
Else
curq = curq + 1
ShowQuestion curq
End If
End Sub
Private Sub m_Question_Click()
End Sub
Private Sub m_Var1_Click()
m_CmdNext.Enabled = True
End Sub
Private Sub m_Var2_Click()
m_CmdNext.Enabled = True
End Sub
Private Sub m_Var3_Click()
m_CmdNext.Enabled = True
End Sub
V. m_Password.frm
Форма для ввода пароля
Dim Entered As Boolean
Private Sub Command1_Click()
End
End Sub
Private Sub Command2_Click()
Dim sName As String
Dim sPass As String
Dim deName As String
Dim dePass As String
Dim Equal As Boolean
Open App.Path & "\Passwords" For Input As 1
Do Until EOF(1)
deName = ""
dePass = ""
Input #1, sName
Input #1, sPass
Dim sim As String
Dim sima As String
Dim simb As String
For i = 0 To Len(sName) - 1 Step 2
sima = Mid(sName, i + 1, 1)
simb = Mid(sName, i + 2, 1)
sim = Chr((Asc(sima) - 210) * 16 + (Asc(simb) - 210))
deName = deName & sim
Next
For i = 0 To Len(sPass) - 1 Step 2
sima = Mid(sPass, i + 1, 1)
simb = Mid(sPass, i + 2, 1)
sim = Chr((Asc(sima) - 210) * 16 + (Asc(simb) - 210))
dePass = dePass & sim
Next
If deName = txt_Name And dePass = txt_Password Then
Equal = True
End If
Loop
Close #1
If Not Equal Then
MsgBox "Неправильновведены" & vbCrLf & _
"имя пользователя" & vbCrLf & _
"и пароль", vbOKOnly
Else
Entered = True
Unload m_Password
End If
End Sub
Private Sub Form_Load()
Entered = False
End Sub
Private Sub Form_Unload(Cancel As Integer)
If Not Entered Then End
End Sub
Заключение
В ходе дипломного проектирования была разработана программа «Справочник по работе с программой VisualBasic». Эта программа предназначена для самостоятельной работы студентов при обучении программированию в среде VisualBasic.
На основании поставленной цели решались следующие задачи:
- провести анализ теоретического материала предлагаемого к компьютерной реализации;
- предоставить студентам, изучающим VisualBasic эффективное и легкодоступное средство обучения, которое включало бы в себя теоретический материал, вопросы и практические задания, и выполняло бы не только обучающую, но и контролирующую и оценивающую функции;
- предоставить учебному заведению полноценное программное обеспечение, которое сможет применяться при обучении VisualBasic–у и которым смогут пользоваться сотни студентов.
Для решения данных задач была проделана следующая работа:
- проведен анализ теоретического материала предлагаемого к изучению студентам и выбран материал для первоочередной реализации в электронном справочнике;
- проведен сравнительный анализ электронных справочников («VBHELP» - справочник по VisualBasic 5.0, «Vbfunction», «Справочник по WIN 32 API», «Справочник по функциям Windows API») с целью выявления системы, наиболее отвечающей требованиям, предъявляемым при разработке справочника;
- подобрана система тестовых вопросов для выявления уровня усвоения нового материала;
- разработана система подсказок, призванная облегчить обучение студентов;
- разработан и реализован электронный справочник по работе с программой VisualBasic, который может применяться при обучении студентов.
Практическую ценность своей работы я вижу в том, что: во-первых, мною был получен богатый опыт разработки обучающих компьютерных систем, в том числе, освоены инструментальные средства разработки подобных систем; во-вторых, и это главное, учебное заведение получит в свое распоряжение и сможет использовать в образовательном процессе новое электронное средство обучения – электронный справочник по работе с программой VisualBasic.
Список использованных источников
1. Штайнер Г. VisualBasic .NET. — M.: Лаборатория Базовых Знаний, 2002. — 544 с.: ил. — (Справочник).
2. Глушаков С.В. Программирование на Visual Basic 6.0 / СБ. Глушаков, С. А. Сурядный; Худож.-оформ. А.С. Юхтман. — М.: ООО «Издательство ACT»; Харьков: «Фолио», 2005. — 497, [15] с.— (Учебный курс).
3. КультинН. Б. Visual Basic. Освой на примерах. — СПб.: БХВ-Петербург, 2004. - 288 с.: ил.
4. Кен Гетц, Майк Гилберт Программирование на Visual Basic 6 и VBA. Руководство разработчика: Пер. с англ. — К.: Издательская группа BHV, 2001. - 912 с., ил.
5. Аляев Ю. А., Козлов О. А. Алгоритмизация и языки программирования Pascal, C++, Visual Basic: Учебно-справочное пособие. — М.: Финансы и статистика, 2002. — 320 с.: ил.
6. Методические рекомендации по проектированию обучающих программ / Институт психологии Министерства просвещения УССР; - Киев, 1986.
7. Технология сертификации программных средств учебного назначения (ПС УН) / Рос. центр информатизации образования (РОСЦИО) / Под редакцией А.И. Галкина, В.К. Мороз. - М., 1993.
8. Тодд Миллер, Дэвид Пауэл. Использование Delphi 3 / специальное издание. - М.-Киев, Диалектика, 1997.
9. Павловская Т. А. C/C++. Программирование на языке высокого уровня. - "Питер", 2005 г., 461 с.
10. Брайан Сайлер, Джефф Споттс. Использование Visual Basic 6.0. - Издательский Дом «Вильямс», 1999 г., 832 с.
11. http://www.vbstreets.ru/ - «VB улицы». ВсеоVisual Basic, VBScript, Active Server Page, ActiveX, ADO и SQL.
12. http://www.vbplanet.km.ru/ - Всё для программистов. Отличный сайт о VisualBasic. Много интересных материалов: исходники, ActiveX, статьи, форум.
13. http://www.vb.narod.ru – сайт со статьями по VB, имеется электронный учебник…
14. http://www.visualbasic.boom.ru – сайт очень полезный, особенно для программистов на VisualBasic.
15. http://www.vbmaster.fhost.ru – сайт посвященный программированию.
16. http://www.vbrussia.com – материалы по программированию