powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / FastReport: программное изменение формата поля
10 сообщений из 10, страница 1 из 1
FastReport: программное изменение формата поля
    #32111778
vislex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте!

С FastReport`ом работаю недавно, подскажите пожалуйста как в отчете при печати каждой строки в MasterData анализировать значение одного поля (Valuta) и в зависимости от него изменять формат отображения значения другого поля (Summa)? Нужно для того, чтобы знать какой знак выводить после суммы - $ или р.

С Уважением,
Алексей
...
Рейтинг: 0 / 0
FastReport: программное изменение формата поля
    #32111838
Voha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
http://www.fast-report.com/ru/forum.php][Может здесь чё найдешь полезного]
...
Рейтинг: 0 / 0
FastReport: программное изменение формата поля
    #32111966
Фотография tygra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В каждом Memo-поле есть нижняя часть при редактировании - она является событием OnBeforePrint. Вот там можно проверять и устанавливать все, что нужно.
...
Рейтинг: 0 / 0
FastReport: программное изменение формата поля
    #32112306
vislex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Про это событие я в курсе, синтаксис команд я не знаю, все что я пробовал не получается.
...
Рейтинг: 0 / 0
FastReport: программное изменение формата поля
    #32112346
Фотография tygra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Напиши типа того:
Код: plaintext
1.
2.
3.
где данные - [имя_поля_с_деньгами][v]
//v - переменная
.. в обработчике
if Поле_Где_ТИп_Валюты =  1  then v := 'руб' else v := 'бакс'
...
Рейтинг: 0 / 0
FastReport: программное изменение формата поля
    #32112347
Фотография tygra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
и точку с запятой в конце строки ;
...
Рейтинг: 0 / 0
FastReport: программное изменение формата поля
    #32112409
vislex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Tygra, спасибо за ответы но я пытаюсь сделать немножечько другое. Задача в том что есть поле valuta и summa. И в зависимости от поля valuta (о или 1) менялся формат поля summa. Т.е. мне в обработчике необходимо написать что то типа:

Код: plaintext
1.
 if  [DM.Bill_DetailQR."valuta"] = 0   then  MemoSumma.DisplayFormat:='###,###,##0.00р.';
 if  [DM.Bill_DetailQR."valuta"] = 1   then  MemoSumma.DisplayFormat:='###,###,##0.00$';

Т.е. чтобы менялся последний символ (к примеру, если в долларах, то выводится должно 5 123$, если в рублях, то 1 432р.)
Пробовал formatstr, format ничего не получается :(

С Уважением,
Алексей
...
Рейтинг: 0 / 0
FastReport: программное изменение формата поля
    #32112426
Dikobrazz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может быть, лучше в Dataset'е поле форматировать?
Повесь на поле summa событие OnGetText

Код: plaintext
1.
2.
3.
4.
5.
 procedure  TForm1.Query1SummaGetText(Sender: TField;  var  Text:  String ;
  DisplayText: Boolean);
 begin 
  Text:=FormatFloat(Sender.Value,'#,##0.00');
   if  Query1['valuta'] = 0   then  Text:=Text+'р.'  else  Text:=Text+'$';
 end ;
...
Рейтинг: 0 / 0
FastReport: программное изменение формата поля
    #32112546
Фотография tygra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А ты уверен, что можно формат менять?

Не проще ли все же эту буковку отдельно подставлять? Какая разница то?
А формат оставь без букв
...
Рейтинг: 0 / 0
FastReport: программное изменение формата поля
    #32115184
Shaitan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если поле "Valuta" может иметь только 2 значения, почему бы не сделать так:
[IF([Табилица."Valuta"] = 0, FORMATFLOAT('#,##0.00 р.', [Таблица."Summa"]), FORMATFLOAT('#,##0.00 $.', [Таблица."Summa"]))]
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / FastReport: программное изменение формата поля
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]