Переменные и программный код приложения
Поможем в ✍️ написании учебной работы
Поможем с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой

Для объявления глобальных переменных, доступных всем элементам приложения и используемых в тексте программного кода, необходимо к проекту добавить модуль формы:

- в меню команд VB 6.0 выбрать команду Project ;

- в раскрывшемся списке выполнить команду Add Module . Модуль (Module1) будет добавлен в список модулей проекта.

Программный код обработки событий в приложении «АРМ преподавателя» использует следующие переменные памяти:

1. z — запись типа vop, состоящая из трех полей, в которых размещены символьные строки для хранения:

- v — вопроса,

- о — ответов,

- n — правильного ответа;

2. nvz — переменная для хранения номера вопроса (записи) в файле прямого доступа;

3. nvv — переменная, в которой содержится номер вопроса (за­писи), вызываемого из файла прямого доступа, для просмотра или редактирования.

Тексты кодов приложения представлены в листинге 1.

Листинг 1.

 

 (General) -> (Declarations)

 

Public nvz As Integer, nvv As Integer

 

Private Sub cmdVyz_Click()

 

Dim z As vop

nvv = Val(txtNv2.Text)

txtTexv2.Text = ""

txtTexv2.Refresh

txtTexo2.Text = ""

txtTexo2.Refresh

txtNpo2.Text = ""

txtNpo2.Refresh

Open "c:\let\" + txtNlet.Text + ".txt" For Random As #1 Len = 2048

If txtNlet.Text = "" Then

MsgBox ("Где имя работы?")

GoTo m1

End If

If nvv = 0 Then

MsgBox ("Где номер вопроса?")

GoTo m1

End If

MsgBox ("Открываем файл!")

Get #1, nvv, z

cmdVyz.Caption = "Готово!"

For i = 1 To 100000000

Next i

cmdVyz.Caption = "Bызов"

txtTexv2.Text = z.v

txtTexv2.Refresh

txtTexo2.Text = z.o

txtTexo2.Refresh

txtNpo2.Text = z.n

txtNpo2.Refresh

m1: Close 1

z.v = ""

z.o = ""

z.n = ""

txtNv2.SetFocus

m2: End Sub

 

Private Sub cmdZap_Click()

 

Dim z As vop

z.v = txtTexv1.Text

z.o = txtTexo1.Text

z.n = txtNpo1.Text

If optZ.Value = False Then

MsgBox ("Подтвердите № записи!")

txtNvl.SetFocus

GoTo m2

End If

Open "c:\let\" + txtNlet.Text + ".txt" For Random As #1 Len = 2048

If z.v = "end" Then End

If z.v = "" Then

MsgBox ("Где вопрос?")

GoTo m1

End If

If z.o = "" Then

MsgBox ("Где ответы?")

GoTo m1

End If

If z.n = "" Then

MsgBox ("Где правильный ответ?")

GoTo m1

End If

If nvz = 0 Then

MsgBox ("Где номер вопроса?")

GoTo m1

End If

If txtNlet.Text = "" Then

MsgBox ("Где имя работы?")

GoTo m1

End If

Put #1, nvz, z

cmdZap.Caption = "Готово!"

For i = 1 To 1000000

Next i

cmdZap.Caption = "3апись"

m1: Close 1

optZ.Value = False 'c6poc флажка

txtTexv1.Text = " "

txtTexo1.Text = " "

txtNpo1.Text = " "

txtNv1.Text = " "

txtTexv1.SetFocus

m2: End Sub

 

Private Sub Form_Load()

 

i=0

End Sub

 

Private Sub Form_Unload(Cancel As Integer)

 

End Sub

 

Private Sub mnuExit_Click()

 

End

End Sub

 

Private Sub mnuHelpAbout_Click()

 

frmHelpAbout.Show 1

End Sub

 

Private Sub mnuHelpInst_Click ()

 

frmHelpInst.Show 1

End Sub

 

Private Sub optR_Click()

 

Dim z As vop

nvv = Val(txtNv2.Text)

If txtNlet.Text = "" Then

MsgBox ("Где имя работы?")

GoTo m1

End If

txtTexv1.Text = "" 'очистка полей записи

txtTexv1.Refresh

txtTexo1.Text = ""

txtTexo1.Refresh

txtNpo1.Text = ""

txtNpo1.Refresh

txtNv1.Text = ""

txtNv1.Refresh

Open "c:\let\" + txtNlet.Text + ".txt" For Random As #1 Len = 2048

If nvv = 0 Then

MsgBox ("Где номер вопроса?")

GoTo m1

End If

Get #1, nvv, z

txtTexv1.Text = z.v

txtTexv1.Refresh

txtTexo1.Text = z.o

txtTexo1.Refresh

txtNpo1.Text = z.n

txtNpo1.Refresh

txtNv1.Text = txtNv2.Text

txtNv1.Refresh

txtTexv2.Text = "" 'очистка полей записи

txtTexv2.Refresh

txtTexo2.Text = ""

txtTexo2.Refresh

txtNpo2.Text = ""

txtNpo2.Refresh

txtNv2.Text = ""

txtNv2.Refresh

txtTexv1.SetFocus

m1: Close 1

z.v = ""

z.o = ""

z.n = 0

optR.Value = False 'сброс флажка

txtTexv2.BackColor = &H80000005

txtTexo2.BackColor = &H80000005

txtNpo2.BackColor = &H80000005

m2: End Sub

 

Private Sub optZ_Click()

 

nvz = Val(txtNv1.Text)

txtTexv1.BackColor = QBColor(15)

txtTexo1.BackColor = QBColor(15)

txtNpo1.BackColor = QBColor(15)

End Sub

 

Private Sub txtNlet_KeyPress(KeyAscii As Integer)

 

If KeyAscii = 13 Then

txtNv1.Refresh

txtNv1.SetFocus

End If

End Sub

 

Private Sub txtNvl_DblClick()

txtTexv1.Text = ""

txtTexv1.Refresh

txtTexo1.Text = ""

txtTexo1.Refresh

txtNpo1.Text = ""

txtNpo1.Refresh

txtTexv1.SetFocus

End Sub

Private Sub txtNv2_DblClick()

 

txtTexv2.Text = ""

txtTexv2.Refresh

txtTexo2.Text = ""

txtTexo2.Refresh

txtNpo2.Text = ""

txtNpo2.Refresh

End Sub

Коды для Modulel

(General) (Declarations)

 

Type vop

v As String

o As String

n As String

End Type

Dim z As vop

Рекомендации по тестированию работы приложения

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

№ записи

Содержание записи

Вопрос Ответы № правильного ответа
1 Вопрос 1   Ответ 1 Ответ 2 Ответ 3 2
2 Вопрос 2   Ответ 1 Ответ 2 Ответ 3 1
3 Вопрос 3   Ответ 1 Ответ 2 Ответ 3 3

и т.д.

19 Вопрос 19 Ответ 1 Ответ 2 Ответ 3 1

 

ВНИМАНИЕ! При вводе № правильного ответ не допускается оставлять пробел перед введенным значением, т.е. следует начинать ввод с первой позиции текстового поля.

Дата: 2019-04-23, просмотров: 206.