midrange.com code scratchpad
Name:
Sprintf in RPGLE.
Scriptlanguage:
Plain Text
Tabwidth:
4
Date:
10/20/2021 08:00:12 pm
IP:
Logged
Description:
Sample of doing sprintf from rpgle. I have a note in my original tests to not try and do number. Too much of a pain. Not sure why.
Code:
  1. **Free
  2.  
  3.       // Testing Sprintf
  4.  
  5.       Dcl-Pr Sprintf int(10) Extproc(*Cwiden:'sprintf');
  6.         ReturnValue Pointer Value Options(*String);
  7.         FormatString Pointer Value Options(*String);
  8.         Sub1 Pointer Value Options(*String:*Nopass);
  9.         Sub2 Pointer Value Options(*String:*Nopass);
  10.         Sub3 Pointer Value Options(*String:*Nopass);
  11.         Sub4 Pointer Value Options(*String:*Nopass);
  12.       End-Pr;
  13.  
  14.       Dcl-S Result Char(50);
  15.       Dcl-S Sample Char(50);
  16.       Dcl-S MyString Char(20);
  17.       Dcl-S Mystring2 Char(10);
  18.       Dcl-S Mystring3 Char(60);
  19.       Dcl-S Rc Int(10);
  20.  
  21.       Sample = '#1 is %s';
  22.       Mystring = '12';
  23.       Rc = Sprintf(%addr(Result):Sample:Mystring);
  24.       If Rc > 0;
  25.         Dsply Result;
  26.       Else;
  27.         Dsply 'Failed';
  28.       EndIf;
  29.  
  30.  
  31.       Sample = '#1 is %s and #2 is %s';
  32.       Mystring2 = ' 1 3 ';
  33.       Rc = Sprintf(%addr(Result)
  34.          :Sample
  35.          :%Trim(Mystring)
  36.          :%Trim(Mystring2));
  37.       If Rc > 0;
  38.         Dsply Result;
  39.       Else;
  40.         Dsply 'Failed';
  41.       EndIf;
  42.       Sample = '#1 is %s and #2 is %s and #3 is %s';
  43.       Mystring3 = 'Abcde';
  44.       Rc = Sprintf(%addr(Result)
  45.          :Sample
  46.          :%Trim(Mystring)
  47.          :%Trim(Mystring2)
  48.          :%Trim(Mystring3));
  49.       If Rc > 0;
  50.         Dsply Result;
  51.       Else;
  52.         Dsply 'Failed';
  53.       EndIf;
  54.  
  55.       *Inlr = *On;
  56.       Return; 
© 2004-2019 by midrange.com generated in 0.005s valid xhtml & css