Не работают вычисляемые выражения в MemoView

_OZ_OZ
отредактировано 06:48 Раздел: FastReport 3.0
Есть три MemoView. В первом и во втором записаны числа 100 и 200 соответственно. В третьем записана вот такая формула: [Memo1.Text*Memo2.Text].

При запуске на расчет выдается ошибка: blablabla... Incompatible types.

Я пробовал разные способы: устанавливал нужный displayformat, преобразовывал эти свойства в integer (вот так: StrToInt(Memo1.Text)). Все равно не может посчитать.

Как же правильно записывать такие выражения?

Комментарии

  • _OZ_OZ
    отредактировано 06:48
    Забыл сказать, что версия 3.11
  • отредактировано 06:48
    Через переменные.
    Типа:
    Memo1.Text:='[Var1]';
    Memo2.Text:='[Var2]';
    Memo3.Text:='[Var1+Var2]';
  • _OZ_OZ
    отредактировано 06:48
    А в самой ячейке разве так нельзя писать, как это было во 2-й версии?
  • отредактировано 06:48
    [strtoint(memo1.memo[0])*strtoint(memo2.memo[0])]
    
    например так

    но если в мемках будут не цифры, то будут проблемы
  • _OZ_OZ
    отредактировано 06:48
    Работает, но попахивает каким-то шаманством ;)

    А зачем отломали обычный разбор выражения, как это было во 2-й версии?

    Каждый раз писать такие конструкции не есть гут.
  • отредактировано 06:48
    Шаманство было когда она сама что-то конвертировала. А теперь правильный подход - кроме тебя никто не знает какого типа там данные.

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

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