Шаблоны научной нотации
@Em.n[B]
@E | Все шаблоны научной нотации начинаются с @E. |
m | Общее число символов в формате, предлагаемом данным шаблоном. |
n | Число цифр после десятичной точки. |
B | Если число равно нулю, то вывести пустую строку |
Шаблоны научной нотации форматируют очень большие или же очень маленькие числа. Вывод в виде десятичного числа в степени десяти.
Пример:
Шаблон | Значение | Результат |
@E9.0 | 1,967,865 | .20e+007 |
@E12.1 | 1,967,865 | 1.9679e+006 |
@E12.1B | 0 | |
@E12.1 | 1,967,865 | 1.9679 e+006 |
@E12.1 | .000000032 | 3.2000e-008 |
Шаблоны даты
@Dn[s][B]
@D | Все шаблоны даты начинаются с @D. |
n | Номер шаблоны даты. Допустимые номера от 1 до 16. |
s | Разделитель. Слэш (/) ставится между днем, месяцем и годом в большинстве шаблонов даты. Можно использовать альтернативные разделители, как то: . Порождает точки ` (слабое ударение)порождает запятые - Порождает тире _ (подчеркивание) порождает пробелы |
B | Вывести пустую строку, если число равно нулю. |
Даты можно хранить в числовых переменных (обычно LONG), DATE-полях (для совместимости с Btrieve), или в STRINGах описанных в виде дат. Дата, хранящаяся в числовой переменной называется Стандартной Кларионовской датой. Ее значение представляет собой количество дней, прошедших с 28 декабря 1800 года. Шаблон даты преобразует это число в один из форматов даты.
Для ввода данных нельзя использовать шаблоны @D3, @D4, @D7 и @D8 поскольку в них требуется вводить не только цифры, но и буквы.
Пример:
Шаблон | Формат | Результат |
@Dl | mm/dd/yy | 10/31/59 |
@D2 | mm/dd/yyyy | 10/31/1959 |
@D3 | mmm dd, yyyy | OCT 31,1959 |
@D4 | mmmmmmmmm dd, yyyy | October 31, 1959 |
@D5 | dd/mm/yy | 31/10/59 |
@D6 | dd/mm/yyyy | 31/10/1959 |
@D7 | dd mmm yy | 31 OCT 59 |
@D8 | dd mmm yyyy | 31 OCT 1959 |
@D9 | yy/mm/dd | 59/10/31 |
@D10 | yyyy/mm/dd | 1959/10/31 |
@D11 | yymmdd | 591031 |
@D12 | yyyymmdd | 19591031 |
@D13 | mm/yy | 10/59 |
@D14 | mm/yyyy | 10/1959 |
@D15 | yy/mm | 59/10 |
@D16 | yyyy/mm | 1959/10 |
@Dl. | mm.dd.yy | Разделитель точка |
@D2- | mm-dd-yyyy | Разделитель тире |
@D5_ | dd mm yy | Подчеркивание порождает разделитель пробел |
@D6` | dd,mm,yyyy | Слабое ударение порождает разделитель запятую |
Шаблоны времени
@Tn[s][B]
@T | Все шаблоны времени начинаются с @T. |
n | Номер формата времени. Допустимые номера форматов от 1 до 6. |
s | Разделитель. Двоеточие (:) ставится по умолчанию между часами, минутами и секундами в большинстве форматов времени. Можно использовать альтернативные разделители, как то: . Порождает точки ' (слабое ударение) порождает запятые - Порождает тире _ (подчеркивание) порождает пробелы |
B | Если значение равно нулю, то вывести пустую строку. |
Время можно хранить в числовой переменной (обычно LONG), в TIME- полях (для совместимости сBtrieve), или в STRINGах, описанных в формате времени. Время, хранящееся в числовой переменной называется стандартным кларионовским временем. Оно представляет из себя количество сотых долей секунды, прошедших с полуночи. Шаблон времени переводит это число в один из 6 форматов времени.
Нельзя
использовать для ввода шаблоны
(@T3 и @T6), в которых требуется
вводить не только цифры, но и
буквы.
Пример:
Шаблон | Формат | Результат |
@T1 | hh:mm | 17:30 |
@T2 | hhmm | 1730 |
@T3 | hh:mmXM | 5:30PM |
@T4 | hh:mm:ss | 17:30:00 |
@T5 | hhmmss | 173000 |
@T6 | hh:mm:ssXM | 5:30:00PM |
@T1. | hh.mm | Разделитель точка |
@T1- | hh-mm | Разделитель тире |
@T3_ | hh mmXM | Подчеркивание порождает пробелы |
@T4' | hh,mm,ss | Слабое ударение порождает запятые |
Шаблоны
"по образцу"
@p[<][#][x]P[B]
@P | Все шаблоны "по образцу" начинаются с разделителя @P и заканчиваются разделителем P. Регистр обоих разделетелей должен быть один и тот же. |
< | Целочисленная позиция. Если в этой позиции ноль, то вывести пробел. |
# | Целочисленная позиция. В этой позиции вывести цифру, независимо от ее значения. |
x | Необязательный символ для вывода. Эти символы будут присутствовать в выводной строке. |
p | Все шаблоны "по образцу" должны заканчиваться на P. Если разделитель @p введен на нижнем регистре, то и конечный разделитель P тоже должен быть в нижнем регистре. |
B | Если ВСЕ число равно нулю, то вывести пустую строку. |
Шаблоны "по
образцу" содержат
необязательные целочисленные
пози- ции и необязательные
символы редактирования. Любой
символ кроме < или # считается
символом редактирования,
который появится в
форматированной
строке-результате. Разделители
@P и P чувствительны к регистру,
на котором они введены. Это
сделано для того, чтобы, если
скажем, надо ввести символ
"Р", то можно использовать
разделители "р" и
наоборот.
Пример:
Шаблон | Значение | Результат |
@P###-##-####P | 215846377 | 215-84-6377 |
@P<#/##/##P | 103159 | 10/31/59 |
@P(###)###-####P | 3057854555 | (305)785-4555 |
@P###/###-####P | 7854555 | 000/785-4555 |
@p<#:##PMp | 530 | 5:30PM |
@P<#'<#"P | 506 | 5' 6" |
@P<#Ib. <#oz.P | 902 | 91b. 2oz. |
@P4##A-#P | 112 | 411A-2 |
Key-in
Template Pictures
@K[@][#][<][x][\][?][^][_][Ѓ]K[B]
@K | Все key-in template шаблоны начинаются разделителем @K и завершаюися разделителем K. Регистр обоих "К" должен быть одним и тем же. |
@ | Разрешены только буквы на верхнем и нижнем регистрах. |
# | Разрешены целые числа от 0 до 9. |
< | У целых чисел выводить лидирующие нули пробелами. |
x | Представляет необязательные постоянные символы для показа (любые символы, пригодные для вывода на экран). Эти символы попадают без изменений в результирующую строку. |
\ | Следующий за \ символ выводить на экран как печатаемый. Так можно включить в результирующую строку любые символы форматирования (@,#,<,\,?,^,_,Ѓ) как обычные печатаемые символы. |
? | В этой позиции может быть любой символ. |
^ | В этой позиции разрешены только буквы на верхнем регистре. В этой позиции разрешены только буквы на нижнем регистре |
| | Ограничитель. Только данные введенные до | и печатаемые символы, введенные до | будут помещены в результирующую строку. |
K | Все key-in template шаблоны завершаются символом "K". Если разделитель @k был введен на нижнем регистре, то и завершающий k должен быть введен на нижнем регистре. |
B | Если ВСЕ число рано нулю, то вывести пустую строку. |
Key-in шаблоны
могут содержать целочисленные
позиции ( # < ), символьные
позиции ( @ ^ _ ), места для любых
символов ( ? ), и печатаемые
символы. Любой символ, кроме
символов форматирования,
рассматривается как
печатаемый, который попадает в
форматированную
строку-результат. Разделители
@K иd K чувствительны к регистру
по той же причине, что и @P и P в
шаблонах "по образцу".
Key-in Шаблоны
специфичны для полей типа STRING,
PSTRING, и CSTRING для возможности
произвольного редактирования
и проверки допустимости поля.
Использование key-in шаблонов,
содержащих любые алфавитные
индикаторы ( @ ^ _ ) с полями для
ввода чисел дает
непредсказуемые результаты.
Поскольку
использование режима вставки
для key-in шаблонов, может также
привести к непредсказуемым
результатам, то key-in шаблоны
всегда принимают данные в
режиме надпечатки, даже если
есть атрибут INS.
Пример:
Шаблон | Введено значение |
Строка-результат |
@K###-##-###K | 215846377 | 215-84-6377 |
@K####Ѓ-####K | 33064 | 33064 |
@K####Ѓ-####K | 330643597 | 33064-3597 |
@K<# ^^^ ##K | 10AUG59 | 10 AUG 59 |
@K(###)@@@-##\@##K | 305abc4555 | (305)abc-45@55 |
@K###/?##-####K | 7854555 | 000/785-4555 |
@k<#:##^Mk | 530P | 5:30PM |
@K<#' <#"K |
506 | 5' 6" |
@K4#_#A-#K | 1g12 | 41glA-2 |
Строковые
шаблоны
@Slength
@S | Все строковые шаблоны начинаются с @S. |
length | Определяет количество символов в шаблоне формата. |
Строковый
шаблон описывает
НЕформатированную строку
заданной длины.
Пример:
Name STRING(@S20) !20-символьное поле-строка