-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathAbout.pas
110 lines (97 loc) · 2.49 KB
/
About.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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
(*
* The contents of this file are subject to the Mozilla Public License
* Version 1.1 (the "License"); you may not use this file except in
* compliance with the License. You may obtain a copy of the License at
* http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS IS"
* basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
* License for the specific language governing rights and limitations
* under the License.
*
* The Initial Developer of this code is Mark Overmars.
* Portions created by John Hansen are Copyright (C) 2009-2013 John Hansen.
* All Rights Reserved.
*
*)
unit About;
{$IFDEF FPC}
{$MODE Delphi}
{$ENDIF}
interface
uses
{$IFNDEF FPC}
Windows,
{$ELSE}
LResources,
{$ENDIF}
SysUtils, Classes, Graphics, Forms, Controls, StdCtrls,
Buttons, ExtCtrls;
type
TAboutBox = class(TForm)
pnlMain: TPanel;
ProgramIcon: TImage;
ProductName: TLabel;
Version: TLabel;
lblOrigAuth: TLabel;
Comments: TLabel;
OKButton: TButton;
lblAuthor: TLabel;
lblBuild: TLabel;
lblMaint: TLabel;
lblMaintainer: TLabel;
lblCopyright: TLabel;
procedure ProgramIconClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
procedure LoadVersionData;
public
{ Public declarations }
end;
implementation
uses
PuzzleUnit, uVersionInfo, uLocalizedStrings;
{$IFNDEF FPC}
{$R *.DFM}
{$ENDIF}
procedure TAboutBox.ProgramIconClick(Sender: TObject);
begin
with TPuzzleForm.Create(nil) do
try
ShowModal();
finally
Free;
end;
end;
procedure TAboutBox.FormCreate(Sender: TObject);
begin
LoadVersionData;
end;
procedure TAboutBox.LoadVersionData;
var
S, tmpVer : String;
TFS : TFileStream;
V : TVersionInfo;
begin
tmpVer := sVersion + ' ';
// first get file date
S := Application.ExeName;
TFS := TFileStream.Create(S, fmOpenRead or fmShareDenyNone);
try
lblBuild.Caption := DateTimeToStr(FileDateToDateTime(FileGetDate(TFS.Handle)));
finally
TFS.Free;
end;
V := GetVersionInfo(S);
Version.Caption := tmpVer + V.ProductVersion;
Version.Caption := Version.Caption + ' (' + sBuild + ' ' + V.FileVersion + ')';
ProductName.Caption := V.ProductName;
Comments.Caption := V.Comments;
lblCopyright.Caption := V.LegalCopyright;
end;
{$IFDEF FPC}
initialization
{$i About.lrs}
{$ENDIF}
end.