Автор работы: Пользователь скрыл имя, 18 Декабря 2011 в 10:10, лабораторная работа
Цель: научится расшифровывать текст данным методом, составлять команды перебора символьных сочетаний, устанавливая факт совпадения одного символа за другим через заданный интервал следования, составлять команду замен символов текста на символы (знаки) ключевого словаря.
'Поиск слов по шаблону в тексте
'-----------------------------
texxt = TextBox2.Text 'переменной texxt присваиваем значение текстовой строки TextBox2.Text
dl1 = Len(TextBox2.Text) 'переменной dl1 присваиваем значение длины текстовой строки TextBox2.Text
Dim nabor(dl1) As String, fraza As String, schet As Integer
schet = 1
For i = 1 To dl1 - dl + 1 'цикл от 1 до (длины текста – длины слова +1)
fraza = ""
For z = 1 To dl
shablon(1, z) = Mid(texxt, i + z - 1, 1) 'массиву shablon на первой строке присваивается блок символов шифрованного текста из строковой переменной texxt с позиции i длиной dl
fraza = fraza + Mid(texxt, i + z - 1, 1) ' fraza это подстрока строковой переменной texxt с позиции i длиной dl
shablon(2, z) = "0" 'массиву shablon на второй строке присваивается “0”
Next
k = 0
For z = 1 To dl
If shablon(2, z) = "0" Then k = k + 1 : shablon(2, z) = Str(k)
For j = z + 1 To dl
If (shablon(1, z) = shablon(1, j)) And (shablon(2, j) = "0") Then shablon(2, j) = Str(k)
Next
Next
slovo2 = ""
For t = 1 To dl
slovo2 = slovo2 + Trim(shablon(2, t)) 'Строковой переменной slovo2 добавляем справа значение массива 2-ой строки столбцов t Trim(shablon(2, t))
Next
If slovo2 = slovo1 Then nabor(schet) = fraza : schet = schet + 1 'если найденный блок символов соответствует шаблону слова, то строковому массиву nabor присваиваем найденное слово
Next
For i = 1 To schet - 1
ComboBox1.Items.Add(nabor(i)) 'найденные шаблоны слов добавляем в выпадающий список
TextBox5.Text = TextBox5.Text + Str(i) + ") " + nabor(i) + vbCrLf ' текстовой строке TextBox5 присваиваем все найденные шаблоны слов по порядку
Next
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click 'Private Sub Button2_Click - процедура нажатия кнопки Button2 (замена символа)
texxt = TextBox2.Text
Dim a As Char, b As Char, tx As String
a = Trim(TextBox3.Text) : b = Trim(TextBox4.Text) ' символьной переменной a присваиваем значение текстовой строки TextBox3 (заменяемый символ); символьной переменной b присваиваем значение текстовой строки TextBox4 (выбранный символ)
tx = ""
For i = 1 To Len(texxt)
If Mid(texxt, i, 1) = a Then tx = tx + b Else tx = tx + Trim(Mid(texxt, i, 1)) ' от 1 до конца шифрованного текста: если символ в строке texxt на позиции i равен a то строковой переменной tx добавляем справа символ b, в противном случаи строковой переменной tx добавляем справа символ из строки texxt на позиции i
Next
texxt = tx ' строковой переменной texxt присваиваем строковую переменную tx
TextBox2.Text = text ' Текстовой строке присваиваем получившуюся строку
End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click 'Private Sub Button3_Click - процедура нажатия кнопки Button3 (Выход)
Me.Close() 'Закрытие формы
End Sub
Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click 'Private Sub Button4_Click - процедура нажатия кнопки Button4 (Заменить)
texxt = TextBox2.Text
Dim sh As String, tx As String
sl = Trim(TextBox1.Text) ' строковой переменной sl присваиваем значение текстовой строки TextBox1 (ключевое слово)
sh = Trim(ComboBox1.Text) ' строковой переменной sh присваиваем значение текстовой строки ComboBox1 (шаблон слова)
tx = ""
For k = 1 To Len(sh)
For i = 1 To Len(texxt)
If Mid(texxt, i, 1) = Mid(sh, k, 1) Then tx = tx + Mid(sl, k, 1) Else tx = tx + Trim(Mid(texxt, i, 1)) ' если i-ый символ шифрованного текста texxt равен k-ому символу шаблона слова, то строковой переменной tx добавляем справа k-ый символ ключевое слово sl, в противном случаи строковой переменной tx добавляем справа i-ый символ шифрованного текста texxt
Next
texxt = tx 'строковой переменной texxt присваиваем значение строковой переменной tx
tx = ""
Next
TextBox2.Text = texxt ' текстовой строке TextBox2 присваиваем значение строковой переменной texxt
End Sub
End Class
Информация о работе Расшифровка текста методом символьных замен