Параметр в Script из приложения Ongetvalue()

VolodymyrVolodymyr Ивано-Франковск, Украина
отредактировано August 2009 Раздел: FastReport 4.0
Привет всем. Помогите разобраться, перевожу отчёты с версии 2,52 на 4,7
и неполучается перевести старую инструкцию скрипта компонента TfrMemoView
Memo1.Memo.Clear;
A1 :=Trim(PARAM);
if A1 <> '' then
Memo1.Memo.Add('Трям-Трям')
else
Memo1.Memo.Add('');
Параметр PARAM получаем из приложения по событию onGetValue компонента TfrReport в C++ Builder
пробовал организовать следующим образом описать скрипт в коде отчёта
var
 aR:String;  
begin
aR:= [Trim(Memo1.Memo.Text)]; // Memo1.Memo.Text = [PARAM]                                   
Memo1.Memo.Clear;      
IF aR <>'' THEN
    Memo1.Memo.Add('ТРЯМ-ТРЯМ!!!')
 ELSE
  Memo1.Memo.Add('')           
end.
Выдаёт сообщение invalid variant type conversion :)
Пробовал так
var
 aR:String;  
begin
aR:= [Trim(VarToStr(< PARAM>))];                                   
Memo1.Memo.Clear;      
IF aR <>'' THEN
    Memo1.Memo.Add('ТРЯМ-ТРЯМ!!!')
 ELSE
  Memo1.Memo.Add('')           
end.
Выдаёт неизвестная переменная или поле базы данных :)
Где собака зарыта? Кто-то можеть подсказать????

Комментарии

  • PabloPablo Рязань
    отредактировано 08:51
    я конечно скрипт вижу впервые, но
    может PARAM - это служебная переменная или функция?
  • VolodymyrVolodymyr Ивано-Франковск, Украина
    отредактировано August 2009
    Благодарствую всем кто интересовался.
    Решилось, просто. Нужно было правильно напИсать инструкцию
    IF... ELSE ...
    
    В хелпе нет нормально розъяснения.
    Во первых сейчас это
    [(IIF(<DataSet."Field"> = 0, 'True Value', 'False Value'))]
    
    Обязательно соблюдать синтаксис с кавычками
    А вот если скриптом
    var        
    sTxt: String;
    begin
    //// Memo1.Memo.Text = [sTxt] 
    sTxt:= 'NULL';
    if <DataSet."Field"> = 0 then
        sTxt:='ТРЯМ-ТРЯМ'
     else
     sTxt:='ЛЯ-ЛЯ-ФА'     
    end.
    
    И всё работает!!! :)

    но всёж интересует обработка параметров полученых по onGetValue компонента TfrReport
    скрипт их не видит!!!??? не всегда получается полностью обработать параметр в Memo.Memo ка показано ниже
    [(IIF(<PARAM> <> '', 'Комбинирование данных '+ <PARAM>, 'Значение по умолчанию'))]
    
    этот код работает

    Так что тема до сих пор актуальная? :)
  • VolodymyrVolodymyr Ивано-Франковск, Украина
    отредактировано 08:51
    Pablo написал: »
    я конечно скрипт вижу впервые, но
    может PARAM - это служебная переменная или функция?

    Даже с дригим имене не работает!!!

Оставить комментарий

Многофункциональный текстовый редактор. Чтобы отредактировать стиль параграфа, нажмите TAB, чтобы перейти к меню абзаца. Там вы можете выбрать стиль. По умолчанию не выбран ни один стиль. Когда вы выберете текст, появится встроенное меню форматирования. Нажмите TAB, чтобы войти в него. Некоторые элементы, такие как многофункциональные вставки ссылок, картинок, индикаторов загрузки и сообщений об ошибок могут быть вставлены в редактор. Вы можете перемещаться по ним, используя стрелки внутри редактора и удалять с помощью клавиш delete или backspace.