Program is Visual Studio 2012 Here is an code for encrypting

Program is Visual Studio 2012. Here is an code for encrypting i\'m trying to use but i\'m having trouble with the \"key(j) = KeyString.Substring(j, 1)\". Keep getting an error code \"Index and length must refer to a location within the string.\" How can i fix this.

Private Sub encrypt_Click(sender As Object, e As EventArgs) Handles encrypt.Click

Dim key(3) As Integer
Dim i, j, CharASCII, KeyDigit, ComboBox As Integer
Dim CurrentChar, KeyString As String

KeyString = ComboBox

For i = 0 To RichTextBox1.Text.Length - 1

CurrentChar = RichTextBox1.Text.Substring(i, 1)
If Asc(CurrentChar) = 13 Then
RichTextBox1.Text = RichTextBox1.Text + Chr(13)
ElseIf Asc(CurrentChar) = 10 Then
RichTextBox1.Text = RichTextBox1.Text + Chr(10)
Else
KeyDigit = i Mod 4
For j = 0 To 3
key(j) = KeyString.Substring(j, 1)
Next
CharASCII = Asc(CurrentChar) + key(KeyDigit)

If CharASCII > 126 Then
CharASCII = CharASCII - 95
End If

ListBox1.Text = ListBox1.Text + Chr(CharASCII)
End If
Next
End Sub

Solution

Your Code:

Private Sub encrypt_Click(sender As Object, e As EventArgs) Handles encrypt.Click

Dim key(3) As Integer
Dim i, j, CharASCII, KeyDigit, ComboBox As Integer
Dim CurrentChar, KeyString As String

KeyString = ComboBox

For i = 0 To RichTextBox1.Text.Length - 1

CurrentChar = RichTextBox1.Text.Substring(i, 1)
If Asc(CurrentChar) = 13 Then
RichTextBox1.Text = RichTextBox1.Text + Chr(13)
ElseIf Asc(CurrentChar) = 10 Then
RichTextBox1.Text = RichTextBox1.Text + Chr(10)
Else
KeyDigit = i Mod 4
For j = 0 To 3
key(j) = KeyString.Substring(j, 1)
Next
CharASCII = Asc(CurrentChar) + key(KeyDigit)

If CharASCII > 126 Then
CharASCII = CharASCII - 95
End If

ListBox1.Text = ListBox1.Text + Chr(CharASCII)
End If
Next
End Sub

The problem:

You are getting that error because, you have defined key as key(3) and in the loop you are executing till 0-3 (means 0,1,2,3). You have defined key as an array of 3 variables but you are assigning values at the 4th location which doesn\'t exist. That\'s why you are seeing this error.

Define the key as key(4). Your code will work perfectly.

Program is Visual Studio 2012. Here is an code for encrypting i\'m trying to use but i\'m having trouble with the \
Program is Visual Studio 2012. Here is an code for encrypting i\'m trying to use but i\'m having trouble with the \

Get Help Now

Submit a Take Down Notice

Tutor
Tutor: Dr Jack
Most rated tutor on our site