78 lines
1.7 KiB
ObjectPascal
78 lines
1.7 KiB
ObjectPascal
unit VerInfoDemoMain;
|
|
|
|
interface
|
|
|
|
{$I jcl.inc}
|
|
|
|
{$IFDEF COMPILER6_UP}
|
|
{$WARN UNIT_PLATFORM OFF}
|
|
{$ENDIF COMPILER6_UP}
|
|
|
|
uses
|
|
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
|
|
StdCtrls, FileCtrl;
|
|
|
|
type
|
|
TForm1 = class(TForm)
|
|
Memo1: TMemo;
|
|
DriveComboBox1: TDriveComboBox;
|
|
DirectoryListBox1: TDirectoryListBox;
|
|
FileListBox1: TFileListBox;
|
|
procedure FileListBox1Change(Sender: TObject);
|
|
private
|
|
{ Private declarations }
|
|
public
|
|
{ Public declarations }
|
|
end;
|
|
|
|
var
|
|
Form1: TForm1;
|
|
|
|
implementation
|
|
|
|
{$R *.DFM}
|
|
|
|
uses
|
|
JclFileUtils, JclStrings;
|
|
|
|
{ TForm1 }
|
|
|
|
procedure TForm1.FileListBox1Change(Sender: TObject);
|
|
var
|
|
FileName: TFileName;
|
|
I: Integer;
|
|
begin
|
|
FileName := FileListBox1.FileName;
|
|
Memo1.Lines.BeginUpdate;
|
|
try
|
|
Memo1.Lines.Clear;
|
|
|
|
if VersionResourceAvailable(FileName) then
|
|
with TJclFileVersionInfo.Create(FileName) do
|
|
try
|
|
for I := 0 to LanguageCount - 1 do
|
|
begin
|
|
LanguageIndex := I;
|
|
Memo1.Lines.Add(Format('[%s] %s', [LanguageIds[I], LanguageNames[I]]));
|
|
Memo1.Lines.Add(StringOfChar('-', 80));
|
|
Memo1.Lines.AddStrings(Items);
|
|
Memo1.Lines.Add(BinFileVersion);
|
|
Memo1.Lines.Add(OSIdentToString(FileOS));
|
|
Memo1.Lines.Add(OSFileTypeToString(FileType, FileSubType));
|
|
Memo1.Lines.Add('');
|
|
end;
|
|
Memo1.Lines.Add('Translations:');
|
|
for I := 0 to TranslationCount - 1 do
|
|
Memo1.Lines.Add(VersionLanguageId(Translations[I]));
|
|
Memo1.Lines.Add(BooleanToStr(TranslationMatchesLanguages));
|
|
finally
|
|
Free;
|
|
end;
|
|
|
|
finally
|
|
Memo1.Lines.EndUpdate;
|
|
end;
|
|
end;
|
|
|
|
end.
|