Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Базы данных и репортинг > PickList и единицы измерения...


Автор: DimW 14.3.2005, 10:22
Не думал что с этим возникнут проблемы, но увы...
Эсть PickLict, который должен содержать единицы измерения, то есть не "квадратный метр", не "м2", а надо что бы двойка была индексной... сверху над "м" и тройка тоже....
Пытался копировать из Word таблицы символов, и формировать PickList статически, копируется "?";
Может как нить динамически можно сформировать PickList? Вот только как это вопрос smile
Конечно вопрос немного не по БД, но раз PickList упоминается то...

Автор: Bes 14.3.2005, 10:40
Нажимаешь Альт, набираешь в правой клавиатуре три цифры - отпускаешь альт, получается что-то вроде
§

‼
ў
попробуй, может что и найдешь, а по другому... ну может шрифты какие-нибудь другие можно попробовать..

Автор: DimW 14.3.2005, 10:54
Цитата

Нажимаешь Альт, набираешь в правой клавиатуре три цифры - отпускаешь альт

"╓ ŭ N ⚒ Ȥ ╓ x ♥ ♥ ♥ $ ʒ ĂȤ ʷμ ξ ϛ ͖ Ǟ υ ʺ ʷ ʷ ĉ Ū ╓ О Ъ ĉ"- запарился набирать...

Цитата

ну может шрифты какие-нибудь другие можно попробовать..

а вот этого не надо.....
Но ведь в Word есть такие символы, и без установок дополнительных шрифтов...
В таблице символов ставлю Times New Roman, есть такие символы с этим шрифтом...

Автор: DimW 14.3.2005, 11:24
Нашел как по Alt: Alt+0178 - " ² "
Но все равно в PickList ставится "?" smile
Добавлено @ 11:26
Вот и в теме в место двойки добавилось " ² ", хоты при написании была двойка.

Автор: offline 14.3.2005, 12:20
Я думаю, что это бесполезно через Alt набирать. У меня была такая же проблемма. Мне нужна была стрелка вверх и вниз, ну ничего из этого не ывшло через стандартные шрифты. Я перебрал всю таблицу и нашел стрелки, а они заразы в Delphi не отображались. Пришлось менять смысл задачи smile и выкручиваться не стрелками, а словами smile

Автор: DimW 14.3.2005, 14:32
Ну и что мне делать? Закозчик хочет видить единицы измерения в условном для них виде...
Болше ни у кого идей нет? smile

Автор: Dr.No_xXx 14.3.2005, 15:46
поищи на
www.delphinarod.ru
вроде так но я не уверен

Автор: bursa 14.3.2005, 16:44
Событие OnDrawDataCell

Код

procedure TForm1.DBGrid1DrawDataCell(Sender: TObject; const Rect: TRect;
  Field: TField; State: TGridDrawState);
var l:longint;
begin
if Field=Query1.FieldByName('field') then
if Query1.FieldByName('field').asString='м2' then
begin
 DBGrid1.Canvas.Rectangle(Rect); //заполняем белым цветом
 DBGrid1.Canvas.Font.Size:=14;
 DBGrid1.Canvas.TextOut(Rect.Left+1,Rect.Top+1,'м');
 l:=DBGrid1.Canvas.TextWidth('м');
 DBGrid1.Canvas.Font.Size:=5;
 DBGrid1.Canvas.TextOut(Rect.Left+1+l,Rect.Top+1,'2');

end;
end;




Автор: DimW 14.3.2005, 16:56
Спасибо за ответ!!!
Это все хороше, вот только в БД все равно хранится "м2" и при печати соответственно будет "м2".
Но все равно спасибо, хотя бы частично задача решена.

Мда задачка..... Проблема все же остается не решенной. smile

Автор: Vit 14.3.2005, 17:01
Цитата(DimW @ 14.3.2005, 07:56)
Спасибо за ответ!!!
Это все хороше, вот только в БД все равно хранится "м2" и при печати соответственно будет "м2".
Но все равно спасибо, хотя бы частично задача решена.


В базе вы должны хранить какие-то идентификаторы котрые будут показывать как форматировать текст. Сами придумайте идентификаторы и сами их обрабатывайте при показе.

Автор: DimW 15.3.2005, 08:53
Цитата
В базе вы должны хранить какие-то идентификаторы котрые будут показывать как форматировать текст. Сами придумайте идентификаторы и сами их обрабатывайте при показе.


Допустим идентификаторам в БД для метра квадратного будет "м2" которое будет хранится в поле 'Field_Def', селект вернет мне "м2". Делаю вычислимое поле 'Field_Name' в компоненте TQuery, праверяю:

if Query.FieldByName('Field_Def').AsString='м2' then
Query.FieldByName('Field_Name').AsString= Но что присвоеть сюда??????????????????????

С DBGrid понятно как сделать, bursa хороший пример дал, но мне нужно что бы отчет печатался с условленными для единиц иэмерения обозначениями!!!

smile

Автор: Bes 15.3.2005, 09:08
Ну тогда рисуй их. smile беС прикола - просто ничего не приходит в голову.

Автор: DimW 15.3.2005, 09:21
Так и знал что кто нить, когда нить придложит такую идею..... smile

Автор: Bes 15.3.2005, 11:11
smile Ну извини, дружище, что это был я. Попробую, чего-нить еще родить.

Автор: Dimich 17.3.2005, 14:48
Вот так это можно сделать в FastReport (по крайней мере в версии 3 и наверняка выше, а может быть даже и ниже):
К примеру, пусть данные отображаются в компоненте отчета TfrxMemoView. Ставим его свойство AllowHTMLTags := true и можно пользоваться HTML тегами для форматирования текста. Вот так будет выглядеть текст с тегами для квадратного метра: м<sup>2</sup>

Автор: DimW 21.3.2005, 11:25
Хочеться сказать 2 веши:
1) Fast Report рулит!!!! (Dimich)
2) Всем спасибо за желание помоч!!!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)