****************************************************************************** *[139 * OVERVIEW of SWEPROC.PRG XFORMAT * Function allows you place characters from a string any where you want on a report * send the string you want printed to the function and it will * return a character from the string each time the function is called * For example to print l a r g e your would use xformat('large') 5 times spaced the way you want it * and it will return a letter each time * You can even do l * a * r by using this technique * g * e * Cut and paste makes this function much quicker to use than it looks since you are just pasting the same expression 5 times *]139 FUNC xformat PARAM lcString IF TYPE('gcKeepString')$'UL' RELEASE gcKeepString PUBLIC gcKeepString,gcPassChar gcPassChar=0 gcKeepString='xxzzzz' ENDIF IF lcString==gcKeepString && if its still the same gcPassChar=gcPassChar+1 ELSE gcPassChar=1 gcKeepString=lcString ENDIF RETURN SUBS(lcString,gcPassChar,1)>I have a preset form to fill in. Some spaces are far too short for normal horizontal alignment of the fields, so I want to place the corresponding fields diagonally. Any help would be appreciated.