| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > VB6 > Как преобразовать 16-ное выражение в 10-е ? |
| Автор: XPurple 31.5.2006, 08:00 |
| Не могу найти, как называется функция , которая преобразует 16-тиричное число к 10-му виду |
| Автор: BUGOR 31.5.2006, 08:50 |
| MsgBox Val("&H" & "ABCDEF" & "&") |
| Автор: vbCrLf 31.5.2006, 09:25 |
| Сорри за оффтоп, но я посмеялся когда читал название темы... Как преобразовать шестнадцатое выражение в десятое Блин, народ, выражайтесь яснее!! Я может с мобилы сижу и трачу драгоценный траффик на темы, название которых вводит в заблуждение! |
| Автор: XPurple 31.5.2006, 09:41 |
| vbCrLf, Заголовок короткий |
| Автор: Akina 31.5.2006, 10:45 |
| vbCrLf, никак не разворачивается в шестнадцатое |
| Автор: XPurple 31.5.2006, 10:50 | ||
| Не получается отследить валидность вводимого текста ввиде код-H или код-в-десятичной-форме. Задумка такая, чтобы вырезать в тексте любой символ включая спецсимволы. Причем видимый символ вырезается путем ввода символа, например 'A', а для спецсимволов предназначен ввод в виде 'ASCIIКод-символ H' или в виде 'число', обозначающее ASCII-код этого символа. Т.е. перевод каретки 0D будет вводиться в виде '0DH' или 'dh' или в числовом виде '13'. Так вот проблема такая, что при попытке ввода текста в виде '12H', 'A' , '1H', '123' - все нормально, при вводе текста ввиде 'GH' или 'ААА' - type mismatch. Подскажите, как проконтролировать валидность вводимых значений для функций Int и для преобразования 16-го числа в целочисленный вид ? Вот код программы
|
| Автор: Naghual 31.5.2006, 13:11 |
| а как отличить "А" от "АА"? Что из этого строка а что представление числа? Алгоритм не ясен - как же объяснить его компьютеру? |
| Автор: XPurple 31.5.2006, 14:03 |
| Алгоритм прост, как яйцо: Если вводится один символ, то подразумевается, что это видимый символ,т.е. если введен символ A , то считается, что вводится символ 'A' или (chr(65), чтобы было понятней) , если вводится просто 1 - означает число или символ 1 (chr(49) )т.д. Если вводится 2 или 3 символа, то вводимое значение определяется либо как decimal Ascii code [10-254], либо как Hex Ascii code, тогда последним вводимым символом будет символ "h" или "H" и полная вводимая строка будет выглядеть либо как '1h' либо '23h', что будет означать '0x1' или '0x23'. Где-то так. |
| Автор: BUGOR 31.5.2006, 16:09 |
| Чё-т я тоже нихрена не понял, я же дал тебе вначале функцию для преобразования HexToDec, что ещё? |
| Автор: XPurple 1.6.2006, 05:47 |
| BUGOR, Код как код, ничего сумбурного в нем не вижу. Наоборот упростил интерфейс до минимума, сведя все к 1-ой форме. Насчет регулярных выражений -надо попробовать. Синтаксис для VB такой же ,что и везде? Для работы с регулярными выражениями требуется подключать дополнительные References? Проблема одна- пробелы в знаниях функций и методов. Спасибо за пинок в нужном направлении, стало намного понятней. |
| Автор: BUGOR 1.6.2006, 09:45 |
| Нужно подключить класс: Project > References > MS VB Regular Expressions Пример использования поищи на форуме или в сети. Вот составил выражение, учитывает все условия, которые тебе нужны: ^(0x|\$|\$H|&H)?[0-9A-Fa-f]+(H|h)?$ |
| Автор: XPurple 1.6.2006, 11:46 |
| BUGOR, Благодарю за разъяснения. Сам бы я долго разбирался. |