Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ПЗ.docx
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
1 Мб
Скачать
☆

Создание меню с помощью редактора меню в среде Visual Basic

Для того чтобы создать меню, в форме MDI, в Visual Basic существует редактор меню - Menu Editor. Чтобы его открыть, необходимо нажать правой клавишей на форме, и выбрать строку Menu Editor.

В поле Caption необходимо ввести текст, который будет отображаться в меню, в поле Name – ввести имя которое будет использоваться в коде программы, и нажать кнопку

Next, с помощью, которой перейти на следующий пункт меню.

Меню правильно создавать «по вертикали», а не «по горизонтали». Т.е. сначала полностью сверху вниз задать структуру меню, относящуюся к первому пункту, и только потом переходить ко второму.

Чтобы показать, что мы находимся во вложенном меню, нужно щёлкнуть по кнопке со стрелкой.

Передача данных в среду Visual Basic с помощью класса объектов ole

Для того чтобы передать данные в среду Visual Basic с помощью класса объектов OLE необходимо на панели инструментов выбрать инструмент OLE. Разместить его на форме, после размещения появится окно:

В окне выбрать. Создать из файла, с помощью кнопки Обзор…, выбрать нужный файл (в данном случае презентация) поставить галочку связь и нажать кнопку ОК.

Написание программы в среде Visual Basic

Здесь я привожу пример программного кода теста и словаря:

Тест: например - Электродинамика: основные понятия Часть-1

'объявляем глобальные переменные

Dim nVopros As Long

Dim Result As Long 'кол-во правильных ответов

Dim erResult As Long 'кол-во неправильных ответов

Dim Otvet As String 'правильный ответ

'процедура нажатия кнопки "ОК"

'подтверждение правильного ответа

Private Sub Command1_Click()

If Option1.Value = False And Option2.Value = False And Option3.Value = False And Option4.Value = False Then

MsgBox "Укажите правилный ответ!!!"

Else

Label3.Visible = True

Command1.Visible = False

Command2.Visible = True

Command3.Visible = True

End If

End Sub

'процедура нажатия кнопки "ДА"

'проверяем правильность ответа

Private Sub Command2_Click()

If Option1.Value = True Then

If Option1.Caption = Otvet Then

nVopros = nVopros + 1

Result = Result + 1

Else

nVopros = nVopros + 1

erResult = erResult + 1

End If

End If

If Option2.Value = True Then

If Option2.Caption = Otvet Then

nVopros = nVopros + 1

Result = Result + 1

Else

nVopros = nVopros + 1

erResult = erResult + 1

End If

End If

If Option3.Value = True Then

If Option3.Caption = Otvet Then

nVopros = nVopros + 1

Result = Result + 1

Else

nVopros = nVopros + 1

erResult = erResult + 1

End If

End If

If Option4.Value = True Then

If Option4.Caption = Otvet Then

nVopros = nVopros + 1

Result = Result + 1

Else

nVopros = nVopros + 1

erResult = erResult + 1

End If

End If

Call vopros(nVopros)

End Sub

'процедура нажатия кнопки "НЕТ"

Private Sub Command3_Click()

Label3.Visible = False

Command1.Visible = True

Command2.Visible = False

Command3.Visible = False

End Sub

'процедура вывода результатов на экран

Private Sub Command4_Click()

Label4.Visible = True

Label5.Visible = True

Label6.Visible = True

Text1.Visible = True

Text2.Visible = True

Text3.Visible = True

If Result = 5 Then

Text1.Text = "5"

Text2.Text = Result

Text3.Text = erResult

End If

If Result = 4 Then

Text1.Text = "4"

Text2.Text = Result

Text3.Text = erResult

End If

If Result = 3 Then

Text1.Text = "3"

Text2.Text = Result

Text3.Text = erResult

End If

If Result < 3 Then

Text1.Text = "2"

Text2.Text = Result

Text3.Text = erResult

End If

Command6.Visible = True

End Sub

'процедура выхода в главное меню

Private Sub Command5_Click()

Form1.Show

Form3.Visible = False

End Sub

'процедура вывода на экран первого вопроса при повторении теста

Private Sub Command6_Click()

Label4.Visible = False

Label5.Visible = False

Label6.Visible = False

Text1.Visible = False

Text2.Visible = False

Text3.Visible = False

Command4.Enabled = False

Command6.Visible = False

Text1.Text = ""

Text2.Text = ""

Text3.Text = ""

nVopros = 1

Result = 0

erResult = 0

'выводим на экран первый вопрос

Label1.Caption = "1.Какие из перечисленных ниже частиц имеют положительный заряд?"

Option3.Visible = True

Option4.Visible = False

Option3.TabStop = False

Option1.Caption = "Атом"

Option2.Caption = "Электрон"

Option3.Caption = "Протон"

Otvet = Option3.Caption 'правильный ответ в 1-ом вопросе

End Sub

'процедура вывода на экран первого вопроса

Private Sub Form_Initialize()

nVopros = 1

Result = 0

erResult = 0

'выводим на экран первый вопрос

Label1.Caption = "1.Какие из перечисленных ниже частиц имеют положительный заряд?"

Option3.Visible = True

Option3.TabStop = False

Option1.Caption = "Атом"

Option2.Caption = "Электрон"

Option3.Caption = "Протон"

Otvet = Option3.Caption 'правильный ответ в 1-ом вопросе

End Sub

'процедура вывода на экран последовательности вопросов с 2-5

Public Sub vopros(nVopros)

Option1.Value = False

Option2.Value = False

Option3.Value = False

Option4.Value = False

Label3.Visible = False

Command1.Visible = True

Command2.Visible = False

Command3.Visible = False

'выводим на экран второй вопрос

If nVopros = 2 Then

Option3.Visible = True

Label1.Caption = "2.Как движутся свободные электроны в проводнике при наличии в нем стационарного электрического поля?"

Option1.Caption = "Участвуют в хаотическом тепловом движении и дрейфуют к точкам с меньшим потенциалом"

Option2.Caption = "Участвуют в хаотическом тепловом движении и дрейфуют к точкам с большим потенциалом"

Option3.Caption = "Участвуют только в хаотическом тепловом движении"

Otvet = Option2.Caption 'правильный ответ в 2-ом вопросе

End If

'выводим на экран третий вопрос

If nVopros = 3 Then

Option3.Visible = True

Label1.Caption = "3. Основной причиной возникновения дугового разряда является ..."

Option1.Caption = "фотоэффект"

Option2.Caption = "термоэлектронная эмиссия"

Option3.Caption = "высокое напряжение на электродах"

Otvet = Option2.Caption 'правильный ответ в 3-м вопросе

End If

'выводим на экран четвертый вопрос

If nVopros = 4 Then

Label1.Caption = "4. Потери электроэнергии в линиях электропередач высокого напряжения в основном определяются ..."

Option1.Caption = "коронным разрядом"

Option2.Caption = "дуговым разрядом"

Option3.Caption = "искровым разрядом"

Otvet = Option3.Caption 'правильный ответ в 4-м вопросе

End If

'выводим на экран пятый вопрос

If nVopros = 5 Then

Option4.Visible = True

Label1.Caption = "5.Какой из перечисленных ниже разрядов возникает при высоком напряжении?"

Option1.Caption = "Тлеющий"

Option2.Caption = "Дуговой"

Option3.Caption = "Искровой"

Option4.Caption = "Коронный"

Otvet = Option3.Caption 'правильный ответ в 5-м вопросе

End If

If nVopros = 6 Then

MsgBox "Вы закончили тест!УРА!!!"

Command4.Enabled = True

End If

End Sub