| How to Right-Justify Numeric Fields with @ ... SAYLast reviewed: June 26, 1995Article ID: Q103829 | 
| The information in this article applies to: 
 If a proportional font is used with @ ... SAY commands to output fields to a printer, the fields will not appear right-justified. To work around this problem, the following code example could be implemented in a coded report to create right-justified numeric fields with a proportional font. 
    USE \foxprow\tutorial\customer.dbf
   SET PRINT FONT "Arial",12  && sets the font for @ ... SAYs to print
   SET DEVICE TO PRINT
   SET PRINT ON
   mrow=5                && the beginning print row
   DO WHILE RECNO()<15   && prints the first 14 records
      * The following line converts the numeric field to a
      * string and adds commas for formatting
      strytd=TRANSFORM(ytdpurch,"999,999.99")
      mslot=LEN(strytd)  && the number of characters in the field
      mcolumn=30         && the position for the rightmost character
      * The following loop prints one character at a time from right
      * to left until the specified position in the field is a space
      DO WHILE SUBSTR(strytd,mslot,1)<>" "
         @mrow,mcolumn SAY SUBSTR(strytd,mslot,1)
         mslot=mslot-1      && decrement position of field to look at
         mcolumn=mcolumn-1  && decrement printer column
      ENDDO
      SKIP               && move to the next record
      mrow=mrow+1        && increment printer row
   ENDDO
   SET DEVICE TO SCREEN
   SET PRINT OFF
   SET PRINT TO
 | 
| Additional reference words: FoxWin 2.50 2.01 number report justify align 
 © 1998 Microsoft Corporation. All rights reserved. Terms of Use. |