Не работает скомпилированная программа VB
Формулировка задачи:
Программка VB в режиме интерпретатора работает, откомпилированная выдает ошибку 13. Ошибку не нахожу. Ума не приложу как решить данную проблему.Помогите кто может, плиз
Решение задачи: «Не работает скомпилированная программа VB»
textual
Листинг программы
Dim Familiya As String
Dim spisok(80) As String
Dim p(5) As String
Dim otvet(20) As String
Dim otmetka As String
Dim var(20, 120) As String
Dim shablon(20, 20) As String
Dim k As Long
Dim rezalt As Long
Private Sub Command1_Click()
'шаблоны ответов
shablon(1, 1) = "11100"
shablon(1, 2) = "11110"
‘далее идет ввод всех шаблонов.
'блок нахождения правильных ответов
For i = 0 To 4
If Check1(i).Value = tru Then p(i) = "0" Else p(i) = "1"
otvet(1) = otvet(1) & p(i)
Next i
For i = 0 To 4
If Check2(i).Value = tru Then p(i) = 0 Else p(i) = 1
otvet(2) = otvet(2) & p(i)
Next i
For i = 0 To 4
If Check3(i).Value = tru Then p(i) = 0 Else p(i) = 1
otvet(3) = otvet(3) & p(i)
Next i
For i = 0 To 4
If Check4(i).Value = tru Then p(i) = 0 Else p(i) = 1
otvet(4) = otvet(4) & p(i)
Next i
For i = 0 To 4
If Check5(i).Value = tru Then p(i) = 0 Else p(i) = 1
otvet(5) = otvet(5) & p(i)
Next i
For i = 0 To 4
If Check6(i).Value = tru Then p(i) = 0 Else p(i) = 1
otvet(6) = otvet(6) & p(i)
Next i
For i = 0 To 4
If Check7(i).Value = tru Then p(i) = 0 Else p(i) = 1
otvet(7) = otvet(7) & p(i)
Next i
For i = 0 To 4
If Check8(i).Value = tru Then p(i) = 0 Else p(i) = 1
otvet(8) = otvet(8) & p(i)
Next i
For i = 0 To 4
If Check9(i).Value = tru Then p(i) = 0 Else p(i) = 1
otvet(9) = otvet(9) & p(i)
Next i
For i = 0 To 4
If Check10(i).Value = tru Then p(i) = 0 Else p(i) = 1
otvet(10) = otvet(10) & p(i)
Next i
For i = 0 To 4
If Check11(i).Value = tru Then p(i) = 0 Else p(i) = 1
otvet(11) = otvet(11) & p(i)
Next i
For i = 0 To 4
If Check12(i).Value = tru Then p(i) = 0 Else p(i) = 1
otvet(12) = otvet(12) & p(i)
Next i
For i = 0 To 4
If Check13(i).Value = tru Then p(i) = 0 Else p(i) = 1
otvet(13) = otvet(13) & p(i)
Next i
For i = 0 To 4
If Check14(i).Value = tru Then p(i) = 0 Else p(i) = 1
otvet(14) = otvet(14) & p(i)
Next i
For i = 0 To 4
If Check15(i).Value = tru Then p(i) = 0 Else p(i) = 1
otvet(15) = otvet(15) & p(i)
Next i
For i = 0 To 4
If Check16(i).Value = tru Then p(i) = 0 Else p(i) = 1
otvet(16) = otvet(16) & p(i)
Next i
For i = 0 To 4
If Check17(i).Value = tru Then p(i) = 0 Else p(i) = 1
otvet(17) = otvet(17) & p(i)
Next i
For i = 0 To 4
If Check18(i).Value = tru Then p(i) = 0 Else p(i) = 1
otvet(18) = otvet(18) & p(i)
Next i
For i = 0 To 4
If Check19(i).Value = tru Then p(i) = 0 Else p(i) = 1
otvet(19) = otvet(19) & p(i)
Next i
For i = 0 To 4
If Check20(i).Value = tru Then p(i) = 0 Else p(i) = 1
otvet(20) = otvet(20) & p(i)
Next i
' Окончание блока
'Определение результата
For j = 1 To 20
If otvet(j) = shablon(k, j) Then rezalt = rezalt + 1
Next j
If rezalt ; 13 And rezalt 17 Then otmetka = 3
If rezalt 14 Then otmetka = 2
If rezalt ; 16 And rezalt 19 Then otmetka = 4
If rezalt ; 18 Then otmetka = 5
Label13.Caption = "Правильных ответов-"
Label15.Caption = "Оценка-"
Label14.Caption = rezalt
Label16.Caption = otmetka
Open "c:\Ведомость.txt" For Append As #1
Print #1, Familiya; Tab(40); rezalt; Tab(50); otmetka
Close #1
Stop
End Sub
Private Sub Form_Load()
spisok(1) = "Иванов"
spisok(2) = "Петров"
spisok(3) = "Иванова"
‘ идет ввод списка фамилий тестируемых
10 Familiya = InputBox("Введите свою Фамилию в именительном падеже")
If Familiya = "" Then Pushbuttom = MsgBox("Вы не авторизованы!" & Chr(13) & "Повторите попытку и будьте внимательны", 0 + 48): GoTo 10
For i = 1 To 80
If Familiya = spisok(i) Then GoTo 20
Next i
'Pushbuttom = MsgBox("Указанной фамилии нет в списке группы!" & Chr(13) & " Будьте внимательны. Пишите фамилию с большой буквы." & Chr(13) & "Повторите попытку", 0 + 48): GoTo 10
20 Label7.Caption = Familiya
Label2.Caption = 19
Label3.Caption = 60
Timer1.Enabled = True
Label5.Caption = Familiya
'определение номера варианта
Randomize
q1 = Int(Rnd * 10) + 1
Randomize
q2 = Int(Rnd * 10) + 10
q3 = q2 / 2
If q3 = Int(q3) Then q = q1 Else q = q2
Label10.Caption = q
'заполнение варианта
var(1, 1) = "1. Информационная технология - это:"
var(1, 2) = " а) процесс, направленный на получение информации, обеспечивающей достижение поставленных целей;"
‘ вводятся варианты заданий. Вручную, а не программно с помощью файлов доступа, это делается для того, чтобы «спрятать» в теле скомпилированного кода вопросы и ответы
'k-первое значение дв массива
k = q
For j = 1 To 110
Text1.Text = Text1.Text & var(k, j) & vbCrLf
Next j
End Sub
Private Sub Timer1_Timer()
Timer1.Enabled = True
Label3.Caption = Label3.Caption - 1
If Label3.Caption = 0 Then Label2.Caption = Label2.Caption - 1: Label3.Caption = 60
If Label2.Caption = 0 Then Timer1.Enabled = Fals: Label3.BackColor = HighLight
End Sub