Декодирование HEX

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
KDima
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 759
Зарегистрирован: 14.07.2004 (Ср) 23:14
Откуда: СПб

Декодирование HEX

Сообщение KDima » 02.04.2005 (Сб) 15:51

Как мне раскодировать значение некое...
Ну вот допустим у меня есть HH моя прога сама обрабатывает две буквы HH! и запускает в процу два значения. Похоже 16 и 16! :D
Как получить 256? :D
Просьба программерам на VB не беспокоится! 8)
Хороший прогер не тот, кто всё знает, хороший прогер знает, где найти знание.

Последний раз редактировалось: Administrator (15.07.2004 (Вт) 00:01), всего редактировалось 999 раз(а)

GM
programador
programador
 
Сообщения: 1427
Зарегистрирован: 24.06.2003 (Вт) 15:56
Откуда: 194.67.52.100

Сообщение GM » 02.04.2005 (Сб) 17:41

HEX->DEC
Код: Выделить всё
msgbox val("&H" & value & "&")

Это ты имееш ввиду?
الفيجوال بيسك الرابح

KDima
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 759
Зарегистрирован: 14.07.2004 (Ср) 23:14
Откуда: СПб

Сообщение KDima » 02.04.2005 (Сб) 20:27

Нет!
Я декодирую Quoted-Printable текст.
Он выглядит так: =AB =12 =F9 =B6 =01
AB, 12, F9, B6, 01 это числа в хексе
Моя прога оочень круто распарсивает этот текст :)
и передаёт его некой библе в процу! мне нужно дописать в библу.
Предположим передаются сразу соответсвующие намберы!
Ака =01 => Call MyProc(0, 1)
Ака =AB => Call MyProc(11, 12)

MyProc должна вернуть число, которое в хексе.... было!
Ну короче нам нужны телепаты! :roll: :)
Хороший прогер не тот, кто всё знает, хороший прогер знает, где найти знание.

Последний раз редактировалось: Administrator (15.07.2004 (Вт) 00:01), всего редактировалось 999 раз(а)

Inferno
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 179
Зарегистрирован: 26.01.2005 (Ср) 1:06

Сообщение Inferno » 03.04.2005 (Вс) 3:46

Public Function HeXToDec(HexValue As String) As Byte
Dim LowByte As Byte
Dim HightByte As Byte

If Asc(Mid(HexValue, 2, 1)) > 64 And Asc(Mid(HexValue, 2, 1)) < 71 Then LowByte = Asc(Mid(HexValue, 2, 1)) - 55
If Asc(Mid(HexValue, 1, 1)) > 64 And Asc(Mid(HexValue, 1, 1)) < 71 Then HightByte = Asc(Mid(HexValue, 1, 1)) - 55
HeXToDec = HightByte * 16 + LowByte
End Function

Надеюсь разберешься.

KDima
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 759
Зарегистрирован: 14.07.2004 (Ср) 23:14
Откуда: СПб

Сообщение KDima » 03.04.2005 (Вс) 12:58

HeXToDec = HightByte * 16 + LowByte

:oops: :oops: :oops:
Так просто! :shock: :shock: :shock:
:oops: :oops: :oops:

Надеюсь разберешься.


Я даже догадываюсь, что да... :D :wink:

Просьба программерам на VB не беспокоится!


Но хоть спасибо за "алгоритм" :D :oops: 8)
Хороший прогер не тот, кто всё знает, хороший прогер знает, где найти знание.

Последний раз редактировалось: Administrator (15.07.2004 (Вт) 00:01), всего редактировалось 999 раз(а)

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Сообщение RayShade » 03.04.2005 (Вс) 18:43

ААА! Уже второй раз!!! Название темы повергает меня в конвульсии!!! :lol: На этот раз, чтоб наверное, усилить эффект, написано специально БОЛЬШИМИ буквами :)

KDima
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 759
Зарегистрирован: 14.07.2004 (Ср) 23:14
Откуда: СПб

Сообщение KDima » 03.04.2005 (Вс) 18:58

Ну!!! А как её назвать?!
:roll:
Зачем поднимать мой позор :) (заголовок + содержание)! :roll:
Хороший прогер не тот, кто всё знает, хороший прогер знает, где найти знание.

Последний раз редактировалось: Administrator (15.07.2004 (Вт) 00:01), всего редактировалось 999 раз(а)

uhm
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1597
Зарегистрирован: 02.12.2004 (Чт) 15:21

Сообщение uhm » 04.04.2005 (Пн) 9:38

[off]
RayShade, не в обиду тебе, но после таких сообщений сразу вспоминается текущая подпись tyomitch:lol:

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Сообщение RayShade » 04.04.2005 (Пн) 10:14

Как как. Можно написать "Конвертация строкового представления шестнадатеричных чисел в целочисленное" :)

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Сообщение Andrey Fedorov » 04.04.2005 (Пн) 11:29

KDima писал(а):Я декодирую Quoted-Printable текст.
Он выглядит так: =AB =12 =F9 =B6 =01
AB, 12, F9, B6, 01 это числа в хексе
Моя прога оочень круто распарсивает этот текст :)


Вообще функция круто распарсивающая указанную строку и возвращающая байтовый массив должна выглядеть примерно так:

Код: Выделить всё
Private Function PHexToByte(s As String) As Byte()
    Dim v As Variant, m() As Byte, i As Long

    v = Split(s, "=")
    If UBound(v) > 0 Then
        ReDim m(UBound(v) - 1)
        For i = 1 To UBound(v)
            m(i - 1) = CByte("&H" & v(i))
        Next i
        PHexToByte = m
    End If
End Function


Пример ее использования:

Код: Выделить всё
Dim s As String, m() As Byte, i As Long
s = "=AB =12 =F9 =B6 =01"
   
m = PHexToByte(s)

For i = 0 To UBound(m)
    Debug.Print i + 1, m(i)
Next i
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Сообщение RayShade » 04.04.2005 (Пн) 15:38

Пробелы бы сперва убил из строки что ли.

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Сообщение Andrey Fedorov » 04.04.2005 (Пн) 15:48

RayShade писал(а):Пробелы бы сперва убил из строки что ли.


Даром не надо - и так все работает...
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

KDima
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 759
Зарегистрирован: 14.07.2004 (Ср) 23:14
Откуда: СПб

Сообщение KDima » 04.04.2005 (Пн) 15:53

Спасибо, но я писал:

Просьба программерам на VB не беспокоится!
Хороший прогер не тот, кто всё знает, хороший прогер знает, где найти знание.

Последний раз редактировалось: Administrator (15.07.2004 (Вт) 00:01), всего редактировалось 999 раз(а)

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Сообщение Andrey Fedorov » 04.04.2005 (Пн) 15:58

KDima писал(а):Спасибо, но я писал:
Просьба программерам на VB не беспокоится!


Тогда странно - ты не указал на каком еще языке тебе это надо - пишешь-то именно в конференцию по VB. Впрочем ладно - я спокоен - пойду посплю... Пока тебе объясняют решение на счетах...
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

KDima
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 759
Зарегистрирован: 14.07.2004 (Ср) 23:14
Откуда: СПб

Сообщение KDima » 04.04.2005 (Пн) 20:20

Andrey Fedorov

Да нет! спасибо! Просто куда постить? В народный трёп? Та сплошной флуд!
Хороший прогер не тот, кто всё знает, хороший прогер знает, где найти знание.

Последний раз редактировалось: Administrator (15.07.2004 (Вт) 00:01), всего редактировалось 999 раз(а)

Cryonyx
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 292
Зарегистрирован: 12.11.2004 (Пт) 15:40
Откуда: Net_SubStream

Сообщение Cryonyx » 04.04.2005 (Пн) 20:38

Ну, есть ещё и форумы по яве, скриптам, сям, дельфям [нужное подчеркнуть] :wink:
Уж там точно программеры на ВБ беспокоиться не будут :D :D :D
Если тебе не по сердцу мой путь,
Выбери сам или выбери с кем,
А мне по барабану вся эта муть -
Я не червонец, чтобы нравиться всем!
© К.Кинчев
--
Мой блог: щёлкай сюда

GM
programador
programador
 
Сообщения: 1427
Зарегистрирован: 24.06.2003 (Вт) 15:56
Откуда: 194.67.52.100

Сообщение GM » 05.04.2005 (Вт) 6:59

KDima писал(а):HeXToDec = HightByte * 16 + LowByte

:oops: :oops: :oops:
Так просто! :shock: :shock: :shock:
:oops: :oops: :oops:
Но хоть спасибо за "алгоритм" :D :oops: 8)

Чо то я не понял, а val("&H" & value & "&"), это сложно или неправильно ???
الفيجوال بيسك الرابح

Cryonyx
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 292
Зарегистрирован: 12.11.2004 (Пт) 15:40
Откуда: Net_SubStream

Сообщение Cryonyx » 05.04.2005 (Вт) 15:27

Это сложно :D
Оно будет выглядеть примерно как &HABC0123&
Если тебе не по сердцу мой путь,
Выбери сам или выбери с кем,
А мне по барабану вся эта муть -
Я не червонец, чтобы нравиться всем!
© К.Кинчев
--
Мой блог: щёлкай сюда

KDima
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 759
Зарегистрирован: 14.07.2004 (Ср) 23:14
Откуда: СПб

Сообщение KDima » 05.04.2005 (Вт) 17:01

Просьба программерам на VB не беспокоится!

Мне просто нужен был алгоритм... в народном трёпе ничего кроме флуда не получить.

Cryonyx

Форумов по яве НЕТ. Хотя задавать подобные вопросы на developer.nokia.com... :D
Хороший прогер не тот, кто всё знает, хороший прогер знает, где найти знание.

Последний раз редактировалось: Administrator (15.07.2004 (Вт) 00:01), всего редактировалось 999 раз(а)

xolod
Гуру
Гуру
 
Сообщения: 1162
Зарегистрирован: 15.01.2004 (Чт) 0:42
Откуда: Moscow

Сообщение xolod » 05.04.2005 (Вт) 17:15

KDima писал(а):Форумов по яве НЕТ

Да ладно? Может кто-то не умеет (не хочет?) искать.
Форум первый по Java
Форум второй
Форум третий
Форум четвертый

И нефига спрашивать в топике по VB, именно по VB лабуду всякую :evil:

Constant ERROR_SUCCESS deprecated. I'm so happy.
Программирование и дизайн – http://www.macrointellect.ru


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex-бот и гости: 161

    TopList  
cron