Приведение типа в скриптах

отредактировано 07:16 Раздел: FastReport 2.xx VCL
Добрый день.

Может быть кто-нибудь ответит на следующий вопрос.

В отчет из вызывающей программы передается значение переменной [Var1].

Требуется осуществить следующую проверку значения:

if ([Var1] = '') or ([Var1] = 0) then
begin
//... Действия
end;

Если значение Var1 равно 0, все работает нормально. Если же значение Var1 -
пустая строка, т.е. значение равно - '', выдается сообщение об ошибке: "Invalid variant
type conversion". Здесь FastReport ругается на вторую часть условия: ([Var1] =
0).

Вопрос: существует ли способ обойти данную ситуацию, кроме приведенного ниже варианта? Может быть существует возможность привести строку к числовому значению?

Вариант, который работает, но он не является оптимальным:
if ([Var1] = '') then
begin
//... Действия
end
else if ([Var1] = 0) then
begin
//... Действия
end;

P.S. Являюсь зарегистрированным пользователем FastReport 2.5.

Комментарии

  • отредактировано 07:16
    2 Ivanopulo:

    ИМХО - баг интерпретатора (либо его неоптимальная работа) ...

    Обходится так:
    if ([Var1] = '') then Var1:=0;
    if ([Var1] = 0) then
    begin
    //... Действия
    end;
    

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

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