Форум программистов
 
О проблемах, например, с регистрацией пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль.

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

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

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Ответ
 
Опции темы
Старый 16.01.2012, 23: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 вне форума Ответить с цитированием
Старый 16.01.2012, 23:32   #2
motorway
Участник клуба
 
Регистрация: 28.06.2009
Сообщений: 1,950
По умолчанию

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

Если я все правильно понял
Код:
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; 16.01.2012 в 23:44.
doober вне форума Ответить с цитированием
Старый 16.01.2012, 23: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, 00:10   #5
Чертенок7
 
Регистрация: 20.11.2011
Сообщений: 6
По умолчанию

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

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Зашифровать зашифровать фамилию, имя, отчество, группу студента Юленька*** Microsoft Office Excel 1 11.07.2011 16: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


Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru
Пеллетный котёл Emtas
котлы EMTAS
Здесь нужно купить рекламу за 7 тыс руб в месяц! )
пишите сюда - alarforum@yandex.ru
ИКС 840