home *** CD-ROM | disk | FTP | other *** search
- {------------------------------------------------------------------------------}
- { TExportListView v2.00 (c) 1998-99 Y-Tech Corporation January 31st, 1999 }
- {------------------------------------------------------------------------------}
- { TExportListView prints or exports the contents of any TListView to 8 Formats }
- { (incl. HTML, Microsoft Word & Excel!). Exports to Screen or to File. Can }
- { Export even if the target App is not installed! Also Shows Progress. }
- { Supports Brad Stower's TExtListView & TEnhListView (Registered Version Only).}
- { (Source w/Registration) }
- { }
- { Please visit our Web Site: http://www.igather.com/components to try out the }
- { many other components available there. }
- {------------------------------------------------------------------------------}
-
- {------------------------------------------------------------------------------}
- { Installation }
- {------------------------------------------------------------------------------}
- { Please register ExportLVReg.pas }
- { }
- { Important! Since many Y-Tech Components (ie. those made by Y-Tech Corp.) }
- { share the same units, you must put all code files (.dcu, .pas, .dfm, }
- { .dcr, etc...) for all Y-Tech Components into the same directory. Otherwise }
- { Delphi will not compile the library/package properly. }
- {------------------------------------------------------------------------------}
-
- {------------------------------------------------------------------------------}
- { Important! Compatibility Issues with v1.10 and earlier }
- {------------------------------------------------------------------------------}
- { + ShowProgress has been moved inside of the Options property. This }
- { means you might get an error when loading a form that contained the }
- { old TExportListView component (v1.10 and earlier). Just ignore it. }
- { + PopulateStrings no longer exists. Support for it is gone, Choose }
- { Dialog (TExportListView.Choose) is the way of the future. Sorry. }
- { It's obsolete really. }
- { + All ExportTypes now have an 'x' in front. For instance HTML is now }
- { xHTML. This was done to prevent any potential problems. }
- {------------------------------------------------------------------------------}
-
- {------------------------------------------------------------------------------}
- { Questions & Comments }
- {------------------------------------------------------------------------------}
- { All questions and comments should be sent to ycomp@hotpop.com }
- {------------------------------------------------------------------------------}
-
- {------------------------------------------------------------------------------}
- { Usage }
- {------------------------------------------------------------------------------}
- { - Always read "readme.txt" }
- { - Please look at "info.htm" }
- { - Please refer to the help file. }
- { - To create your own export formats pleased read "TCustomExportListView.htm" }
- {------------------------------------------------------------------------------}
-
- {------------------------------------------------------------------------------}
- { License Agreement & Disclaimer }
- {------------------------------------------------------------------------------}
- { By use of this component, you have agreed to the following: }
- { }
- { You may not distribute any files for this component except the unregistered }
- { version's .Zip File. You may definately not distribute the source, it is for }
- { your eyes only. Anyone else wishing to see the source must purchase it at }
- { http://www.igather.com/components }
- { }
- { The unregistered version's .Zip file can be included on any kind of media or }
- { distributed through any kind of medium. }
- { }
- { Although this component has been thoroughly tested and documented, neither }
- { Y-Tech Corporation nor any of it's employees nor the author will be held }
- { responsible for any damage arising from it's use or misuse. }
- {------------------------------------------------------------------------------}
-
- {------------------------------------------------------------------------------}
- { International Language Support }
- {------------------------------------------------------------------------------}
- { There are 2 ways of implementing support for your own language: }
- { }
- { 1. Get the ELV_Strings.pas file for your language and follow the }
- { installation instructions that come with it. Try downloading it from the }
- { Y-Tech Components web site (http://www.igather.com/components). }
- { }
- { 2. Translate it yourself. (if there is no ELV_Strings.pas for your language, }
- { you must do it this way). It's simple really, just find the }
- { ELV_Strings.pas unit that came with TExportListView and translate the }
- { strings inside. There's not that many, so it's not a big job. Then }
- { recompile the package/component library that your component is installed }
- { in. Finally, if you think you made a half-decent translation, please }
- { e-mail it to Y-Tech at ycomp@hotpop.com }
- {------------------------------------------------------------------------------}
-
- {------------------------------------------------------------------------------}
- { TExportListView FAQ }
- {------------------------------------------------------------------------------}
- { Q: When I try to use TExportListView with Delphi's Virtual ListView demo I }
- { get an "Invalid Floating Point Operation" exception. Why don't you fix }
- { this bug? }
- { A: I would love to but this is not a bug with TExportListView, it's a bug }
- { with Delphi's Virtual ListView demo in the TListView.OnData event. You }
- { can see this bug in action for yourself without even putting }
- { a TExportListView on the form. Here's how to replicate the bug: }
- { 1. Put a button on the form of the Virtual ListView demo. }
- { 2. Put this code in it's OnClick event handler: }
- { with ListView do }
- { for i := 0 to Items.Count - 1 do }
- { Self.Caption := Items[i].Caption; }
- { 3. Run the demo and go to your C:\Windows directory }
- { (I suggest the Windows dir because you need quite a few files for }
- { this bug to work) }
- { 4. Click the button. You should get an exception. }
- {------------------------------------------------------------------------------}
-
- {------------------------------------------------------------------------------}
- { Revision History }
- {------------------------------------------------------------------------------}
- { 1.00: + Initial Release }
- { }
- { 1.10: + Fixed various minor bugs, added Print Method! }
- { + Excel Code dramatically improved. A simple test with 150 ListView }
- { entries showed an increase in speed of over 300%! }
- { }
- { 2.00: This is a - major - upgrade, much has been fixed, improved & added. }
- { Here's a list: }
- { }
- { Removed & Changed Drastically: }
- { + See "Compatibility Issues" Section of this file. }
- { }
- { Bug Fixes: }
- { + Fixed various minor bugs. }
- { + Fixes bug where ExportFile property was cleared automatically }
- { sometimes. }
- { + Fixed bug that caused App to stay on top of the Viewer Program }
- { when exporting to some formats (like MS-Word, and Excel sometimes) }
- { + Fixed minor bug: Clipboard property used to modify the ViewOnly }
- { property after exporting the Clipboard. }
- { + Fixed ProgressBar "Overspill". }
- { }
- { Internationalization: }
- { + Moved all English Message Constants to the ELV_Strings unit. You }
- { can translate the strings in that unit to your own language. }
- { (If you do, please e-mail it to me so I can include language }
- { strings files with future versions) }
- { }
- { Improvements: }
- { + Added support for Column Dragging of ListViews. Previous versions }
- { did not support this simply because Delphi 4 does not support it }
- { properly. }
- { + Deletes all Temporary Files when the application terminates. }
- { (Unless they have a lock on them or are otherwise un-deleteable. }
- { + Can now export to file even when the application is not installed. }
- { + Improved Error-Checking. }
- { + Choose method now remembers the Last-Used Export Type. }
- { + The value of the ExportType property is now used by the Choose }
- { Dialog box the first time it is displayed in order to set the }
- { Default Export Type. }
- { + Improved Formatting. Exported Documents now look much better and }
- { look professionally formatted in Microsoft Word & Excel. }
- { }
- { Additions: }
- { + Added Captions property, so you can specify different captions }
- { than in the listview's column header. }
- { + Added AllowedTypes property so you can specify which types the }
- { user is allowed to export to. }
- { + Added RichText Export Type. }
- { + Added capability for User to select exporting to Screen or to File }
- { to the Choose Dialog. If Viewer not installed, the View button is }
- { disabled. }
- { }
- { Added Options Property: }
- { + ExportInvisibleCols: If True, all columns are exported even if }
- { their width is 0 (invisible) }
- { + SelectedRowsOnly: If True, only exports selected rows. }
- { + NumberRows: If True, numbers each item exported. }
- { + ShowClipboardMsg: If True, displays a dialog after the data has }
- { been successfully exported to clipboard informing the user that }
- { the operation is complete. }
- { + ShowProgress: ShowProgress has been moved to here. }
- { + TimeStamp: If True, puts a time stamp in the exported file }
- { }
- { MS-Word Improvements: }
- { + Word Exporting is incredibly fast now. I don't think Word can get }
- { any faster and I'm only ashamed that it was not this fast in v1 }
- { of TExportListView. }
- { + All 32-bit versions of Word Supported ('95, '97 and future }
- { versions). Word 6 (the latest 16-bit version) also supported. }
- { Earlier versions might also work as well. }
- { + When Exporting to Word, output is directed to the current instance }
- { of Word (if there is one), in prior versions a New instance of }
- { Word was always created. }
- { }
- { Excel Improvements: }
- { + Even faster! This is about as fast as it gets. }
- { + Previous versions could have had problems with using too much }
- { memory while exporting large TListViews. This is no longer a }
- { problem. TExportListView v2 uses very little memory. }
- { + Now compatible with Excel v3.0 and higher! }
- { + When Exporting to Excel, output is directed to the current instance}
- { of Excel (if there is one), in prior versions a New instance of }
- { Excel was always created. }
- { }
- { Other: }
- { + In previous versions, if you compiled with Delphi 5 or later it }
- { would be treated as Delphi 2 and you would not be taking advantage }
- { of some of the newer compiler features. This release eradicates }
- { those problems. Which means: You shouldn't have to get new source }
- { code if you've registered when Delphi 5 is released. }
- {------------------------------------------------------------------------------}
-
- unit ExportLVReg;
-
- interface
-
- uses ELV_Main;
-
- const
- {$I CompConstants.inc} // Component Constants & Conditional Defines
-
- procedure Register;
-
- implementation
-
- uses Classes;
-
- procedure Register;
- begin
- RegisterComponents(cComponentTab, [TExportListView]);
- end;
-
- end.
-