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


Автор: Anakin 10.10.2013, 14:44
Добрый День.
Есть вопрос по использованию FastReport.
Имеется FastReport 4, FireBird 2.5.

Есть таблица в Отчете Master Data, в Таблице есть пару полей они отображаютса и заполняетса нормально.
В Базе данных у меня есть поле которые хранит данные типа Boolean (0 / 1 )
Дальше я ставлю Мемо в отчете и прописываю в его Event такой код:

Код

Procedure Memo20OnAfterData(Sender: TfrxComponent);
Var
frCom:String;
Begin            
    if [ (<Query1."Defa">)] = 0 then
    frCom := 'ЗначениеДа'  
  else      
    frCom := 'ЗначениеНет';
end;
 
А в тексте Memo я пишу это [frCom]

Но ничего не происходит, никаких ошибок и поле пустое ((
Пробовал вставлять этот Код куда угодно но он нигде не работает ((

Когда в FR 2,5 Было достаточно в самом Мемо указать этот код и всё работало ((
Подскажите как мне решить данную проблему.
За Ранее пасиб.

Автор: pseud 16.10.2013, 10:54
Цитата(Anakin @  10.10.2013,  14:44 Найти цитируемый пост)
А в тексте Memo я пишу это [frCom]

Для начала frCom должна быть глобальной переменной в отчете, а не локальной в процедуре.

Автор: Anakin 20.10.2013, 11:12
Цитата(pseud @ 16.10.2013,  10:54)
Цитата(Anakin @  10.10.2013,  14:44 Найти цитируемый пост)
А в тексте Memo я пишу это [frCom]

Для начала frCom должна быть глобальной переменной в отчете, а не локальной в процедуре.

Тоесть Глобальной ?
Я читал шас мануал по ФР но ничего не увидел про реальзацию подобным способом.

Автор: pseud 21.10.2013, 09:48
Попробуй использовать событие OnBeforePrint и такой код:

Код

var
  frCom: string;

procedure Memo20OnBeforePrint(Sender: TfrxComponent);
begin            
  if <Query1."Defa"> = 0 then
    frCom := 'ЗначениеДа'  
  else      
    frCom := 'ЗначениеНет';
end;

begin

end.

Автор: Anakin 21.10.2013, 18:26
Цитата(pseud @ 21.10.2013,  09:48)
Попробуй использовать событие OnBeforePrint и такой код:

Код

var
  frCom: string;

procedure Memo20OnBeforePrint(Sender: TfrxComponent);
begin            
  if <Query1."Defa"> = 0 then
    frCom := 'ЗначениеДа'  
  else      
    frCom := 'ЗначениеНет';
end;

begin

end.

Пробовал, не работает.
Никаких Ошибок но и никаких результатов. ((
Пробовал вешать и на OnBeforePrint на саму страницу отчёта, так-же никакого результата.
Нашёл кое какую инфу в инете, приду дамой попробую.

Автор: Anakin 22.10.2013, 16:41
Проблема Решена.
Не правильно работал с операторами If и Else и скобками.
pseud, Тебе спасибо отдельно направил меня в правильное русло.

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