C++ C++ C# C# ASP.NET Security ASP.NET Security ASM ASM Скачать Скачать Поиск Поиск Хостинг Хостинг  
  Программа для работы с LPT портом...
Язык: .NET — ©Alexey...
  "ASP.NET Atlas" – AJAX в исполнении Micro...
Язык: .NET — ©legigor@mail.ru...
  "Невытесняющая" Многопоточность...
Язык: C/C++ — ©...
  01.05.2010 — Update World C++: Сборник GPL QT исходников
  15.12.2007 — Весь сайт целиком можно загрузить по ссылкам из раздела Скачать
Хостинг:
Windows 2003, ASP.NET 2.0
бесплатный и от 80 руб./мес


   Отправить письмо
Кулабухов Артем, Беларусь




 88 - VarParseNumFromStr / COM-справка / Приложение

Шаг 88 - VarParseNumFromStr

Создает не зависящее от типа представление числа, заданного в строке.
Функция VarParseNumFromStr заполняет элемент dwOutFlags в соответствии с обнаруженными особенностями строки. Это позволяет вызывающему на основании формата введенного числа определить, какой числовой тип для него использовать. Например, одно приложение может использовать тип CURRENCY, если в строке задан символ денежной единицы, другое же может использовать тип с плавающей запятой, если в строке задана экспонента.

HRESULT VarParseNumFromStr
(
	[in] OLECHAR* strln,
	[in] LCID kid,
	[in] unsigned long dwFlags,
	[in] NUMPARSE *pnumprs,
	[out] unsigned char *rgbDig
);

Параметры:
strln
Входная строка, которую нужно преобразовать в число.
kid
Идентификатор местности.
pnumprs
Результаты разбора строки.
dwFlags
Позволяет управлять разбором, т. е. определять допустимый синтаксис числа. Если параметр равен нулю, то входная строка не должна содержать ничего, кроме десятичных цифр. Каждый установленный флаг активизирует разбор соответствующей синтаксической конструкции. При стандартном разборе Автоматизации (например, при работе VarI2FromStr) все флаги установлены (NUMPRS_STD).
rgbDig
Массив rgbDig заполняется значениями цифр в диапазоне 0-7, 0-9 или 0-15, в зависимости от того, является ли число восьмеричным, десятичным или шестнадца-теричным. Нули в начале отбрасываются. Для десятичных чисел нули на конце также отбрасываются, если только число не равно нулю. В последнем случае возвращается одна цифра 0.

Коды возврата:
Из возвращенного HRESULT получают один из следующих кодов возврата:

Код возвратаЗначение
S_OKУспех.
E_OUTOFMEMORYНевозможно выделить память для внутреннего буфера. (Используется только для DBCS, чтобы создать копию строки, состоящую из однобайтовых символов.)
DISP_E_TYPEMISMATCHСтроку нельзя преобразовать в число, либо отсутствует парная закрывающаяся скобка. В первом случае cDig и cchUsed в структуре NUMPARSE будут равны 0. Во втором случае структура NUMPARSE и массив цифр будут полностью сформированы так, как если бы закрывающаяся скобка присутствовала.
DISP_E_OVERFLOWДля шестнадцатеричных и восьмеричных чисел это означает, что цифр больше, чем умещается в массив. Для десятичных чисел — экспонента превосходит максимальное значение. В обоих случаях структура NUMPARSE и массив цифр полностью сформированы (в случае десятичного числа значение поля cchUsed не учитывает экспоненту).

| |
Автор Каев Артем.
[AD]