PDA

Просмотр полной версии : Форматирование данных из БД



Anonymous
05.04.2004, 10:55
Подскажите пожалуйста, как в Делфи решается вопрос с форматированием данных? Т.е., например, у меня в таблице БД есть тринадцатизначное поле типа string, в котором первые шесть символов содержат код корода, а следующие семь - номер телефона. А для пользовательского интерфейса мне нужно это представить в удобоваримом формате, что-то вроде: (095) 2342-573. Данные выводятся в компонент DBText. Связь с базой - через ADO. Пробовала при активизации формы вставить следующее:

datamodule2.ADOTablPartner.Fields[4].Value:='('+
copy(datamodule2.ADOTablPartner.Fields[4].AsString,1,6)+')'+
copy(datamodule2.ADOTablPartner.Fields[4].AsString,7,4)+'-'+
copy(datamodule2.ADOTablPartner.Fields[4].AsString,11,3)

не работает. Fields[4] - это и есть поле с телефонами.

delphi-coder
05.04.2004, 13:28
А так:


var
tmp: string;

str := datamodule2.ADOTablPartner.Fields[4].AsString;
datamodule2.ADOTablPartner.Fields[4].Value :=
'( '+ copy(tmp, 1, 6) + ')' + copy(tmp, 7, 4) + '-' + copy(str, 11, 3) ;

Naeel Maqsudov
06.04.2004, 15:11
У полей (TStringField) есть свойства, задающие маску вывода и маску редактирования

Кажется они называются .DisplayFormat и .EditMask

Автоматическая расстановка литералов в определенных позициях - это меньшее, на что способны маски.