Объектно-ориентированное
программирование на языке Visual
Basic
177
^Щ|
Проект «Шифровка и дешифровка текстовых сообщений»
1
Разместить на форме три текстовых поля и две кнопки. При-
своить им имена:
txtSecrtext,
txtCod,
txtDecod,
cmdCod,
cmdDecod.
Сначала составим процедуру шифровки текстовых
сообще-
ний. Пусть ключевая фраза будет значением строковой пере-
менной strKF, а секретный текст значением свойства
Text
текстового
поля
txtSecrtext.
Будем
последовательно вырезать в цикле со счетчиком
bytl
символы из секретного текста, а затем во вложенном цикле со
счетчиком
bytJ
будем искать такой же символ в ключевой
фразе
и запоминать его порядковый номер в целочисленном
массиве
bytz.
Таким образом, секретный текст будет зашиф-
рован последовательностью чисел, хранящейся в целочислен-
ном массиве.
2
Для кнопки
cmdCod
ввести
программный
код событийной
процедуры cmdCod_Click () , реализующий шифрование
текстового
сообщения, введенного в текстовое поле
txtSecr-
text.
Секретная фраза (значение переменной
strKF)
должна
быть записана в программе в одну строку (без переносов).
Dim
bytl, bytJ, bytZ(l To 200) As
Byte,
strKF,
strA,
strB As
String
Private
Sub cmdCod_Click()
strKF
= "электронно-вычислительные машины,
компьютеры (железо) позволяют находить значения
функций,
а ещё свойства готовых объектов"
For
bytl
= 1 То Len (txtSecrtext .Text)
strA
= Mid$(txtSecrtext.Text,
bytl,
1)
For
bytJ
= 1 To Len (strKF)
If Mid$ (strKF, bytJ, 1) =
strA
Then
bytZ
(bytl)
= bytJ:
bytJ
= Len (strKF) + 1
Next
bytJ
txtCod.Text = txtCod.Text + Str (bytZ(bytl) )
Next
bytl
End Sub
Рассмотрим
теперь алгоритм дешифровки. Итак, в нашем
распоряжении шифровка в форме целочисленного массива
bytZ,
которая выведена в текстовое окно
txtCod.
Необходи-
мо
с помощью ключевой фразы превратить эту числовую после-
довательность в секретный текст.
Считывая по очередности числа шифровки (элементы цело-
численного массива
bytZ),
необходимо вырезать из ключевой
фразы символ, номер которого по порядку равен значению
числа шифровки. Полученный символ последовательно присо-