Главная Случайная страница


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 4. Как сделать так, чтобы вас уважали и ценили? Как сделать лучше себе и другим людям Как сделать свидание интересным?


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Функции преобразования данных





Visual Basic предоставляет несколько функций для преобразования одного типа данных в другой. Используйте эти функции для устранения ошибок несовпадения типов и обеспечения явного контроля за типами данных в выражениях. Например, при получении (на этапе отладки приложения) сообщения об ошибке несовпадения типов в определенном выражении можно преобразовать значения в выражении в типы, совместимые друг с другом, используя функции преобразования. Можно сохранять результат выражения в диапазоне численного типа Single (большинство численных выражений имеют результатом значение типа Double); в таком случае, следует использовать функцию CSng для преобразования результата выражения в число типа Single, как показано в листинге 6.1.

Листинг 6.1. Использование функции CSng

1: Sub CSngDemo()

2: Dim d_Var1 As Double

3: Dim s_Var2

4: d_Var1 = 412

5: s_Var2 = CSng(352 / 17)

6: MsgBox TypeName(s_Var2)

7: End Sub

Проверьте, как работает код листинга 6.1.

В табл. 6.3 приведены функции преобразования данных в Visual Basic. В этой таблице N — это любое численное, S — любое строковое, а E — выражение любого типа. Аргументы каждой функции являются обязательными, если не указано иначе.

 

 

Таблица 6.3. Функции преобразования данных

Функция(Аргументы) Возвращает/действие
Asc(S) Возвращает число кода символа, соответствующее первой букве строки S. Буква «A», например, имеет код 65.
Chr(N) Возвращает строку из одного символа, соответствующего коду символа N, который должен быть числом между 0 и 255, включительно. Код символа 65, например, возвращает букву «A».
Format(E, S) Возвращает строку, содержащую значение, представленное выражением Е, в формате в соответствии с инструкциями, содержащимися в S.
Hex(N) Возвращает строку, содержащую шестнадцатеричное представление N.
Oct(N) Возвращает строку, содержащую восьмеричное представление N.
RGB(N, N, N) Возвращает целое типа Long, представляющее значение основных цветов изображения. N в каждом аргументе должно быть целым в диапазоне 0 — 255, включительно. Аргументы (слева направо) — это значения для красного, зеленого и синего цвета.
Str(N) Возвращает строку, эквивалентную численному выражению N.
Val(S) Возвращает численное значение, соответствующее числу, представленному строкой S, которая должна содержать только цифры и одну десятичную точку, иначе Visual Basic не может преобразовать ее в число. Если Visual Basic не может преобразовать строку в S, то функция Val возвращает 0.
CBool(N) Возвращает Boolean-эквивалент численного выражения N.
CByte(E) Возвращает численное значение типа Byte (от 0 до 255); Е — любое допустимое численное или строковое выражение, которое может быть преобразовано в число.
CCur(E) Возвращает численное значение типа Currency; Е — любое допустимое численное или строковое выражение, которое может быть преобразовано в число.
CDate(E) Возвращает значение типа Date. Е может быть любым допустимым выражением (строкой или числом), представляющим дату в диапазоне 1/1/100 — 12/31/9999, включительно.
CDbl(E) Возвращает численное значение типа Double; Е — любое допустимое численное или строковое выражение, которое может быть преобразовано в число.
CInt(E) Возвращает численное значение типа Integer; Е — любое допустимое численное или строковое выражение, которое может быть преобразовано в число.
CLng(E) Возвращает численное значение типа Long; Е — любое допустимое численное или строковое выражение, которое может быть преобразовано в число.
CSng(E) Возвращает численное значение типа Single; Е — любое допустимое численное или строковое выражение, которое может быть преобразовано в число.
CStr(E) Возвращает значение типа String; Е — любое допустимое численное или строковое выражение.
CVar(E) Возвращает значение типа Variant; Е — любое допустимое численное или строковое выражение.

 

Наиболее часто используемые функции — это функции (объединенные в конце табл. 6.3 в группу), начинающиеся с буквы С (от слова conversion), за которыми следует сокращение имени типа: CStr, CSng, CDbl и так далее (эти функции напечатаны полужирным шрифтом с фиксированной шириной, поскольку они являются ключевыми словами в Visual Basic). Далее рассматриваются некоторые из функций, приведенных в табл. 6.3.

Функция Format

Хотя Visual Basic может автоматически преобразовывать любой тип данных в строку для отображения, например, с помощью функции MsgBox или для вставки в выходной файл (документ и т.д.), формат данных, который выбирает Visual Basic, может не совпадать с желаемым.

При преобразовании числа в строку Visual Basic не добавляет в строку разделитель тысяч, символы доллара или другое числовое форматирование. Кроме того, если число очень большое или очень малое, Visual Basic создает строку, представляющую это число в экспоненциальном формате. Например, число 3145.25 преобразуется в строку “3145,25”. Если это число представляет сумму в долларах, может оказаться предпочтительнее преобразовать его в строку, содержащую символ доллара и разделитель тысяч: “$3,145.25”.

Аналогично, при преобразовании дат Visual Basic всегда применяет короткий формат даты и времени, используемый операционной системой компьютера, и всегда отображает и дату, и время. Вы можете использовать другой формат даты или времени или отображать только дату или только время.

Для получения почти любого формата дат при преобразовании чисел или дат в строки можно использовать функцию Format; можно даже использовать функцию Format для форматирования строковых данных в соответствии с определенным шаблоном. Можно также создавать пользовательские экранные форматы, если вам необходимо, чтобы данные появлялись в каком-либо особом формате.

Синтаксис оператора Format следующий:

Синтаксис

Format (Expression [, Format [, Firstdayofweek [, Firstweekofyear ]]])

Здесь аргументы означают:

 

Expression любое допустимое выражение (обязательный);
Format допустимое выражение именованного или определенного пользователем формата (необязательный);
Firstdayofweek константа, которая определяет первый день недели (необязательный);
Firstweekofyear константа, которая определяет первую неделю года (необязательный).

 

Для аргументов Firstdayofweek и Firstweekofyear в Visual Basic имеются именованные константы, значения которых можно найти в Приложении В.

Чтобы использовать функцию Format, можно либо задать предопределенный формат (называемый именованным форматом (named format) <$I[] именованным форматом (named format)>), либо создать образ определенного формата, используя комбинации особой группы символов, называемых символами-заполнителями (placeholders) <$I[] символами-заполнителями (placeholders)>. Используйте образ, который создается с помощью символов-заполнителей, если ни один из именованных форматов не отвечает вашим запросам.

Табл. 6.4 содержит доступные именованные форматы и объясняет их действие.

Таблица 6.4. Именованные форматы для использования с функцией Format

Именованный формат Действие
General Date Форматирует информацию о дате и времени в последовательное число даты, используя установки формата даты и времени для вашего компьютера. То же, что VB-преобразование по умолчанию последовательных дат в строки.
Long Date Форматирует в последовательной дате только часть, содержащую дату, используя установки компьютера для Long-формата даты.
Medium Date Форматирует в последовательной дате только часть, содержащую дату, используя установки компьютера для Medium-формата даты
Short Date Форматирует в последовательной дате только часть, содержащую дату, используя установки компьютера для Short-формата даты.
Long Time Форматирует в последовательной дате только часть, содержащую время, используя установки компьютера для Long-формата времени.
Medium Time Форматирует в последовательной дате только часть, содержащую время, используя установки компьютера для Medium-формата времени.
Short Time Форматирует в последовательной дате только часть, содержащую время, используя установки компьютера для Short-формата времени.
General Number Форматирует число в строку без каких-либо особых символов. Действие такое же, как VB-преобразование по умолчанию чисел в строки.
Currency Форматирует число с символом денежной единицы, разделителем тысяч и только двумя десятичными разрядами. Символ денежной единицы и десятичный разделитель определяются локальными установками Windows.
Fixed Форматирует число так, чтобы всегда была, по крайней мере, одна цифра перед десятичным разделителем и, по крайней мере, две цифры после него.
Standard Форматирует число с разделителем тысяч так, чтобы была, по крайней мере, одна цифра перед десятичным разделителем и, по крайней мере, две цифры после него.
Percent Форматирует число как процентное отношение, умножая его на 100 и добавляя символ процента. Например, 0.21 возвращается как 21%.
Scientific Форматирует число в обычный экспоненциальный формат.
Yes/No Использование этого формата приводит к тому, что функция Format возвращает строку «Да» («Yes»), если форматируемое число ненулевое, и возвращает строку «Нет» («No») для любого нулевого значения. Этот именованный формат наиболее часто используется со значениями типа Boolean.
True/False Использование этого формата приводит к тому, что функция Format возвращает строку «Истина» («True»), если форматируемое число ненулевое, и строку «Ложь» («False») для любого нулевого значения. Этот именованный формат наиболее полезен со значениями типаBoolean.
On/Off Использование этого формата приводит к тому, что функция Format возвращает строку «Вкл» («On»), если форматируемое число ненулевое, и строку «Выкл» («Off») для любого нулевого значения. Наиболее часто используется со значениями Boolean.

Например, если при помощи следующего кода

List1.AddItem "General Date: " & Format(#2/27/1976#, "General Date")

List1.AddItem "Long Date: " & Format(#2/27/1976#, "Long Date")

List1.AddItem "Medium Date: " & Format(#2/27/1976#, "Medium Date")

List1.AddItem "Short Date: " & Format(#2/27/1976#, "Short Date")

List1.AddItem "Long Date: " & Format(#2/27/1976#, "Long Date")

List1.AddItem "----------------"

List1.AddItem "Long Time: " & Format(#2:27:35 AM#, "Long Time")

List1.AddItem "Medium Time: " & Format(#2:27:35 AM#, "Medium Time")

List1.AddItem "Short Time: " & Format(#2:27:35 AM#, "Short Time")

List1.AddItem "----------------"

List1.AddItem "Yes/No: " & Format(1, "Yes/No")

List1.AddItem "True/False: " & Format(1, "True/False")

List1.AddItem "On/Off: " & Format(1, "On/Off")

заполнить элемент управления ListBox с именем List1 на некоторой форме, в результате мы получим окно со списком, представленное на рис. 6.3.

Рис. 6.3

Окно со списком, заполненное форматированными строками

Форматы long, medium и short date и time можно изменять посредством Панели управления (Windows Control Panel). Здесь же можно также изменять символы, используемые для разделителя тысяч и десятичного разделителя.

Если вам необходимо создавать пользовательские форматы для чисел, дат или времени, нужно создать строку, содержащую символы-заполнители, для задания образа форматирования, который должна будет использовать функция Format при преобразовании значений в строку. В табл. 6.5 приведены пользовательские символы-заполнители, применяемые для создания образов форматов с применением функции Format.

Таблица 6.5. Символы-заполнители для создания пользовательских форматов

Символ-заполнитель Действие
  Цифровой символ, отображает цифру, если таковая находится в этой позиции, или 0, если — нет. Можно использовать символ 0 для отображения начальных нулей для целых чисел и конечных нулей в десятичных дробях; 00000.000 отображает число 124.5 как 00124,500.
# Цифровой символ, отображает цифру, если таковая находится в этой позиции, иначе — не отображает ничего. Символ-заполнитель # эквивалентен 0, кроме того, что начальные и конечные нули не отображаются;#####.### отображает число 1234.5 как 1234,5.
$ Отображает знак доллара; $###,###.00 отображает число 1234.5 как $1 234,50.
. Десятичный символ-заполнитель, отображает десятичную точку в обозначенной позиции в строке символов-заполнителей 0; #.##.##отображает число 124.5 как1234,5
% Символ процента, умножает значение на 100 и добавляет знак процента в позицию, указанную символами-заполнителями 0; #0.00% отображает число 0.12345 как 12,35% (12,345 округляется до 12,35).
, (запятая) Разделитель тысяч, добавляет запятые как разделители тысяч в строках символов-заполнителей 0 и #. ###,###,###.00отображает число 1234.5 как 1 234,50.
E- e- Отображает значения в экспоненциальном формате со знаком порядка только для отрицательных значений#.####E+00отображает число 0.0445как4,45E-02.
E+ e+ Отображает значения в экспоненциальном формате со знаком порядка для положительных и отрицательных значений; #.####E+00отображает число 0.0445как4,45E-02.
/ Отделяет день, месяц и год для форматирования значений дат. mm/dd/yy отображает 06/06/97. Символы «/» можно заменять на символы дефиса для отображения как 06-06-97.
m Указывает, как отображать месяцы в датах; m отображает 2, mm — 02, mmm — фев, mmmm — Февраль.
d Указывает, как отображать дни в датах; d отображает 1, dd отображает 01, ddd — Пт, dddd — пятница.
y Отображает день года как число от 1 до 366.
yy Указывает, как отображать годы в датах; yy отображает 99, yyyy — 1999.
q Отображает квартал года как число от 1 до 4.
w Отображает день недели как число (1 — это воскресенье).
ww Отображает неделю года как число от 1 до 54.
: (двоеточие) Отделяет часы, минуты и секунды в значениях формата времени; hh:mm:ss отображает 02:02:02.
h Указывает, как отображать часы; для значения времени 02:01:38символh отображает 2, символы hh отображает 02.
n Минутный символ-заполнитель для времени; для значения времени 02:01:08 символn отображает 1, а символы nn отображает 01.
s Секундный символ-заполнитель для времени; для значения времени 02:01:08 символs отображает 8, и символыss отображает 08.
AM/PM Отображает время в 12-часовом формате времени с добавленными AM и PM; h:nn AM/PM отображает 4:00 PM. Альтернативные форматы включают am/pm, A/P и a/p.
@ Символьный заполнитель, отображает пробел, если не имеется соответствующего символа в форматируемой строке. @@@@ отображает строку Hi с двумя начальными пробелами. (порядок заполнения по умолчанию — справа налево).

 

 

Например, если при помощи следующего кода

List1.AddItem "0: " & Format(124.5, "0")

List1.AddItem "00000.000: " & Format(124.5, "00000.000")

List1.AddItem "----------------"

List1.AddItem "#####.###: " & Format(124.5, "#####.###")

List1.AddItem "$#####.###: " & Format(4124.5, "$#####.###")

List1.AddItem "$###,###.00: " & Format(4124.5, "$####,###.00")

List1.AddItem "----------------"

List1.AddItem "#.####E+00: " & Format(0.0445, "#.####E+00")

List1.AddItem "#.####E-00: " & Format(0.0445, "#.####E-00")

List1.AddItem "----------------"

List1.AddItem "#0.00%: " & Format(0.12345, "#0.00%")

List1.AddItem "----------------"

List1.AddItem Format("5105551212", "(@@@) - @@@ - @@@@")

заполнить элемент управления ListBox с именем List1, в результате мы получим окно со списком, представленное на рис. 6.4.

Рис. 6.4

Окно со списком, заполненное форматированными данными

При использовании функции Format для форматирования строк и чисел можно создавать дополнительные секции в образе формата, чтобы изменять формат отображения в соответствии с форматируемым значением. Секции в образе формата разделяются точкой с запятой (;). Например, следующий образ содержит две секции и форматирует отрицательные числа иначе, чем положительные:

 

$###,###,##0.00;$(###,###,##0.00)

 

Вышеприведенный образ форматирует число 1234567.89 как $1 234 567.89 и форматирует –1234567.89 как $(1 234 567.89).

В образе формата можно для форматирования строки иметь две секции. Если образ формата содержит только одну секцию, этот образ применим ко всем форматируемым строкам. Если образ формата содержит две секции, первая секция применима к строковым данным, а вторая — к значениям Null и строкам нулевой длины (то есть, к строкам, которые не содержат символов, представленных с помощью ""). Рассмотрим следующий оператор, отображающий результат функции Format, используемый с образом из двух частей для строк.

 

MsgBox Format(strData, "(@@@) - @@@ - @@@@; не номер телефона")

 

Приведенный выше оператор отображает (510) – 555 – 1212 в результирующем окне сообщения, если переменная strData содержит "5105551212". Если strData содержит строку нулевой длины (""), то предыдущий оператор отображает в окне сообщения строку "не номер телефона".

Для форматирования числовых значений можно иметь до четырех различных секций в образе формата. Первая секция используется для положительных чисел, вторая — для отрицательных чисел, третья — для нулевых значений, а четвертая — для значений Null. Следующий образ формата содержит четыре секции:

 

"$###,###,##0.00; $(###,###,##0.00); 0.00; Null value"

 

Приведенный выше образ формата форматирует отрицательные числа с круглыми скобками, указывает, что нулевые значения должны быть показаны, как 0.00, и возвращает текстовое сообщение, если форматируемое значение равно Null. Этот образ формата форматирует число 1234567.89, как строку "$1 234 567.89". Число –1234567.89 форматируется в строку "$(1 234 567.89)". Значение 0 форматируется в строку "0.00", тогда как значение Null форматируется в строку "Null value".

Для проверки изложенного выше вы можете выполнить следующий код (с использованием элемента ListBox с именем List1) и получить окно списка, похожее на представленное на рис. 6.5.

 

List1.AddItem "$###,###,##0.00;$(###,###,##0.00): " & _

Format(1234567.89, "$###,###,##0.00;$(###,###,##0.00)")

List1.AddItem "$###,###,##0.00;$(###,###,##0.00): " & _

Format(-1234567.89, "$###,###,##0.00;$(###,###,##0.00)")

List1.AddItem "----------------"

 

List1.AddItem "(@@@) - @@@ - @@@@; не номер телефона: " & _

Format("", "(@@@) - @@@ - @@@@; не номер телефона")

List1.AddItem "(@@@) - @@@ - @@@@; не номер телефона: " & _

Format("0956667777", "(@@@) - @@@ - @@@@; не номер телефона")

List1.AddItem "----------------"

 

List1.AddItem "$###,###,##0.00; $(###,###,##0.00); 0.00; Null:" & _

Format(1234567.89, "$###,###,##0.00; $(###,###,##0.00); 0.00; Null")

List1.AddItem "$###,###,##0.00; $(###,###,##0.00); 0.00; Null:" & _

Format(-1234567.89, "$###,###,##0.00; $(###,###,##0.00); 0.00; Null")

List1.AddItem "$###,###,##0.00; $(###,###,##0.00); 0.00; Null:" & _

Format(0#, "$###,###,##0.00; $(###,###,##0.00); 0.00; Null")

List1.AddItem "$###,###,##0.00; $(###,###,##0.00); 0.00; Null:" & _

Format(Null, "$###,###,##0.00; $(###,###,##0.00); 0.00; Null"

 

Рис. 6.5

Окно со списком, заполненное форматированными данными

Кроме общей функции форматирования, вы можете использовать функции специального форматирования, приведенные в табл. 6.6 (и в Приложении В).

 

 

Таблица 6.6. Функции специального форматирования

Функция Назначение
FormatCurrency (E[, N [, I [,U [, G]]]])   Возвращает выражение, отформатированное как денежное (валютное) выражение с использованием значения, заданного на вкладке Денежная единица окна Свойства: Язык и стандарты, доступного из Панели управления.  
FormatDateTime (D[,N])   Возвращает выражение, отформатированное, как дата или время.  
FormatNumber (E [,N [, I [, U [, G]]]])   Возвращает выражение, отформатированное, как число.  
FormatPercent (E [, N [, I [, U [, G]]]])   Возвращает выражение, отформатированное, как процентное отношение (умноженное на 100) с конечным знаком процента (%).  

Функция FormatCurrency возвращает выражение, отформатированное как денежное (валютное) выражение с использованием значения, заданного на вкладке Денежная единица окна Свойства: Язык и стандарты, доступного из Панели управления.

Синтаксис функции FormatCurrency следующий:

Синтаксис

FormatCurrency( Expression [, NumDigitsAfterDecimal [, IncludeLeadingDigit [, UseParensForNegativeNumbers [, GroupDigits ]]]])

Здесь аргументы означают:

 

Expression Выражение для форматирования (обязательный).
NumDigitsAfterDecimal Численное значение, определяющее количество отображаемых знаков справа от десятичной точки. Значение по умолчанию для этого аргумента равно –1, что означает использование региональных настроек (необязательный).
IncludeLeadingDigit Константа трех состояний, определяющая, следует ли отображать ведущий ноль для дробных чисел (необязательный).
UseParensForNegativeNumbers Константа трех состояний, определяющая, следует ли помещать отрицательные значения внутри круглых скобок (необязательный).
GroupDigits Константа трех состояний, определяющая, группировать ли цифры с помощью ограничителей, заданных региональными настройками (необязательный).

Аргументы IncludeLeadingDigit, UseParensForNegativeNumbers и GroupDigits могут принимать только следующие значения: vbTrue, vbFalse и vbUseDefault (True, False и Использовать региональные настройки компьютера).

В качестве примера приведем фрагмент кода и результат его работы (рис. 6.6) в виде окна списка.

Dim MyDouble1 As Double, MyDouble2 As Double

MyDouble1 = -22323.123

MyDouble2 = 0.000123

List1.AddItem FormatCurrency(MyDouble1, 7)

List1.AddItem FormatCurrency(MyDouble2, 7, vbTrue)

List1.AddItem FormatCurrency(MyDouble2, 7, vbFalse)

List1.AddItem FormatCurrency(MyDouble1, 7, vbTrue, vbTrue)

List1.AddItem FormatCurrency(MyDouble1, 7, vbTrue, vbFalse)

List1.AddItem FormatCurrency(MyDouble1, 7, vbTrue, vbTrue, vbTrue)

Рис. 6.6

Окно со списком, заполненное форматированными данными с использованием функции FormatCurrency

Синтаксис функции FormatDateTime следующий:

Синтаксис

FormatDateTime( Date [, NamedFormat ])

Здесь аргументы означают:

 

Date Дата для форматирования. (обязательный);
NamedFormat Чиленное значение, указывающее, необходимый формат. Если опущен, используется vbGeneralDate (необязательный);

Аргумент NamedFormat может принимать следующие значения:

константа значение описание
vbGeneralDate   Отображать дату и/или время. Если в аргументе Date имеется часть даты, дата отображается в коротком формате. Если в аргументе Date имеется часть времени, она отображается в длинном формате.
vbLongDate   Отображать дату с использованием длинного формата, установленного на компьютере в региональных настройках.
vbShortDate   Отображать дату с использованием короткого формата, установленного на компьютере в региональных настройках.
vbLongTime   Отображать время с использованием временного формата, установленного на компьютере в региональных настройках.
vbShortTime   Отображать время с использованием формата 24-hour (hh:mm).

 

В качестве примера приведем фрагмент кода и результат его работы (рис. 6.7) в виде окна списка.

Dim MyDate As Date

MyDate = Now()

List1.AddItem FormatDateTime(MyDate, vbGeneralDate)

List1.AddItem FormatDateTime(MyDate, vbLongDate)

List1.AddItem FormatDateTime(MyDate, vbShortDate)

List1.AddItem FormatDateTime(MyDate, vbLongTime)

List1.AddItem FormatDateTime(MyDate, vbShortTime)

Рис. 6.7

Окно со списком, заполненное форматированными данными с использованием функции FormatDateTime

Синтаксис функции FormatNumber следующий:

Синтаксис

FormatNumber( Expression [, NumDigitsAfterDecimal [, IncludeLeadingDigit [, UseParensForNegativeNumbers [, GroupDigits ]]]])

Здесь аргументы означают то же, что и в функции FormatCurrency.

 

В качестве примера приведем фрагмент кода и результат его работы (рис. 6.8) в виде окна списка.

Dim MyDouble As Double

MyDouble = 112233.4455

List1.AddItem FormatNumber(MyDouble)

List1.AddItem FormatNumber(MyDouble, vbFalse)

List1.AddItem FormatNumber(MyDouble, vbTrue)

List1.AddItem FormatNumber(MyDouble,, vbFalse)

List1.AddItem FormatNumber(MyDouble,, vbTrue)

List1.AddItem FormatNumber(MyDouble,,, vbFalse)

 

Рис. 6.8

Окно со списком, заполненное форматированными данными с использованием функции FormatNumber

Синтаксис функции FormatPercent следующий:

Синтаксис

FormatPercent ( Expression [, NumDigitsAfterDecimal [, IncludeLeadingDigit [, UseParensForNegativeNumbers [, GroupDigits ]]]])

Здесь аргументы означают то же, что и в функции FormatCurrency.

На рис. 6.9 приведена форма в режиме разработки для тестирования функции FormatPercent.

Рис. 6.9

Форма в режиме разработки для тестирования функции FormatPercent

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

Тип элемента Свойство Значение Примечание
Form Caption Тестирование FormatPercent Заголовок окна (формы) в верхней части.
Label Name Label1  
  Caption Значение для форматирования Служит заголовком элемента с именем TxtInput
TextBox Name TxtInput Предназначено для ввода форматируемого значения
  Text   Начальное значение
TextBox Name TxtOutput Предназначено для вывода отформатированного значения
  Text   Начальное значение
Frame Name Frame1  
  Caption Параметры форматирования  
TextBox Name TextBox3 Предназначено для ввода количества цифр после десятичной точки
  Text   Начальное значение
Label Name Label3 Служит заголовком элемента с именем TextBox3
  Caption Количество цифр после десятичной точки  
CheckBox Name chIncludeLeadingDigit  
  Caption Ведущий ноль  
CheckBox Name chUseParensForNega-tiveNumbers  
  Caption Скобки для отрицательных  
CheckBox Name chGroupDigits  
  Caption Группировать цифры  
CommandButton Name CmdFofmat  
  Caption Форматировать  
CommandButton Name CmdExit Кнопка для выхода из приложения
  Caption Выход Текст на кнопке.
  Cancel True При нажатии на клавишу Esc инициируется событие Click кнопки.

 

Код процедуры обработки события «щелчок на кнопке CmdFofmat» из модуля формы этого тестового приложения приведен в листинге 6.2.

 

Листинг 6.2. Код процедуры обработки события тестового приложения.

1 Private Sub CmdFofmat_Click()

2 Dim IntDigits As Integer

3 Dim BoolIncludeLeadingDigit As Boolean

4 Dim BoolUseParensForNegativeNumbers As Boolean

5 Dim BoolGroupDigits As Boolean

7 IntDigits = Text3.Text

8 BoolIncludeLeadingDigit = chIncludeLeadingDigit.Value

9 BoolUseParensForNegativeNumbers = _

10 chUseParensForNegativeNumbers.Value

11 BoolGroupDigits = chGroupDigits.Value

13 TxtOutput.Text = FormatPercent(Val(TxtInput.Text), _

14 IntDigits, _

15 BoolIncludeLeadingDigit, _

16 BoolUseParensForNegativeNumbers, _

17 BoolGroupDigits)

18 End Sub

На рис. 6.10 показана тестовая форма в режиме исполнения. Теперь можно вводить данные в текстовые окна и выбирать необходимые параметры в секции Параметры форматирования, изменяя таким образом аргументы функции FormatPercent.

Рис. 6.10

Форма в режиме исполнения для тестирования функции FormatPercent

Date: 2015-09-02; view: 501; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.006 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию