Welcome to the new DelphiDabbler Code Library Documentation.

This is a new site that's currently running on alpha code. There are going to be bugs. If you discover any, please report them on the site's issues page (GitHub account required). Thanks.

Warning: Many URLs are going to change. Refer to the README file to discover which library project's documentation has been completed.

TVIBinResource class

Project: Binary Version Information Manipulation Units

Unit: DelphiDabbler.Lib.VIBin.Resource

Applies to: ~>1.0

TVIBinResource is a class that encapsulates the binary representation of Windows version information and exposes properties and methods that permit this data to be read, modified and written.

The class operates directly on version information in its raw binary form, without going through the Windows version information API. Badly formed version information can be handled that would otherwise defeat the Windows API routines. TVIBinResource can enumerate the contents of string tables and list and access non-standard string table entries. It also works with string tables in multiple languages.

Methods

TVIBinResource provides numerous methods. They are grouped into similar functions below.

Constructor

Constructor Description
Create Creates a TVIBinResource object that encapsulates version information in either Unicode or ANSI format.

Fixed File Information Methods

The following methods operate on the fixed file information record of the encapsulated version information.

Methods Description
GetFixedFileInfo Returns the fixed file information record.
SetFixedFileInfo Sets the fixed file information record to a given value.

Translation Table Methods

The following methods operate on the translations records in the translation table of the encapsulated version information.

Methods Description
AddTranslation Creates a new translation with specified language ID and character set and adds it to the translation table.
DeleteTranslation Deletes a specified translation from the translation table.
GetTranslationCharSet Returns the character set of a specified translation in the translation table.
GetTranslationCount Returns the number of translations in the translation table.
GetTranslationLanguageID Returns the language ID of a specified translation in the translation table.
GetTranslationString Returns the translation code string of a specified translation in the translation table.
IndexOfTranslation Returns the index in the translation table of the translation with specified language ID and character set.
SetTranslation Sets the language ID and character set of a specified translation in the translation table.

String Table Methods

The following methods operate on the string tables of the encapsulated version information.

Methods Description
AddStringTable Adds a new, empty, string table to the version information, identified by a given translation code string.
AddStringTableByTrans Adds a new, empty, string table to the version information, identified by specified language ID and character set.
DeleteStringTable Deletes a specified string table from the version information.
GetStringTableCharSet Returns the character set encoded in the translation code string that identifies a specified string table.
GetStringTableCount Returns the number of string tables in the version information.
GetStringTableLanguageID Returns the language ID encoded in the translation code string that identifies a specified string table.
GetStringTableTransStr Returns the translation code string that identifies a specified string table.
IndexOfStringTable Returns the index of the string table in the version information, identified by a given translation code string.
IndexOfStringTableByTrans Returns the index of the string table in the version information, identified by a given language ID and character set.

String Information Methods

The following methods operate on individual string information items in a specifed string table of the encapsulated version information.

Methods Description
AddOrUpdateString Checks if a named string information item is present in a specified string table and adds the item with the given name and value if not present, or updates the value if it is present.
AddString Adds a new string with a given name and value to a specified string table.
DeleteString Deletes the string information item at the a given location in a specified string table.
DeleteStringByName Deletes a named string information item in a specified string table.
GetStringCount Returns the number of string information items in a specified string table.
GetStringName Returns the name of a specifed string information item in a specified string table.
GetStringValue Returns the value of a specifed string information item in a specified string table.
GetStringValueByName Returns the value of a named string information item in a specified string table.
IndexOfString Returns the index of a named string information item in a specified string table.
SetStringValue Sets the value of string information item at a given location in a specified string table.
SetStringValueByName Sets the value of a named string information item in a specified string table.

Miscellaneous Methods

Methods Description
Assign Assigns a copy of the content of another TVIBinResource instance to this instance.
ReadFromStream Reads binary version information from a stream into the object.
Reset Resets the version information object to the default, empty, state.
WriteToStream Writes the binary version information encapsulated by the object to a stream.

Class Methods

Methods Description
TransToString Returns the translation code string representing a specified language ID and character set.