Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.01.2012, 00:02   #1
Чертенок7
 
Регистрация: 20.11.2011
Сообщений: 6
По умолчанию зашифровать,расшифровать текст

Здравствуйте!выполняю задание: чтобы зашифровать текст, записанный с помощью русских букв(прописных) и знаков препинания,его можно переписать, заменив каждую букву на N-ую букву,где N сдвиг по алфавиту(можно представить что буквы идут по кругу как часы).зашифровать и расшифровать текст(форма,элементы управления)
я написала, но у меня программе без разницы что шифровать она по всей таблицы кодировки ходит, а надо тока от 192 до 223 как понимаю я .Может есть у кого идеи,подскажите пожалуйста
Код:
Dim striz, strpos As String
Dim byk_zam, i As Integer
Const sdv As Integer = 2
Private Sub CommandButton1_Click()
striz = TextBox1.Text
For i = 1 To Len(striz)
byk_zam = Asc(Mid(striz, i, 1)) + sdv
MsgBox byk_zam
If byk_zam > 223 Then
byk_zam = byk_zam - 223 + 191
End If
strpos = strpos & Chr(byk_zam)
Next i
TextBox1 = strpos
End Sub

Private Sub CommandButton2_Click()
striz = TextBox1.Text
For i = 1 To Len(striz)
byk_zam = Asc(Mid(striz, i, 1)) - sdv
If byk_zam < 192 Then
byk_zam = byk_zam + 223 - 191
MsgBox byk_zam
End If
strpos = strpos & Chr(byk_zam)
Next i
TextBox1 = strpos
End Sub

Private Sub CommandButton3_Click()
TextBox1 = ""
TextBox2 = ""
End Sub
Чертенок7 вне форума Ответить с цитированием
Старый 17.01.2012, 00:32   #2
motorway
Участник клуба
 
Регистрация: 28.06.2009
Сообщений: 1,950
По умолчанию

Ну у вас же есть ограничения if по коду символа...
а если нужно только в диапазоне каком-то менять буквы, то можно использовать Mod (остаток от деления).
motorway вне форума Ответить с цитированием
Старый 17.01.2012, 00:41   #3
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

Если я все правильно понял
Код:
Dim striz, strpos As String
Dim byk_zam, i As Integer
Const sdv As Integer = 2
Private Sub CommandButton1_Click()
striz = TextBox1.Text
For i = 1 To Len(striz)
byk_zam = Asc(Mid(striz, i, 1)) + sdv
MsgBox byk_zam
If byk_zam > 255 Then
byk_zam = byk_zam - 32
End If
strpos = strpos & Chr(byk_zam)
Next i
TextBox1 = strpos
End Sub

Private Sub CommandButton2_Click()
strpos = ""
striz = TextBox1.Text
For i = 1 To Len(striz)
byk_zam = Asc(Mid(striz, i, 1)) - sdv
If byk_zam < 224 Then
byk_zam = byk_zam + 32
MsgBox byk_zam
End If
strpos = strpos & Chr(byk_zam)
Next i
TextBox2 = strpos
End Sub

Private Sub CommandButton3_Click()
TextBox1 = ""
TextBox2 = ""
End Sub
Анализ,обработка данных Недорого

Последний раз редактировалось doober; 17.01.2012 в 00:44.
doober вне форума Ответить с цитированием
Старый 17.01.2012, 00:53   #4
Чертенок7
 
Регистрация: 20.11.2011
Сообщений: 6
По умолчанию

А Я ВОТ ТАК ПОПРОБОВАЛА ТОЖЕ РАБОТАЕТ
Код:
Dim s0, s1 As String, byk, i As Integer
Const sd = 3

Private Sub CommandButton1_Click()
s0 = TextBox1
For i = 1 To Len(s0)
byk = Asc(Mid(s0, i, 1))
If byk >= 192 And byk <= 233 Then
byk = byk + sd
Else
byk = byk
End If
s1 = s1 & Chr(byk)
Next
TextBox1 = s1
End Sub

Private Sub CommandButton2_Click()
s0 = TextBox1
For i = 1 To Len(s0)
byk = Asc(Mid(s0, i, 1))
If byk >= 192 And byk <= 233 Then
byk = byk - sd
Else
byk = byk
End If
s1 = s1 & Chr(byk)
Next
TextBox1 = s1
End Sub
Чертенок7 вне форума Ответить с цитированием
Старый 17.01.2012, 01:10   #5
Чертенок7
 
Регистрация: 20.11.2011
Сообщений: 6
По умолчанию

ВОТ ТОЛЬКО ОЧИСТКА КОСЯЧНО РАБОТАЕТ,НЕ ПОМОЖИТЕ ПОНЯТЬ ПОЧЕМУ?она удаляет тока с поля,но в памяти поля она сохраняется и при нажании кнопки зашифровать новое слово , старые записи выходят
Чертенок7 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Зашифровать зашифровать фамилию, имя, отчество, группу студента Юленька*** Microsoft Office Excel 1 11.07.2011 17:03
Зашифровать заданный текст на Паскале bad wolf Помощь студентам 6 12.11.2010 22:41
как зашифровать текст в картинку? urivskay Общие вопросы C/C++ 0 16.01.2010 18:01
Зашифровать текст Lems11 Помощь студентам 6 19.12.2009 20:35
Расшифровать текст зная 1 слово. Руслантус Общие вопросы C/C++ 3 27.02.2009 17:31