Форум программистов, компьютерный форум, киберфорум
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.56/9: Рейтинг темы: голосов - 9, средняя оценка - 4.56
 Аватар для Евстефеич
17 / 17 / 2
Регистрация: 11.03.2014
Сообщений: 48
.NET 4.x

Индекс вне границ массива при дешифровке данных

12.03.2014, 15:00. Показов 2055. Ответов 24
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
И снова здравствуйте! На форуме Памирыч выкладывал код программы для тестирования, я немного его переработал. Необходимо прикрутить дешифрование. Если конкретнее, вчера я задавал вопрос в топике "шифрование на этапе записи в файл", решение нашлось. Сейчас нужно разобраться с дешифрованием. Вот код:
VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
Public Class Form1
    Dim Key As Byte() = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16} 'Ключ
    Dim IV As Byte() = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16} 'Вектор инициализации 
    Dim Коллекция As New Collection
    Dim Q() As String
    Dim Ответ() As String
    Dim ТекПоз As Integer
    Dim Прав As Integer = 0
    Dim Ошиб As Integer = 0
    Public Function Decrypt(ByVal fName As String)
        Dim txt As String = ""
        Dim RMCrypto As New Security.Cryptography.RijndaelManaged
        Dim fs As New IO.FileStream(fName, IO.FileMode.Open)
        Dim CryptStream As New Security.Cryptography.CryptoStream(fs, RMCrypto.CreateDecryptor(Key, IV), Security.Cryptography.CryptoStreamMode.Read)
        Dim SReader As New IO.StreamReader(CryptStream)
        txt = SReader.ReadToEnd()
        SReader.Close()
        fs.Close()
        CryptStream.Close()
        Return txt
    End Function
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        OpenFileDialog1.ShowDialog()
 
 
        Q = IO.File.ReadAllLines(OpenFileDialog1.FileName, System.Text.Encoding.Default)
        Q = Split(Decrypt(OpenFileDialog1.FileName), "'")
        For I As Integer = 0 To Q.Length - 1
            Коллекция.Add(Q(I))
        Next
        Randomize()
        NextQ()
    End Sub
    Sub NextQ()
        If Коллекция.Count > 0 Then
            ТекПоз = Rnd() * (Коллекция.Count - 1) + 1
            Ответ = Split(Коллекция(ТекПоз), "'")
            Label1.Text = Ответ(0)
            CheckBox1.Text = Ответ(1) : CheckBox2.Text = Ответ(2) : CheckBox3.Text = Ответ(3) : CheckBox4.Text = Ответ(4)
        Else
            MsgBox("Тест окончен" & vbCrLf & "Правильных ответов: " & Прав & vbCrLf & "Ошибок: " & Ошиб, MsgBoxStyle.Exclamation)
            Close()
        End If
    End Sub
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim Rght As Boolean = True
        If Button1.Text = "Ответить" Then
            For I As Integer = 1 To 4
                If Not Strings.Mid(Ответ(5), I, 1) = CType(Me.Controls("CheckBox" & I), CheckBox).Checked Then
                    Me.Controls("CheckBox" & I).ForeColor = Color.Red
                    Rght = False
                Else : Me.Controls("CheckBox" & I).ForeColor = Color.Green
                End If
            Next
            Коллекция.Remove(ТекПоз)
            Button1.Text = "ОК и далее >>"
            If Rght = True Then
                Прав += 1
            Else
                Ошиб += 1
            End If
        Else
            ClearCh()
            NextQ()
            Button1.Text = "Ответить"
        End If
    End Sub
    Sub ClearCh()
        For I As Integer = 1 To 4
            CType(Me.Controls("CheckBox" & I), CheckBox).Checked = False
            CType(Me.Controls("CheckBox" & I), CheckBox).ForeColor = Color.Black
        Next
    End Sub
End Class
На 39 строке при загрузке в программу зашифрованного файла вылетает "Индекс находился вне границ массива". Прошу помочь разобраться!
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
12.03.2014, 15:00
Ответы с готовыми решениями:

Ошибка "Индекс вне границ массива" при остановке процесса
Добрый день. Есть форма на ней кнопка, при нажатии на кнопку должен остановиться процесс, всё бы ничего, вот только при остановке...

Индекс находился вне границ массива
Доброго времени суток форумчане ломаю голову в чём может быть причина Dim Имя процесса As New Process Имя процесса =...

Индекс вне границ массива при работе с матрицей
Добрый день. Не могу понять как оформить двухмерный массив, чтобы индекс не улетал. Помогите, пожалуйста. public double getData(int...

24
Форумчанин.NET
 Аватар для AeroWhite
556 / 427 / 64
Регистрация: 12.02.2013
Сообщений: 834
12.03.2014, 15:23
Вы уверены, что массив здесь:
VB.NET
1
Ответ = Split(Коллекция(ТекПоз), "'")
Получает элемент с индексом 4?
1
 Аватар для Евстефеич
17 / 17 / 2
Регистрация: 11.03.2014
Сообщений: 48
12.03.2014, 15:44  [ТС]
AeroWhite, код был рабочий полностью, до того как я начал мудрить с дешифрованием. В указанной вами строке все верно, уверяю вас!

Добавлено через 4 минуты
AeroWhite, прошу прощения, я понял о чем вы. Есть конечно мысли, что после дешифрования структура файла нарушилась и пропали переходы на следующую строку. Раньше каждый вопрос был на отдельной строке, а сейчас все в одной. Я правильно вас понял?
0
Форумчанин.NET
 Аватар для AeroWhite
556 / 427 / 64
Регистрация: 12.02.2013
Сообщений: 834
12.03.2014, 15:46
Цитата Сообщение от Евстефеич Посмотреть сообщение
Есть конечно мысли, что после дешифрования структура файла нарушилась и пропали переходы на следующую строку. Раньше каждый вопрос был на отдельной строке, а сейчас все в одной. Я правильно вас понял?
Именно так
0
 Аватар для Евстефеич
17 / 17 / 2
Регистрация: 11.03.2014
Сообщений: 48
12.03.2014, 16:46  [ТС]
Сейчас проверю это дело и отпишусь

Добавлено через 58 минут
Действительно, все пишется в одну строку. Как я понял, ошибка в той части программы, которая создает файл с шифрованными ответами теста. Там, где должен быть переход на новую строку, программа пишет что то-вроде "�f}H>�g�7�9��'". Есть мысли, как исправить? код:
VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
Public Class Form1
    Dim Key As Byte() = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16} 'Ключ
    Dim IV As Byte() = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16} 'Вектор инициализации
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        FileOpen(1, Application.StartupPath & "\NewTest.tren_test", OpenMode.Append)
    End Sub
    Private Sub Form1_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
        Try
            FileClose(1)
            Kill(Application.StartupPath & "\NewTest.tren_test")
        Catch ex As Exception
        End Try
    End Sub
    Function Ответ1() As Integer
        If CheckBox1.Checked Then Return 1 Else Return 0
    End Function
    Function Ответ2() As Integer
        If CheckBox2.Checked Then Return 1 Else Return 0
    End Function
    Function Ответ3() As Integer
        If CheckBox3.Checked Then Return 1 Else Return 0
    End Function
    Function Ответ4() As Integer
        If CheckBox4.Checked Then Return 1 Else Return 0
    End Function
    Function Проверка() As Boolean
        If TextBox1.Text = "" Or TextBox2.Text = "" Or TextBox3.Text = "" Or TextBox4.Text = "" Or TextBox5.Text = "" Then
            Return False
        Else
            Return True
        End If
    End Function
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        If Проверка() = True Then
            WriteLine(1, Encrypt(Application.StartupPath & "\NewTest2.tren_test", TextBox1.Text & "'" & TextBox2.Text & "'" & TextBox3.Text & "'" & TextBox4.Text & "'" & TextBox5.Text & "'" & Ответ1() & Ответ2() & Ответ3() & Ответ4()))
            TextBox1.Text = "" : TextBox2.Text = "" : TextBox3.Text = "" : TextBox4.Text = "" : TextBox5.Text = ""
            CheckBox1.Checked = 0
            CheckBox2.Checked = 0
            CheckBox3.Checked = 0
            CheckBox4.Checked = 0
            Button2.Text = "Закончить тест"
        Else
            MsgBox("Пожалуйста, заполните необходимые поля!", MsgBoxStyle.Exclamation)
        End If
    End Sub
    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        FileClose(1)
        If Button2.Text = "Закончить тест" Then
            SaveFileDialog1.ShowDialog()
            FileCopy(Application.StartupPath & "\NewTest2.tren_test", SaveFileDialog1.FileName)
            Kill(Application.StartupPath & "\NewTest2.tren_test")
            Close()
        Else
            Close()
        End If
 
    End Sub
    Public Function Encrypt(ByVal fName As String, ByVal txtEncrypt As String)
        Dim RMCrypto As New Security.Cryptography.RijndaelManaged
        Dim fs As New IO.FileStream(fName, IO.FileMode.Append)
        Dim CryptStream As New Security.Cryptography.CryptoStream(fs, RMCrypto.CreateEncryptor(Key, IV), Security.Cryptography.CryptoStreamMode.Write)
        Dim SWriter As New IO.StreamWriter(CryptStream)
        SWriter.WriteLine(txtEncrypt)
        SWriter.Close()
        fs.Close()
        CryptStream.Close()
        Return txtEncrypt
    End Function
0
Почетный модератор
 Аватар для Памирыч
23251 / 9163 / 1084
Регистрация: 11.04.2010
Сообщений: 11,014
12.03.2014, 18:06
Цитата Сообщение от Евстефеич Посмотреть сообщение
все пишется в одну строку
Именно так и должно быть.
Ведь шифруется всё, а перенос строки - это самая что ни на есть часть записи
0
 Аватар для Евстефеич
17 / 17 / 2
Регистрация: 11.03.2014
Сообщений: 48
12.03.2014, 18:12  [ТС]
а.. ну да, точно получается все таки беда с дешифрованием. У меня уже голова квадратная от всего этого, не могу разобраться в чем ошибка(
0
Почетный модератор
 Аватар для Памирыч
23251 / 9163 / 1084
Регистрация: 11.04.2010
Сообщений: 11,014
12.03.2014, 18:15
Вот функция дешифрования
VB.NET
1
2
3
4
5
6
7
8
9
10
    Public Function Decrypt(ByVal fName As String) As String
        Dim RMCrypto As New Security.Cryptography.RijndaelManaged
        Dim fs As New IO.FileStream(fName, IO.FileMode.Open)
        Dim CryptStream As New Security.Cryptography.CryptoStream(fs, RMCrypto.CreateDecryptor(Key, IV), Security.Cryptography.CryptoStreamMode.Read)
        Dim SReader As New IO.StreamReader(CryptStream)
        Decrypt = SReader.ReadToEnd()
        SReader.Close()
        fs.Close()
        CryptStream.Close()
    End Function
У нее один параметр - имя файла.
Функция вернет расшифрованную строку
0
 Аватар для Евстефеич
17 / 17 / 2
Регистрация: 11.03.2014
Сообщений: 48
12.03.2014, 18:22  [ТС]
Цитата Сообщение от Памирыч Посмотреть сообщение
Вот функция дешифрования
мне кажется функция, написанная мной выше абсолютно такая же, может я не так применяю ее?
0
Почетный модератор
 Аватар для Памирыч
23251 / 9163 / 1084
Регистрация: 11.04.2010
Сообщений: 11,014
12.03.2014, 18:27
Так. А у Вас шифрование как-то не так идет.
Вот Ваша строка:
VB.NET
1
WriteLine(1, Encrypt(Application.StartupPath & "\NewTest2.tren_test", TextBox1.Text & "'" & TextBox2.Text & "'" & TextBox3.Text & "'" & TextBox4.Text & "'" & TextBox5.Text & "'" & Ответ1() & Ответ2() & Ответ3() & Ответ4()))
WriteLine здесь не нужно вообще.
Encrypt по идее используется "как есть":
VB.NET
1
Encrypt(Application.StartupPath & "\NewTest2.tren_test", TextBox1.Te..........вет3() & Ответ4())
Но тут запишется только одна строка, а Вам-то, я так понимаю, надо несколько - сколько вопросов, столько и строк?

Вы не сделали, что я советовал: записывать все в память, т.е. в переменную.

Где-то вверху ее заводите
VB.NET
1
Dim Ansvrs As String
А в кнопке не шифруете сразу, что есть, а пополняете переменную

VB.NET
1
Ansvrs &= TextBox1.Te..........вет3() & Ответ4()) & VbCrLf
И так много раз, у Вас эта переменная будет все больше и больше.
Когда все закончилось, тут Вы ее и пишете в файл:
VB.NET
1
Encrypt(Application.StartupPath & "\NewTest2.tren_test", Ansvrs)
Добавлено через 2 минуты
Цитата Сообщение от Евстефеич Посмотреть сообщение
функция, написанная мной выше абсолютно такая же
Абсолютно другая. Та шифрует, а эта - расшифровывает.
И там процедура (должна быть, не понимаю, почему у Вас она стала функцией), а я только что привел - функцию
1
 Аватар для Евстефеич
17 / 17 / 2
Регистрация: 11.03.2014
Сообщений: 48
12.03.2014, 18:28  [ТС]
Большое спасибо за подробный ответ, Памирыч! с переменной действительно упустил моментЧто ж, попробуем сделать в точности, как вы сказали!
0
12.03.2014, 18:43

Не по теме:

Я бы вообще все переделал на классах, классы бы сериализовал, и шифровать не пришлось (хотя, при желании и это возможно). Создается бинарник, в котором уже черт ногу сломит.

Но пока наверно Вам голову этим забивать рано

0
 Аватар для Евстефеич
17 / 17 / 2
Регистрация: 11.03.2014
Сообщений: 48
12.03.2014, 23:03  [ТС]
Цитата Сообщение от Памирыч Посмотреть сообщение
Не по теме:
Я бы вообще все переделал на классах, классы бы сериализовал, и шифровать не пришлось (хотя, при желании и это возможно). Создается бинарник, в котором уже черт ногу сломит.
Но пока наверно Вам голову этим забивать рано
Да, рановато пока). Это так скажем мааалая часть диплома, если бы он весь был посвящен программе тестирования - тогда бы действительно следовало бы заморочиться))). По сабжу - та часть, которая выполняет шифрование, с ней проблем нет. И которая дешифрование делает тоже на первый взгляд нет проблем. Но я вот заметил, что он только один вопрос считывает из файла (первый) и на этом заканчивает тестирование. Может сплит конечно не так поставил, но без сплита он вообще не хотел работать, писал - невозможно привести string к одномерному массиву из string.
VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
Public Class Form1
    Dim Key As Byte() = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16} 'Ключ
    Dim IV As Byte() = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16} 'Вектор инициализации 
    Dim Коллекция As New Collection
    Dim Q() As String
    Dim Ответ() As String
    Dim ТекПоз As Integer
    Dim Прав As Integer = 0
    Dim Ошиб As Integer = 0
    Dim b As String
   Public Function Decrypt(ByVal fName As String) As String
        Dim RMCrypto As New Security.Cryptography.RijndaelManaged
        Dim fs As New IO.FileStream(fName, IO.FileMode.Open)
        Dim CryptStream As New Security.Cryptography.CryptoStream(fs, RMCrypto.CreateDecryptor(Key, IV), Security.Cryptography.CryptoStreamMode.Read)
        Dim SReader As New IO.StreamReader(CryptStream)
        Decrypt = SReader.ReadToEnd()
        SReader.Close()
        fs.Close()
        CryptStream.Close()
    End Function
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        OpenFileDialog1.ShowDialog()
        b = Decrypt(OpenFileDialog1.FileName)
        Q = Split(b, "vbCrLf")
        For I As Integer = 0 To q.Length - 1
            Коллекция.Add(Q(I))
        Next
        Randomize()
        NextQ()
    End Sub
    Sub NextQ()
        If Коллекция.Count > 0 Then
            ТекПоз = Rnd() * (Коллекция.Count - 1) + 1
            Ответ = Split(Коллекция(ТекПоз), "'")
            Label1.Text = Ответ(0)
            CheckBox1.Text = Ответ(1) : CheckBox2.Text = Ответ(2) : CheckBox3.Text = Ответ(3) : CheckBox4.Text = Ответ(4)
        Else
            MsgBox("Тест окончен" & vbCrLf & "Правильных ответов: " & Прав & vbCrLf & "Ошибок: " & Ошиб, MsgBoxStyle.Exclamation)
            Close()
        End If
    End Sub
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim Rght As Boolean = True
        If Button1.Text = "Ответить" Then
            For I As Integer = 1 To 4
                If Not Strings.Mid(Ответ(5), I, 1) = CType(Me.Controls("CheckBox" & I), CheckBox).Checked Then
                    Me.Controls("CheckBox" & I).ForeColor = Color.Red
                    Rght = False
                Else : Me.Controls("CheckBox" & I).ForeColor = Color.Green
                End If
            Next
            Коллекция.Remove(ТекПоз)
            Button1.Text = "ОК и далее >>"
            If Rght = True Then
                Прав += 1
            Else
                Ошиб += 1
            End If
        Else
            ClearCh()
            NextQ()
            Button1.Text = "Ответить"
        End If
    End Sub
    Sub ClearCh()
        For I As Integer = 1 To 4
            CType(Me.Controls("CheckBox" & I), CheckBox).Checked = False
            CType(Me.Controls("CheckBox" & I), CheckBox).ForeColor = Color.Black
        Next
    End Sub
End class
0
Почетный модератор
 Аватар для Памирыч
23251 / 9163 / 1084
Регистрация: 11.04.2010
Сообщений: 11,014
13.03.2014, 05:53
Цитата Сообщение от Евстефеич Посмотреть сообщение
Q = Split(b, "vbCrLf")
Кавычки не нужны
0
 Аватар для Евстефеич
17 / 17 / 2
Регистрация: 11.03.2014
Сообщений: 48
13.03.2014, 09:32  [ТС]
Цитата Сообщение от Памирыч Посмотреть сообщение
Сообщение от Евстефеич
Q = Split(b, "vbCrLf")
Кавычки не нужны
Кавычки убрал, грузит первый вопрос, отвечаем - переходит на второй, после второго не переходит на третий - индекс находился вне границ массива

Добавлено через 6 минут
Это если в файле три вопроса, если пять - то после ответа на первый вылетает "Индекс вне границ массива"
0
Почетный модератор
 Аватар для Памирыч
23251 / 9163 / 1084
Регистрация: 11.04.2010
Сообщений: 11,014
13.03.2014, 09:47
Евстефеич, сложно сказать. Смотрите в отладчике, чему и что равно и в какой момент
1
 Аватар для Евстефеич
17 / 17 / 2
Регистрация: 11.03.2014
Сообщений: 48
13.03.2014, 10:43  [ТС]
Цитата Сообщение от Памирыч Посмотреть сообщение
Евстефеич, сложно сказать. Смотрите в отладчике, чему и что равно и в какой момент
Есть одна мысль. здесь
Цитата Сообщение от Памирыч Посмотреть сообщение
А в кнопке не шифруете сразу, что есть, а пополняете переменную
Код Visual Basic .NET
Ansvrs &= TextBox1.Te..........вет3() & Ответ4()) & VbCrLf
Когда я забиваю в переменную последний вопрос, после него ставится переход на новую строку. А строка пустая. Вопроса в ней нет.
Цитата Сообщение от Евстефеич Посмотреть сообщение
Q = Split(b, "vbCrLf")
затем когда делю сплитом на массив строк, программа думает что должен быть еще один вопрос, а его нет - строка пустая. Как вы считаете?
0
Почетный модератор
 Аватар для Памирыч
23251 / 9163 / 1084
Регистрация: 11.04.2010
Сообщений: 11,014
13.03.2014, 11:06
Цитата Сообщение от Евстефеич Посмотреть сообщение
затем когда делю сплитом на массив строк, программа думает что должен быть еще один вопрос, а его нет - строка пустая. Как вы считаете?
Да, забыл предупредить, будет пустая строка в конце.
В этом случае или удалять перед записью эту строку, или проводить какие-то проверки и дописывать/не дописывать VBCrLf, или при чтении писать не
VB.NET
1
For I As Integer = 0 To q.Length - 2 'Вместо 1 ставим 2
1
 Аватар для Евстефеич
17 / 17 / 2
Регистрация: 11.03.2014
Сообщений: 48
13.03.2014, 11:18  [ТС]
этот способ не работает, попробую удалить строку
0
Почетный модератор
 Аватар для Памирыч
23251 / 9163 / 1084
Регистрация: 11.04.2010
Сообщений: 11,014
13.03.2014, 11:26
Вот еще
VB.NET
1
2
3
4
For I As Integer = 0 To q.Length - 1
If Q(I) <> "" Then Коллекция.Add(Q(I))
            
        Next
Добавлено через 4 минуты
Вообще, можно завести коллекцию, и добавлять в нее вопросы, а не просто в строку.
Но коллекция - есть коллекция, нам-то нужна строка для шифрования.

Вот пример, как коллекцию преобразовать в строку
VB.NET
1
2
3
4
5
        Dim Col As New List(Of String)
        Col.Add("String1")
        Col.Add("String2")
        Col.Add("ThirdString")
        MsgBox(Join(Col.ToArray, vbCrLf))
Так не добавляется ничего лишнего
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
13.03.2014, 11:26
Помогаю со студенческими работами здесь

Индекс находился вне границ массива при вызове args
Написал вот такой код: static void Main(string args) { var Path = args; var Filter = args; ...

Индекс находился вне границ массива при работе с массивами
Добрый вечер! Застрял на такой вот замечательной ошибке...Подскажите, где накасячил! using System; using System.Collections.Generic;...

Программа получения данных с GPS датчика. Индекс находился вне границ массива
Здравствуйте. Пишу программу получения данных с GPS датчика, и столкнулся с такой проблемой - в коде приведенном ниже выдает ошибку...

Индекс находился вне границ массива при загрузке элементов из Datagridview
Загружаю элементы из datagridview в массив таким вот способом, и вылетает error &quot;Индекс находился вне границ массива&quot;. Не могу понять...

Индекс находился вне границ массива в List при параллельных вычислениях
BudgetReport reportOldState = GetBudgetReport(this.Id); List&lt;BudgetReportElement&gt; updatedElements = new...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru