| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > VB6 > HEX - to - String... DEC.... и т.п. |
| Автор: starley440 26.10.2004, 10:00 |
| Есть ли команда для перевода типа данных из HEX в любой другой? Суть проблемы: В БД есть столбец с номерами изделий (8-9 знаков) Номер представляет из себя 3 байта. Последние 2 байта - номер, который напечатан на изделии, а первый байт - номер "зоны" изделия (нигде не напечатан). Таким образом: Номер изделия, предположим 10141085 Номер зоны: 154. Номер, который напечатан на изделии: 48541. --------------------------------------------------------------------------------------- Решение: 1) Номер изделия 10141085 переводим в HEX, получим 9ABD9D Number=10141085 NumHEX=Hex(Number) получаем 9ABD9D 2) Делим полученный номер на две части (Зона и номер): NumZONE=MID(NumHEX,1,2) получаем 9А NumPPRINT=MID(NumHEX,3,4) получаем BD9D И вот тут я попал! Мне никак не перевести номер из HEX в Integer например: NumZONEint=Cint(NumZONE) Стандартные функции, типа Cint, Cdec... и т.п. не подходят. Везде выдает ошибку типов... Мне ещё надо поиск по напечатанному на изделии номеру нашаманить. Перебором ~400К номеров перебирать в цикле - не выход. Должно-же быть что-то стандартное. Заранее спасибо. |
| Автор: Akina 26.10.2004, 10:24 |
| NumZONEint=Cint("&H" & NumZONE) |
| Автор: starley440 26.10.2004, 10:44 |
| Огромное спасибо... только вот интересная штЮка... при номере изделия Number=8369786 получаем NumPrint=-16207 а правильно 49329 Ээээээ..... получается, что-то я упустил и возвращается не верный ответ... Отрицательных вариантов не может быть Кстати, в калькуляторе всё получается ОК... |
| Автор: boevik 26.10.2004, 10:56 |
| Объяви NumZONEint как Long и всё будет OK. |
| Автор: starley440 26.10.2004, 11:08 |
| Абсолютно не ожидал... Перевёл в текст CStr и всё получилось... Только с Лонгом... без объявления вообще ерунда получается спасибо |
| Автор: stasic0640 7.11.2006, 10:11 |
| Парни, извените за поднятие темы, но интересует как сделать (чтот башня совсем не варит - из НЕХ в DEC: Пример: ХЕКС(16символов) - 9B51385F285B1256, что по идее должно получится DEC (20 символов) - 11191788530342498902 С ув. stasic0640 Удачи всем... |
| Автор: Akina 7.11.2006, 10:42 |
| Работа со сверхдлинными числами не поддерживается штатными средствами. Ищи внешние библиотеки или создавай свои. |
| Автор: stasic0640 7.11.2006, 12:19 |
| |
| Автор: Akina 7.11.2006, 12:32 |
| Ой, да ладно... уж перевод из гексов в десятичку запрограммить - делов на 10 минут. |
| Автор: JUmPER 7.11.2006, 15:13 | ||
вот =)
Добавлено @ 15:14 Akina у меня заняло поболее |
| Автор: stasic0640 7.11.2006, 15:17 |
Добавлено @ 15:24 Благодарен Прошу в гости... г. Днепр, СЦ Akey |
| Автор: JUmPER 8.11.2006, 09:12 |
| Akina |