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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 27.03.2013, 18:22   #1
danada1
Пользователь
 
Регистрация: 27.01.2013
Сообщений: 41
Восклицание Как сделать обратное преобразование

суть в чём, при вводе символа программа преобразует его в ascii-код.
код для преобразования я написал, вот:

КОД НА VISUAL BASIC

Код:
Dim s As String
Dim z As String
Dim a As Integer
z = ""
s = Text1
For i = 1 To Len(s)
f = Mid(s, i, 1)
a = Asc(f)
z = z + Str(a)
Next i
Text2 = Trim(z)
но ещё нужно выполнить обратное, т.е из ascii-кода получить его значение. причём, обратное преобразование выполняется не одного символа, а нескольких слов.

т.е. например:
преобразуем слово "слово", получим -> 241 235 238 226 238
теперь нужно преобразовать 241 235 238 226 238 -> слово

Последний раз редактировалось danada1; 27.03.2013 в 20:40.
danada1 вне форума Ответить с цитированием
Старый 27.03.2013, 20:04   #2
hon
Форумчанин
 
Регистрация: 08.06.2011
Сообщений: 693
По умолчанию

А по каковски вы пишите код? Не по д`Эльфийски, не по Паскальски, не по JavaScriptски. По каковски вы пишите код?
hon вне форума Ответить с цитированием
Старый 27.03.2013, 20:19   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

если я правильно понимаю, то это код на VBA (или Visual Basic)
Serge_Bliznykov вне форума Ответить с цитированием
Старый 27.03.2013, 20:26   #4
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Визуал басик. Попробуйте CHR, должна быть антогонистом ASC.
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 27.03.2013, 20:37   #5
danada1
Пользователь
 
Регистрация: 27.01.2013
Сообщений: 41
По умолчанию

я же специально выделил:
Цитата:
причём, обратное преобразование выполняется не одного символа, а нескольких слов.
chr - используется для преобразования одного символа (числового значения)

для целых слов chr не применим
danada1 вне форума Ответить с цитированием
Старый 27.03.2013, 20:39   #6
danada1
Пользователь
 
Регистрация: 27.01.2013
Сообщений: 41
По умолчанию

в результате преобразования получится: 241 235 238 226 238

нужно по отдельности рассмотреть, сначала 241 -> преобразовать код в букву (или символ), далее 235 и так далее
danada1 вне форума Ответить с цитированием
Старый 27.03.2013, 20:46   #7
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

...элементарно ...VBS мне ближе:
Код:
Dim s 
Dim z
Dim a
s = "слово"
For i = 1 To Len(s)
f = Mid(s, i, 1)
a = Asc(f) '
z = z + cstr(a)
Next
msgbox z + " - это перевод строки в ASC-набор"
'
i = 1
s = ""
Do While i < Len(z)
f = Mid(z, i, 3)
a = chr(f) '
s = s + a
i = i + 3
Loop
msgbox s + " - это перевод ASC-набора в строку"
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 27.03.2013, 21:26   #8
danada1
Пользователь
 
Регистрация: 27.01.2013
Сообщений: 41
По умолчанию

что-то вторая часть не работает
к тому же не все буквы (символы) имеют 3х-значный код
Код:
...
f = Mid(z, i, 3)
...
плюс ко всему, должны учитываться пробелы
danada1 вне форума Ответить с цитированием
Старый 27.03.2013, 22:11   #9
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

Цитата:
что-то вторая часть не работает
работает.

Цитата:
к тому же не все буквы (символы) имеют 3х-значный код
верно, не все ж коту масленица, подумайте.

Цитата:
плюс ко всему, должны учитываться пробелы
это тоже ваша задача

зы: пробелы, кстати, учитываются, ибо они тоже символы ...ладно, сжалюсь, добавим всего лишь условие:
Код:
if len(cstr(a))<3 then z = z + "0" + cstr(a) else z = z + cstr(a)
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation

Последний раз редактировалось raxp; 27.03.2013 в 22:25.
raxp вне форума Ответить с цитированием
Старый 27.03.2013, 23:11   #10
danada1
Пользователь
 
Регистрация: 27.01.2013
Сообщений: 41
По умолчанию

что-то не совсем так работает
к тому же слово вводит пользователь в поле text3 (в моём случае)

а если изменить
Код:
s = "слово"
на
Код:
s = text3
то здесь бьёт ошибку
Код:
a = Chr(f)
danada1 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нейросеть. Обратное распространение ошибки NovGosh Помощь студентам 0 06.06.2012 17:58
обратное геокодирование strannick Microsoft Office Excel 9 11.01.2012 09:35
обратное отображение содержимого ListView ShamanK C# (си шарп) 1 23.11.2011 22:03
Обратное о модулю Cakeinpanic Общие вопросы C/C++ 1 04.06.2009 08:32
обратное распределение Стьедента в Exel vvo1962 Microsoft Office Excel 2 14.12.2008 11:09