Не работает скомпилированная программа 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

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 3.6 из 5
Похожие ответы