Ошибка в чтении файла (Необработанное исключение типа "System.ArgumentException")

NeGaT1qp

Дали пример программы. Я его напечатал. Запускаю, а мне выдает ошибку:
12 ответов

NeGaT1qp

NeGaT1qp, форум по фотошопу в другом месте. Выложите ваш код как текст, а не картинки.


NeGaT1qp

Public Class Form1
 
    Dim q As Integer
    Dim r As Integer
    Dim Строки(100) As String
    Dim z As Integer = 1
    Dim ЧислоСтрок As Integer
    Sub Следующийвопрос()
 
        If ЧислоСтрок >= 8 + q * 7 Then
            Me.Label1.Text = Строки(2 + q * 7)
            Me.RadioButton1.Text = Строки(3 + q * 7)
            Me.RadioButton1.Tag = Строки(4 + q * 7)
            Me.RadioButton2.Text = Строки(5 + q * 7)
            Me.RadioButton2.Tag = Строки(6 + q * 7)
            Me.RadioButton3.Text = Строки(7 + q * 7)
            Me.RadioButton3.Tag = Строки(8 + q * 7)
            RadioButton1.Checked = False
            RadioButton2.Checked = False
            RadioButton3.Checked = False
            Me.Button1.Enabled = False
            Me.Text = Строки(1) & ":Вопрос №" & q + 1
            q = q + 1
        End If
        If ЧислоСтрок < 8 + q * 7 Then
            Me.Button1.Text = "Завершить"
        End If
    End Sub
 
 
    Private Sub Button1_click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        If RadioButton1.Checked = True Then r = r + RadioButton1.Tag
        If RadioButton2.Checked = True Then r = r + RadioButton2.Tag
        If RadioButton3.Checked = True Then r = r + RadioButton3.Tag
        If Me.Button1.Text = "Снова" Then
            Me.Button1.Text = "Дальше"
            Label1.Height = Label1.Height / 2
            q = 0
            r = 0
            Call Следующийвопрос()
            Exit Sub
        End If
        If Me.Button1.Text = "Завершить" Then
            Me.Text = Строки(1)
            Label1.Height = Label1.Height * 2
            Label1.Text = "Тестирование завершено." & vbCrLf & "Правильных ответов:" &
                r.ToString & "из" & q.ToString & "(" & Math.Round((r \ q) * 100) & "%)"
            If r < q * 0.6 Then
                Label1.Text = Label1.Text & vbCrLf & "Тест не здан"
            Else
                Label1.Text = Label1.Text & vbCrLf & "Тест  здан"
            End If
            Button1.Text = "Снова"
        Else
            Call Следующийвопрос()
        End If
 
    End Sub
    Private Sub Form1_load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        Dim Файл As New System.IO.StreamReader("С:\test.txt",
            System.Text.ASCIIEncoding.GetEncoding(1251))
 
 
        Do While Файл.Peek() <> -1
            Строки(z) = Файл.ReadLine
            z = z + 1
        Loop
        Файл.Close()
        ЧислоСтрок = z - 1
        q = 0
        r = 0
        Call Следующийвопрос()
    End Sub
    Private Sub RadioButton1_checkedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioButton1.CheckedChanged
        RadioButton1.Enabled = True
    End Sub
    Private Sub RadioButton2_checkedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioButton2.CheckedChanged
        RadioButton1.Enabled = True
    End Sub
 
    Private Sub RadioButton3_checkedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioButton3.CheckedChanged
        RadioButton1.Enabled = True
    End Sub
    Private Sub RadioButton2_click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        Me.Close()
 
    End Sub
End Class


NeGaT1qp

Я так и предполагал, Диск Срусская) - что то из фантастики.
Dim Файл As New System.IO.StreamReader("С:\test.txt"


NeGaT1qp

О Господи...Я прочитал столько информации... а это оказалась просто ошибка в букве Спасибо!


NeGaT1qp

Еще проблемка... Что-то с двумя кнопками(Не хотят работать)


NeGaT1qp

Не хотят работать
А где код второй кнопки?


NeGaT1qp

Я перепечатал с чужого проекта...если несложно... подскажите как делать(Я в этом полный ноль). Просто программа понравилась и хотелось бы чтобы она у меня работала


NeGaT1qp

Просто программа понравилась
Понравилась говоришь? То есть, это чисто спортивный интерес ?


NeGaT1qp

Подскажите пожалуйста что там еще будет


NeGaT1qp

Проверьте пжалуста програмку. Это что-то типа интерактивного теста. Перепечатал всё, как дал учитель, но что-то не работает(
Public Class Form1
 
    Dim q As Integer
    Dim r As Integer
    Dim Строки(100) As String
    Dim z As Integer = 1
    Dim ЧислоСтрок As Integer
    Sub Следующийвопрос()
 
        If ЧислоСтрок >= 8 + q * 7 Then
            Me.Label1.Text = Строки(2 + q * 7)
            Me.RadioButton1.Text = Строки(3 + q * 7)
            Me.RadioButton1.Tag = Строки(4 + q * 7)
            Me.RadioButton2.Text = Строки(5 + q * 7)
            Me.RadioButton2.Tag = Строки(6 + q * 7)
            Me.RadioButton3.Text = Строки(7 + q * 7)
            Me.RadioButton3.Tag = Строки(8 + q * 7)
            RadioButton1.Checked = False
            RadioButton2.Checked = False
            RadioButton3.Checked = False
            Me.Button1.Enabled = False
            Me.Text = Строки(1) & ":Вопрос №" & q + 1
            q = q + 1
        End If
        If ЧислоСтрок < 8 + q * 7 Then
            Me.Button1.Text = "Завершить"
        End If
    End Sub
 
 
 
 
          
 
    Private Sub Button1_click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        If RadioButton1.Checked = True Then r = r + RadioButton1.Tag
        If RadioButton2.Checked = True Then r = r + RadioButton2.Tag
        If RadioButton3.Checked = True Then r = r + RadioButton3.Tag
        If Me.Button1.Text = "Снова" Then
            Me.Button1.Text = "Дальше"
            Label1.Height = Label1.Height / 2
            q = 0
            r = 0
            Call Следующийвопрос()
            Exit Sub
        End If
        If Me.Button1.Text = "Завершить" Then
            Me.Text = Строки(1)
            Label1.Height = Label1.Height * 2
            Label1.Text = "Тестирование завершено." & vbCrLf & "Правильных ответов:" &
                r.ToString & "из" & q.ToString & "(" & Math.Round((r \ q) * 100) & "%)"
            If r < q * 0.6 Then
                Label1.Text = Label1.Text & vbCrLf & "Тест не здан"
            Else
                Label1.Text = Label1.Text & vbCrLf & "Тест  здан"
            End If
            Button1.Text = "Снова"
        Else
            Call Следующийвопрос()
        End If
 
    End Sub
    Private Sub Form1_load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        Dim Файл As New System.IO.StreamReader("C:\test.txt",
            System.Text.ASCIIEncoding.GetEncoding(1251))
 
 
        Do While Файл.Peek() <> -1
            Строки(z) = Файл.ReadLine
            z = z + 1
        Loop
        Файл.Close()
        ЧислоСтрок = z - 1
        q = 0
        r = 0
        Call Следующийвопрос()
    End Sub
    Private Sub RadioButton1_СheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioButton1.CheckedChanged
        RadioButton1.Enabled = True
    End Sub
    Private Sub RadioButton2_checkedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioButton2.CheckedChanged
        RadioButton1.Enabled = True
    End Sub
 
    Private Sub RadioButton3_checkedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioButton3.CheckedChanged
        RadioButton1.Enabled = True
    End Sub
    Private Sub RadioButton2_click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        Me.Close()
 
    End Sub
 
 
End Class


NeGaT1qp

сама


NeGaT1qp

NeGaT1qp, Вы бы еще файл приложили test.txt
NeGaT1qp, Вы бы еще файл приложили test.txt
Ладно, уже не надо. Вот Вам рабочий код.
Public Class Form1
    Dim q As Integer
    Dim r As Integer
    Dim Строки(100) As String
    Dim z As Integer = 1
    Dim ЧислоСтрок As Integer
    Sub Следующийвопрос()
        If ЧислоСтрок >= 8 + q * 7 Then
            Me.Label1.Text = Строки(2 + q * 7)
            Me.RadioButton1.Text = Строки(3 + q * 7)
            Me.RadioButton1.Tag = Строки(4 + q * 7)
            Me.RadioButton2.Text = Строки(5 + q * 7)
            Me.RadioButton2.Tag = Строки(6 + q * 7)
            Me.RadioButton3.Text = Строки(7 + q * 7)
            Me.RadioButton3.Tag = Строки(8 + q * 7)
            RadioButton1.Checked = False
            RadioButton2.Checked = False
            RadioButton3.Checked = False
            Me.Button1.Enabled = False
            Me.Text = Строки(1) & ":Вопрос №" & q + 1
            q = q + 1
        End If
        If ЧислоСтрок < 8 + q * 7 Then
            Me.Button1.Text = "Завершить"
        End If
    End Sub
    Private Sub Button1_click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        If RadioButton1.Checked = True Then r = r + RadioButton1.Tag
        If RadioButton2.Checked = True Then r = r + RadioButton2.Tag
        If RadioButton3.Checked = True Then r = r + RadioButton3.Tag
        If Me.Button1.Text = "Снова" Then
            Me.Button1.Text = "Дальше"
            Label1.Height = Label1.Height / 2
            q = 0
            r = 0
            Call Следующийвопрос()
            Exit Sub
        End If
        If Me.Button1.Text = "Завершить" Then
            Me.Text = Строки(1)
            Label1.Height = Label1.Height * 2
            Label1.Text = "Тестирование завершено." & vbCrLf & "Правильных ответов:" & _
                r.ToString & "из" & q.ToString & "(" & Math.Round((r \ q) * 100) & "%)"
            If r < q * 0.6 Then
                Label1.Text = Label1.Text & vbCrLf & "Тест не здан"
            Else
                Label1.Text = Label1.Text & vbCrLf & "Тест  здан"
            End If
            Button1.Text = "Снова"
        Else
            Call Следующийвопрос()
        End If
    End Sub
    Private Sub Form1_load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        Dim Файл As New System.IO.StreamReader("C:\test.txt", System.Text.ASCIIEncoding.GetEncoding(1251))
        Do While Файл.Peek() <> -1
            Строки(z) = Файл.ReadLine
            z = z + 1
        Loop
        Файл.Close()
        ЧислоСтрок = z - 1
        q = 0
        r = 0
        Call Следующийвопрос()
    End Sub
    Private Sub RadioButton1_checkedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioButton1.CheckedChanged
        Me.Button1.Enabled = True
    End Sub
    Private Sub RadioButton2_checkedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioButton2.CheckedChanged
        Me.Button1.Enabled = True
    End Sub
 
    Private Sub RadioButton3_checkedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioButton3.CheckedChanged
        Me.Button1.Enabled = True
    End Sub
    Private Sub Button2_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        Me.Close()
    End Sub
End Class