Unit : verslab.pas Description : A TCustomLabel derivative that displays Win32 VersionInfo data Version : 1.10, 11 March 2000 Status : Freeware. Copyright : ©2000, First Internet Software House Contact : First Internet Software House - support@fishouse.com ------------------- Simple Use ------------------- Place on form. Set VersionResource property for required version information. Run application. See the description of the "Filename" property if you are using packages or other DLLs. ------------------- Events: ------------------- No events defined ------------------- Properties: ------------------- property VersionResource: TVersionResources; This propery can set to display any one of 10 standard version info strings. TVersionResources = (vrCompanyName, vrFileDescription, vrFileVersion, vrInternalName, vrLegalCopyright, vrOriginalFilename, vrProductName, vrProductVersion, vrComments, vrFlags, vrShortFileVersion, vrDateTime, vrFileSize); If vrFlags is selected the VersionResourceKey property is ignored and the label displays the contents of the 'private build, special build' etc checkboxes in the D3 project options VersionInfo tab. vrShortVersion displays a concatentation of the Major and Minor version numbers. vrDateTime and vrFileSize display the date/time stamp and file size respectively. See the FormatDateTime and FormatFileSize proprties for further info. property VersionResourceKey: string; Set this to the name of the key that is to be returned with the GetFileVersionInfo call. If one of the 10 standard resource types are used this value is set automatically. If you insert a new (non-standard) key into the version resource table then set this property to the name of the key. property InfoPrefix: String; Sets the text that is displayed in the label before the version information string. property InfoString: string; Read only version of the current caption. Available so you can programatically access the version info. Publishing caption makes it read/write which is not desirable. property ShowInfoPrefix: boolean; If set, the InfoPrefix text will be prepended to the version information displayed. If false, only the version information will be displayed. property LangCharSet: string; The API help says (and I quote): 'Specifies a value in a language-specific structure. The lang-charset name is a concatenation of a language and character-set identifier pair found in the translation table for the resource. The lang-charset name must be specified as a hexadecimal string.' This defaults to -1, which means that the component will try to figure it out at run time. If you get errors, mail me but try the following guidelines as well: The first 4 digits of this string are the language code, defaulting to 0809 for UK English. 0409 is US English, look up VerLanguageName for the others. The last 4 digits represent a code page and for most environments they should not be changed from the default of 04E4. property Filename: string; The name of the file to query for version info. If '' (default) then the current filename is used. If the versionlabel is on a form in a DLL, the "current filename" in this context is the name of the DLL. Thus the displayed version info is that of the DLL rather than the application. This is intentional as it quite likely to require version info on modules of an application. However it does mean that if the application is compiled with packages the default behaviour is to display version info from the package in which the TVersionLabel component resides. To overcome this, set the Filename property to "Application.Exename" somewhere in the main applicaton before displaying the form containing the version information. property DateTimeFormat: String; This is a delphi date/time format string that controls the display of the file date and time when vrFileDateTime is the chosen version resource. It defaults to the delphi "ShortDate" setting property FileSizeFormat: String; This is a delphi format string passed to the "FormatFloat" function. It controls the display of the file size if vrFileSize is the chosen version resource. It defaults to '#,#0" Bytes"'