Delphi 3 и создание приложений баз данных

       

Свойство DisplayFormat


Свойство

property DisplayFormat: string;

применяется для форматирования при показе полей типа TDateField, TDateTimeField, TIntegerField, TSmallintField, TTimeField, TWordField.

Для форматирования полей типа TIntegerField, TSmallintField и TWordField может также применяться стандартная процедура procedure Str(X [: Width [: Decimals ]]; var S);

Для форматирования полей типа TDateField, TDateTimeField и TTimeField применяется функция function Date TimeToStr (Date Time: TDateTime): String;

Для форматирования полей типа TBCDField, TCurrencyField и TFloatField применяется функция function FloatToTextFmt(Buffer: PChar; Value: Extended:

Format: PChar): Integer;

Поддерживаются следующие спецификаторы форматов:



Спец-р Что влечет
0 Число. Если незначащий разряд равен 0, показывать его.
# Число. Если незначащий разряд равен 0, не показывать его.
Десятичная точка. Разделяет целую и дробную часть числа Принимается во внимание только первая точка, остальные игнорируются.
' Разделитель тысяч. Каждая группа чисел из 3 разрядов в целой части отделяется от иных разрядов запятой.
' Разделяет положительное, отрицательное и нулевое значение.
Е+ Научный формат действительных чисел
"XX' или 'XX' Символы внутри двойных или одинарных парных кавычек не форматируются и выводятся как есть. Например, число 123.45 с форматом '#.# "рублей"' выведется как '123.5 рублей'

Примеры использования форматов.

Форматируемое число 987654.321 -987654.321 0.27 -0.27 0
не форматировано 987654.321 -987654.321 0.27 -0.27 0
0 987654 -987654 0 0 0
0.00 987654.32 -987654.32 0.27 0 0.00
# 987654 -987654      
#.## 987654.32 -987654.32 .27 -.27  
#,##0.00 987,654.32 -987,654.32 0.27 -0.27 0.00
#,##0.00; (#,##0.0) 987,654.32 (987,654.32) 0.27 (0.3) 0.00
#,##0.00;; Нолик 987,654.32 -987,654.32 0.27 -0.27 Нолик
О.ОООЕ+00 9.877Е+05 -9.877Е+0 2.700Е-01 -2.700E-01 0.000Е+00
#.###Е-0 9.877Е5 -9.877Е5 2.7Е-1 -2.7Е-1 0Е0

Пусть значение поля 3456.777. Тогда, если DisplayFormat := '#.##', то будет показано 3456.78.

ЗАМЕЧАНИЕ.

Формат показа поля может быть динамически переназначен во время выполнения. Например, для заполнения данной таблицы мы воспользовались компонентами Edit1 и Button1 и производили динамическую замену формата поля Table I Salary так:

procedure TForm1.Button1Click(Sender: TObject);

begin

Table1Salary.DisplayFormat := Edit1.Text;

end;

DisplayFormat

игнорируется, если определен обработчик для события OnGetText.

ЗАМЕЧАНИЕ.

В случае, если поле, требующее обязательного ввода в него значения (свойство Required = True), на момент запоминания в таблице БД (т.е. на момент начала выполнения метода Post) содержит пустое или нулевое значение, возбуждается исключение EDBEditError.

Содержание раздела