49501 (588664), страница 7

Файл №588664 49501 (Электронный справочник по изучению Visual Basic) 7 страница49501 (588664) страница 72016-07-29СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 7)

m_CmdSwitch.Enabled = False

m_ThemeView.Navigate2 App.Path & "\StartPage.htm", navNoHistory

End Sub

Function CtrlResize(iTheme As Integer)

On Error Resume Next

If m_TBook.Width <= iThemeListWidth + 110 Or m_TBook.Height <= 800 Then Exit Function

If m_TBook.WindowState = vbMinimized Then Exit Function

m_CmdSwitch.Left = iTheme + 10

m_CmdSwitch.Top = m_TBook.Height - 1000

m_CmdSwitch.Height = 400

m_CmdSwitch.Width = 1500

m_CmdTest.Left = m_CmdSwitch.Left + m_CmdSwitch.Width

m_CmdTest.Top = m_TBook.Height - 1000

m_CmdTest.Height = 400

m_CmdTest.Width = 1500

m_CmdCopyClip.Left = m_CmdTest.Left + m_CmdTest.Width

m_CmdCopyClip.Top = m_TBook.Height - 1000

m_CmdCopyClip.Height = 400

m_CmdCopyClip.Width = 1500

m_Back.Left = m_CmdCopyClip.Left + m_CmdCopyClip.Width

m_Back.Top = m_TBook.Height - 1000

m_Back.Height = 400

m_Back.Width = 1000

m_Home.Left = m_Back.Left + m_Back.Width

m_Home.Top = m_TBook.Height - 1000

m_Home.Height = 400

m_Home.Width = 1000

m_Forward.Left = m_Home.Left + m_Home.Width

m_Forward.Top = m_TBook.Height - 1000

m_Forward.Height = 400

m_Forward.Width = 1000

m_ThemeView.Left = iTheme + 100

m_ThemeView.Top = 0

m_ThemeView.Width = m_TBook.Width - (iTheme + 200)

m_ThemeView.Height = m_TBook.Height - 1000

m_BtnFullMode.Width = 100

m_BtnFullMode.Height = 1000

m_BtnFullMode.Left = iTheme

m_BtnFullMode.Top = m_TBook.Height / 2 - m_BtnFullMode.Height / 2

m_ExampleView.Left = iTheme + 100

m_ExampleView.Top = 0

m_ExampleView.Width = m_TBook.Width - (iTheme + 200)

m_ExampleView.Height = m_TBook.Height - 1000

m_ThemeList.Left = 0

m_ThemeList.Top = 0

m_ThemeList.Width = iTheme

m_ThemeList.Height = m_TBook.Height - 400

End Function

Private Sub Form_Resize()

If bFullMode Then

m_ThemeList.Visible = False

CtrlResize 0

Else

m_ThemeList.Visible = True

CtrlResize iThemeListWidth

End If

End Sub

Private Sub m_About_Click()

Load frmAbout

frmAbout.Show

End Sub

Private Sub m_NewBK_Click()

m_gBKPath = NavBKPath

Load m_FrmBookMark

m_FrmBookMark.Show 1

End Sub

Private Sub m_openBK_Click()

m_gBKPath = ""

Load m_FrmBookMark

m_FrmBookMark.Show 1

End Sub

Private Sub m_BtnFullMode_Click()

If bFullMode = True Then

bFullMode = False

Else

bFullMode = True

End If

Form_Resize

End Sub

Private Sub m_cmdCopyClip_Click()

Clipboard.SetText m_ExampleView.TextRTF

End Sub

Private Sub m_CmdSwitch_Click()

If m_CmdSwitch.Caption = "Òåìà" Then

m_CmdSwitch.Caption = "Ïðèìåð"

m_ThemeView.Visible = True

m_ExampleView.Visible = False

m_CmdCopyClip.Visible = False

ElseIf m_CmdSwitch.Caption = "Ïðèìåð" Then

m_CmdSwitch.Caption = "Òåìà"

m_ExampleView.Visible = True

m_ThemeView.Visible = False

m_CmdCopyClip.Visible = True

End If

End Sub

Private Sub m_CmdTest_Click()

If NavPath = "" Then Exit Sub

m_gTestPath = NavPath & "test.txt"

If Dir(m_gTestPath, vbNormal) <> "" Then

Load m_FrmTest

m_FrmTest.Show 1

End If

End Sub

Private Sub m_Back_Click()

On Error Resume Next

m_ThemeView.GoBack

End Sub

Private Sub m_Forward_Click()

On Error Resume Next

m_ThemeView.GoForward

End Sub

Private Sub m_Home_Click()

m_ThemeView.Navigate2 App.Path & "\StartPage.htm", navNoHistory

End Sub

Private Sub m_MenuPrint_Click()

On Error Resume Next

m_ThemeView.ExecWB OLECMDID_PRINT, OLECMDEXECOPT_DODEFAULT

End Sub

Private Sub m_MenuSave_Click()

m_ThemeView.ExecWB OLECMDID_SAVEAS, OLECMDEXECOPT_DODEFAULT

End Sub

Private Sub m_MenuFind_Click()

On Error Resume Next

' m_ThemeView.ExecWB OLECMDID_F, OLECMDEXECOPT_DODEFAULT

End Sub

Private Sub m_Quit_Click()

End

End Sub

Private Sub m_ThemeList_Expand(ByVal Node As MSComctlLib.Node)

Dim pNode As Node

Set pNode = Node.Child

If pNode.Text = SuperRootName Then

m_ThemeList.Nodes.Remove pNode.Index

Dim sFile As String

Dim i As Integer

sFile = Dir(App.Path & "\Themes\" & Node.Text & "\", vbDirectory)

Do Until sFile = ""

If sFile <> "." And sFile <> ".." Then

CreateSection sFile, Node.Key

End If

sFile = Dir

i = i + 1

Loop

End If

End Sub

Private Sub m_ThemeList_NodeClick(ByVal Node As MSComctlLib.Node)

If Node.Children Then Exit Sub

m_CmdSwitch.Enabled = True

NavPath = App.Path & "\Themes\" & Node.FullPath & "\"

NavBKPath = Node.FullPath

m_ThemeView.Navigate2 NavPath & SubjectFile, navNoHistory

If (Len(Dir(NavPath & ExampleFile))) <= 0 Then

m_ExampleView.Text = ""

Else

m_ExampleView.LoadFile NavPath & ExampleFile

End If

End Sub

II. mdl_Question.bas

Модуль для хранения глобальных переменных

Type Question

Question As String

Answer(2) As String

True As Integer

End Type

Public m_gTestPath As String

Public m_gBKPath As String

Public m_gBKNewName As String

III. m_FrmBookMark.frm

Форма управления закладками

Private Sub Form_Load()

On Error GoTo EndLoadForm

Dim pLine As String

m_bFindName = False

Open App.Path & "\bookmark.txt" For Input As #1

Do Until EOF(1)

Line Input #1, pLine

m_BKList.AddItem pLine

If m_bFindName = False Then

If pLine = m_gBKPath Then m_bFindName = True

End If

Loop

If m_bFindName = False And m_gBKPath <> "" Then

m_BKList.AddItem m_gBKPath

End If

Close #1

EndLoadForm:

End Sub

Private Sub Form_Unload(Cancel As Integer)

On Error GoTo EndUnLoadForm

If m_gBKPath = "" Then

GoTo EndUnLoadForm

End If

Open App.Path & "\bookmark.txt" For Output As #1

For i = 0 To m_BKList.ListCount - 1

m_BKList.ListIndex = 0

Print #1, m_BKList.Text

m_BKList.RemoveItem m_BKList.ListIndex

Next

Close #1

EndUnLoadForm:

End Sub

Private Sub m_DeleteBK_Click()

If m_BKList.ListIndex <> -1 Then m_BKList.RemoveItem m_BKList.ListIndex

End Sub

IV. m_FrmTest.frm

Форма управления тестом

Dim qcount As Integer ' общее количество вопросов

Dim r As Integer ' количество правильный

' ответов

Dim curq As Integer

Dim rate(1 To 4) As Integer ' критерии оценок

Dim comment(1 To 4) As String ' комментарии

Dim f As String ' буфер чтения

Dim qcycle() As Integer

Dim quest() As Question

Sub LoadQuestions()

Dim fquest As String

Dim ftrue As Integer

Dim fanswer() As String

Do While NextQuestion(fquest, ftrue, fanswer)

If qcount = 1 Then

ReDim quest(0)

Else

ReDim Preserve quest(qcount - 1)

End If

quest(qcount - 1).Question = fquest

quest(qcount - 1).True = ftrue

For i = 0 To 2

quest(qcount - 1).Answer(i) = fanswer(i)

Next

Loop

End Sub

Function NextQuestion(ByRef fquest As String, ByRef ftrue As Integer, ByRef fanswer() As String) As Boolean

If Not EOF(1) Then ' файл не закончился

' считывание и ввод вопроса

Line Input #1, fquest

' считывание вариантов ответа

ReDim fanswer(2)

For i = 0 To 2

Line Input #1, f

fanswer(i) = f

Line Input #1, f

If f = "1" Then ftrue = i

Next

' верный ли ответ: 1 – верный 0 - нет

' 0 или 1 записывается в свойство Tag соответствующего компонента

' 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 ' открытие файла

' для чтения

Line Input #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



Заключение

В ходе дипломного проектирования была разработана программа «Справочник по работе с программой Visual Basic». Эта программа предназначена для самостоятельной работы студентов при обучении программированию в среде Visual Basic.

На основании поставленной цели решались следующие задачи:

  • провести анализ теоретического материала предлагаемого к компьютерной реализации;

  • предоставить студентам, изучающим Visual Basic эффективное и легкодоступное средство обучения, которое включало бы в себя теоретический материал, вопросы и практические задания, и выполняло бы не только обучающую, но и контролирующую и оценивающую функции;

  • предоставить учебному заведению полноценное программное обеспечение, которое сможет применяться при обучении Visual Basic–у и которым смогут пользоваться сотни студентов.

Для решения данных задач была проделана следующая работа:

  • проведен анализ теоретического материала предлагаемого к изучению студентам и выбран материал для первоочередной реализации в электронном справочнике;

  • проведен сравнительный анализ электронных справочников («VBHELP» - справочник по Visual Basic 5.0, «Vbfunction», «Справочник по WIN 32 API», «Справочник по функциям Windows API») с целью выявления системы, наиболее отвечающей требованиям, предъявляемым при разработке справочника;

  • подобрана система тестовых вопросов для выявления уровня усвоения нового материала;

  • разработана система подсказок, призванная облегчить обучение студентов;

  • разработан и реализован электронный справочник по работе с программой Visual Basic, который может применяться при обучении студентов.

Практическую ценность своей работы я вижу в том, что: во-первых, мною был получен богатый опыт разработки обучающих компьютерных систем, в том числе, освоены инструментальные средства разработки подобных систем; во-вторых, и это главное, учебное заведение получит в свое распоряжение и сможет использовать в образовательном процессе новое электронное средство обучения – электронный справочник по работе с программой Visual Basic.



Список использованных источников

  1. Штайнер Г. Visual Basic .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/ - Всё для программистов. Отличный сайт о Visual Basic. Много интересных материалов: исходники, ActiveX, статьи, форум.

  13. http://www.vb.narod.ru – сайт со статьями по VB, имеется электронный учебник…

  14. http://www.visualbasic.boom.ru – сайт очень полезный, особенно для программистов на Visual Basic.

  15. http://www.vbmaster.fhost.ru – сайт посвященный программированию.

  16. http://www.vbrussia.com – материалы по программированию

Характеристики

Тип файла
Документ
Размер
566,28 Kb
Учебное заведение
Неизвестно

Список файлов ВКР

Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6367
Авторов
на СтудИзбе
310
Средний доход
с одного платного файла
Обучение Подробнее