| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Программирование, связанное с MS Office > int to hex аналогично pascal |
| Автор: Bugmaker 17.12.2014, 15:48 |
| Всем добрый день. Есть следующий код на паскале for i := Length( BufPass ) downto 2 do stemp:= stemp + IntToHex( Ord( BufPass[i] ), 2 ); В VBA это должно выглядеть примерно так Hex(Asc(Mid(GetPass, i, 1))) Результат работы отличается, насколько я понимаю из-за того, что паскаль переводит в hex, фиксированной длины. Результаты работы данных кодов отличаются наличием\отсутствием некоторых нулей. Как сделать на vba полный аналог? |
| Автор: Romikgy 17.12.2014, 15:58 |
| http://www.mrexcel.com/forum/excel-questions/42152-converting-decimal-hexadecimal-visual-basic-applications.html |
| Автор: Bugmaker 17.12.2014, 17:59 |
| Не вынес из той ветки решения для себя. Ткните носом, пожалуйста. Видимо мой английский недостаточно хорош. |
| Автор: Romikgy 17.12.2014, 18:45 |
work perfect !!! если вывод в ячейку экселя! Cells(...).NumberFormat = "@" |
| Автор: Bugmaker 18.12.2014, 09:33 |
| Pascal Пример кода : Преобразование integer в hex формат begin // Отображение десятичного 123 в шестнадцатеричной системе с минимальной шириной ShowMessage('1234 decimal = '+IntToHex(1234, 1)); // Отображение десятичного 123 в шестнадцатеричной системе с фиксированной шириной ShowMessage('1234 decimal = '+IntToHex(1234, 8)); end; 1234 decimal = 4D2 1234 decimal = 000004D2 Функция IntToHex принимает второй параметр, обратите на него внимание. В VBA получить из 1234 результат 000004D2, используя лишь HEX функцию у меня не вышло... По поводу " А то хрустальный шар у нас на ремонте. " - Значит ситуация следующая. Я беру из базы (Орион про Bolid) коды проксимити карт. Они там в несколько измененном виде, есть описание как вернуть их в исходное состояние, но алгоритм переформатирования на Паскале... Мне же нужно сделать это на VBA в EXCEL. Сейчас попробую прикрепить на всякий случай файл с данным алгоритмом... |
| Автор: Akina 18.12.2014, 09:46 |
| Ну... |
| Автор: Bugmaker 18.12.2014, 10:56 |
| Работает. Спасибо! |
| Автор: Akina 18.12.2014, 11:49 |
| Bugmaker, добавь необходимые проверки на косяк в передаваемых параметрах. |
| Автор: slipnsk 30.3.2015, 16:11 |
| День добрый. Задача таже самая. Есть ли готовый код на VBA? |
| Автор: Akina 30.3.2015, 16:14 |
Есть. На скриншоте. Да, придётся руками поработать, код набрать, но дело того стОит... |