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.
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.
TVIBinResource provides numerous methods. They are grouped into similar functions below.
Constructor | Description |
---|---|
Create | Creates a TVIBinResource object that encapsulates version information in either Unicode or ANSI format. |
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. |
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. |
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. |
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. |
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. |
Methods | Description |
---|---|
TransToString | Returns the translation code string representing a specified language ID and character set. |