2017-02-01 7 views
0

Я пытаюсь показать несколько цифр в формате, как показано ниже:воспр Опкод для отображения каскадной строки

Num1 = 30 
Num2 = 50 
Num3 = 40 

Это я пытаюсь достичь через что-то вроде Dsply 'Num1 = ' + %char(Num1);

Но очевидно, что это не за работой. Должен ли я сначала поставить строку, которую я хочу отобразить, в другое поле, а затем использовать ее в коде операции Dsply?

ответ

1

Поскольку Num1 не является «строковой» переменной, его нельзя использовать напрямую с DSPLY. Попробуйте что-то вроде:

Dsply ('Num1 = ' + %char(Num1)); 

Вы можете сделать это другими способами путем копирования значения в символьной переменной, а функция% CHAR() легко и очевидно код.

+0

Извинения для упоминания соврет в коде. То, что вы написали в своем комментарии, - это именно то, что ve пыталось. Dsply 'Num1 =' +% char (Num1); Но «Операнд ожидался, но не был найден; спецификация игнорируется. ' это сообщение. Не удалось выяснить, что не так –

+0

@ user3311539 Я отредактировал код, чтобы включить круглые скобки вокруг операнда DSPLY. Сначала я должен был протестировать, но это было слишком просто. Виноват. Попробуйте исправленную инструкцию DSPLY и обратите внимание на то, как скобки вызывают генерирование одного значения операнда. Пространство больше не путает компилятор, думая, что может быть назначен второй операнд. (DSPLY может принимать второй операнд.) – user2338816

+0

Выше решения работает как драгоценный камень. Я подумал о скобках, но его смешно, как мой разум обманывает меня, думая, как мало вещей, используемых в Java или C, не будут работать в RPG. Но по мере того, как я узнаю больше о RPG, чем больше я понимаю его не жесткий язык, где простые решения не работают! –

 Смежные вопросы

  • Нет связанных вопросов^_^