TMWPrintObject Component Version 3.0 Created by: Woody (James Woodard) Email: woody.tmw@ih2000.net Built in Delphi Version 2.0. (So far, all reports have been that it works great in every other 32 bit version of Delphi up to 5, so I get to keep using D2 for awhile and save my money :) This component was built to allow me to create complex reports that most visual report writers don't give you. There are times .... Aw, screw it. I decided it was time to zing up my Readme file so I deleted the rest and filled in with this: Don't you just hate it when the people you work for keep coming to you time and time again and changing the way they want reports? Or adding new information? Not that you can't make "your" code more generic to take these things into account. But how many of your report writers are that flexible? If you're like me, I prefer to "roll my own reports". That way I can control the exact sequence of sorting, grouping, headers and footers for each and every page. There's nothing like stepping back from a good looking report and saying, "Damn, now THAT should be hanging in museum somewhere!" OK, so it's not exactly THAT good, but, hey, had you going... Actually, though, it is really cool. The best thing about it is that you can use this component to print to ANY canvas, not just a printer. Got an image on a form you want to draw to. Set the TMWPrintObject's PrinterCanvas property to the image canvas and voila! Mix text and graphics together using either pixels or inches, whichever you're more comfortable with. There are routines to convert from pixels to inches and vice-versa. Wrap text in columns created on the image or printer canvas. Yes, you can do this and more. Check out the demo program and see a demonstration of animation using standard printing commands. This component makes things so easy to print, that I have created several other programs, like a bitmap and icon printing program so I can print out pictures of my graphics to look at when deciding the next icon for a program. (Email me and request a copy if you want. No charge. It's free, too.) I got so bored with black and white that I put in all the color commands, too such as setting font, pen and brush colors and styles. If you have a color printer, it will print in color. If you don't, the text will always print in black so as not to look faded but the graphics will print in shades of gray. OK, back to the boring talk now... The three ingredients to this component are Printdrv.PAS, PrintDr1.PAS and PrintDr2.PAS. The source(PAS,DFM) and compiled(DCU) versions of these files are supplied. Only the compiled (DCU) files and the form(DFM) files need to be used. The Printdrv.DCU file is the one that needs to be installed. Copy all three to your favorite component folder and then, well, you know what to do. I included the bitmaps that I used for the page navigation buttons just in case. The help file contains information regarding the various properties, events and methods used by the component. It is getting out of date quickly but I have had an offer from a user of the component to create one using HTML so I'll send it to anyone interested. Just deop me an if you like the component and would like the help file when ready. Use Delphi's HelpInst program to merge the .kwf file into Delphi's .hdx file to give you context-sensitive help capability from the IDE. If there are problems or you have suggestions on how to improve it, please let me know. I am not sure of it's capacity for storing pages, so I don't know how large a report it can handle. You are mainly limited by the amount of memory you have. This component is freeware. You may use it however you wish. Just don't come crying to me when they keep coming to you for more of these outstanding reports!! The ONLY restriction is that you can not use this component to build a report generator for commercial sale. That would tend to compete with me and that just wouldn't be right for you to do. NOTE: Be sure to read the Additions.txt file. It contains the update information while in-between help file updates. There are a lot of changes and I'm working on updating the help to include everything. Bear with me, folks. Woody woody.tmw@ih2000.net