Цитата:
Сообщение от
Another Name
Все равно не то. Пишу код
l_str:=myfunc;
MESSAGE(l_str);
где:
myfunc() : Text[4]
EXIT(STRSUBSTNO('%1%1%1%1','#'));
В результате выдает 0.
Вы по сути передаете в MESSAGE строку '####'.
MESSAGE('####') даст 0.
А надо писать MESSAGE('%1%1%1%1','#').
Думаю, по другому не получится....
Замените ваш код так:
Код:
myfunc(par : Boolean) : Text[50]
// %1 - ставить в тех местах, где решетки
IF par THEN
EXIT('%1%1%1%1')
ELSE
EXIT('Сообщение без решеток');
И вызовите
Код:
l_str := myfunc(FALSE); // или TRUE
MESSAGE(l_str,'#');
Вы увидите, что такой вариант будет вам передавать когда надо - решетки, но, если их нет, то MESSAGE(l_str,'#'); будет вести себя как MESSAGE(l_str);