-
Notifications
You must be signed in to change notification settings - Fork 0
/
nbabout.pas
67 lines (54 loc) · 1.73 KB
/
nbabout.pas
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
unit nbabout;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls
, fileinfo
, winpeimagereader {need this for reading exe info}
, elfreader {needed for reading ELF executables}
, machoreader {needed for reading MACH-O executables};
var
FileVerInfo: TFileVersionInfo;
type
{ TAboutForm }
TAboutForm = class(TForm)
Button1: TButton;
L_comments: TLabel;
L_productname: TLabel;
L_filedescription: TLabel;
L_fileversion: TLabel;
procedure FormActivate(Sender: TObject);
private
{ private declarations }
public
{ public declarations }
end;
var
AboutForm: TAboutForm;
implementation
{$R *.lfm}
{ TAboutForm }
procedure TAboutForm.FormActivate(Sender: TObject);
begin
if Paramcount=0 then
begin
//writeln('Missing executable filename parameters. Aborting.');
//halt(1);
end;
FileVerInfo:=TFileVersionInfo.Create(nil);
try
FileVerInfo.FileName:=paramstr(0);
FileVerInfo.ReadFileInfo;
//('Company: ',FileVerInfo.VersionStrings.Values['CompanyName']);
L_filedescription.Caption:=(''+FileVerInfo.VersionStrings.Values['FileDescription']);
L_fileversion.Caption:=('Version '+FileVerInfo.VersionStrings.Values['FileVersion']);
//('Internal name: ',FileVerInfo.VersionStrings.Values['InternalName']);
//('Legal copyright: ',FileVerInfo.VersionStrings.Values['LegalCopyright']);
//('Original filename: ',FileVerInfo.VersionStrings.Values['OriginalFilename']);
L_productname.Caption:=(''+FileVerInfo.VersionStrings.Values['ProductName']);
L_comments.Caption:=(''+FileVerInfo.VersionStrings.Values['Comments']);
finally
FileVerInfo.Free;
end;
end;
end.