AXForum  
Вернуться   AXForum > Microsoft Dynamics NAV > NAV: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 01.02.2007, 16:16   #1  
Another Name is offline
Another Name
Участник
 
17 / 10 (1) +
Регистрация: 02.09.2005
Как написать C/Al функцию, возвращающую строку '####' (без кавычек), т.е. четыре решетки?
Спасибо
Старый 01.02.2007, 17:15   #2  
OntheJump is offline
OntheJump
Участник
 
165 / 10 (1) +
Регистрация: 31.10.2006
function ReturnSuperString : Text[4]

Код:
EXIT('####');
Старый 01.02.2007, 17:54   #3  
randrews is offline
randrews
Участник
Аватар для randrews
 
312 / 10 (1) +
Регистрация: 06.12.2004
Цитата:
Сообщение от Another Name Посмотреть сообщение
Как написать C/Al функцию, возвращающую строку '####' (без кавычек), т.е. четыре решетки?
Спасибо
Цитата:
Сообщение от OntheJump Посмотреть сообщение
function ReturnSuperString : Text[4]

Код:
EXIT('####');
))))

OntheJump правильно ответил на ваш вопрос (я бы сказал досканально)

А вообще, если написать.
MESSAGE('a = ####'); , то он выдаст a = 0
MESSAGE('a = %1%1%1%1','#'); - нормальный вариант
Старый 02.02.2007, 12:32   #4  
Another Name is offline
Another Name
Участник
 
17 / 10 (1) +
Регистрация: 02.09.2005
Цитата:
Сообщение от randrews Посмотреть сообщение
Цитата:
Сообщение от Another Name Посмотреть сообщение
Как написать C/Al функцию, возвращающую строку '####' (без кавычек), т.е. четыре решетки?
Спасибо
Цитата:
Сообщение от OntheJump Посмотреть сообщение
function ReturnSuperString : Text[4]

Код:
EXIT('####');
))))

OntheJump правильно ответил на ваш вопрос (я бы сказал досканально)

А вообще, если написать.
MESSAGE('a = ####'); , то он выдаст a = 0
MESSAGE('a = %1%1%1%1','#'); - нормальный вариант
Все равно не то. Пишу код

l_str:=myfunc;

MESSAGE(l_str);

где:

myfunc() : Text[4]
EXIT(STRSUBSTNO('%1%1%1%1','#'));

В результате выдает 0.
Старый 02.02.2007, 13:00   #5  
Fordewind is offline
Fordewind
Участник
 
1,134 / 10 (3) +
Регистрация: 01.12.2005
А не надо было скрещивать оба варианта!
Потому что вы в итоге сделали вот что:

Цитата:
Сообщение от randrews Посмотреть сообщение
А вообще, если написать.
MESSAGE('a = ####'); , то он выдаст a = 0
Старый 02.02.2007, 13:10   #6  
randrews is offline
randrews
Участник
Аватар для randrews
 
312 / 10 (1) +
Регистрация: 06.12.2004
Цитата:
Сообщение от 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);
 


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 16:12.