>Hi Ed Rauh,
>
>Thank you for your suggest, but i still have some question.
>
>1. i just find "Courier" Font was monospaced from my Report-Forms list (my windows is standard, without add-in forms). But i feel that the style of "Courier" is not good. May i know what fonts you use in report ?
>(do i need to add-in more fonts)
>
If I need a monospaced font, I normally use Courier or FoxPrint. Most of the reports that I do produce are either produced with the report writer or via OLE Automation to Word or Excel. I haven't used hand-coded reports since I stopped working in FPDOS.
>2. why i haven't change to REPORT FORM at my VFP2.6 program ?
>it is because, i feel that the REPORT FORM just fit for a simple report. but when programming in line by line, i can easily to control what i want to print at next line (sub-total,total,summer,memo.... ) and the importance is i can know the remain line at current paper. ( ex. this document's remark with 8 line and i want to print it all in a page, i can check the value of prow() to control to print in this page or eject it then print it on new page.
>
You can make that decision; I feel it's a mistake, since your approach ties you to a specific printer in most cases, and makes using many of the Windows printing features difficult or impossible. For me at least, the line-by-line approach doesn't work well.
>3. someone told me they just put a 3 field into a REPORT FORM as below :
>
>p_header
>[Page Header]
>p_detail
>[Detail]
>p_footer
>[Page Footer]
>
>and then they put all data into those 3 field to print out as below :
>
>** for the p_header
>p_header = iif(my_prog="A/R","Account Receivable","Account Payable") + chr(13)
>p_header = p_header + iif(my_select="all","All record","A account code only") + chr(13)
>p_header = p_header + "Product # Description Qty Price Total"
>
>** for the detail
>p_detail = iif(product_no="",factory_no,product_no)
>p_detail = p_detail + descript1 + ...... + chr(13)
>if !empty(descript2) && to check isn't empty at descript2
> p_detail = p_detail + space(20) + descript2 + chr(13)
>endif
>if !empty(descript3)
> p_detail = p_detail + space(20) + descript3 + chr(13)
>endif
>if !empty(descript4)
> p_detail = p_detail + space(20) + descript4 + chr(13)
>endif
>
>** for footer
>p_footer = "total------->" + total_amt
>
>did you write your document/report as this way ??
>if NOT, can you seggest me what is the right way (easy to control) :)
>
There's no way to answer that question as posed, since I've had to produce many different reports, and they require different approaches depending on the nature of the data and how I want the report to look. There's no single answer to the question.
>:) sorry, i have too many question for you, but i need your seggest