unit Main;
interface
uses Windows, SysUtils, ... , Registry;
type
TMainForm = class(TForm)
...
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
...
private
procedure ReadSettings;
procedure WriteSettings;
public
FIniFile: TRegIniFile;
end;
var
MainForm: TMainForm;
const
Section = 'MainWindow';
implementation
procedure TMainForm.ReadSettings;
begin
with FIniFile do
begin
with MainForm do
begin
Left := ReadInteger(Section, 'Left', Left);
Top := ReadInteger(Section, 'Top', Top);
Height := ReadInteger(Section, 'Height', Height);
Width := ReadInteger(Section, 'Width', Width);
if ReadBool(Section, 'Maximized', False) = True then
WindowState := wsMaximized;
end;
end;
end;
procedure TMainForm.WriteSettings;
begin
with FIniFile do
begin
with MainForm do
begin
if WindowState = wsMaximized then
begin
WriteBool(Section, 'Maximized', True);
end else
begin
WriteBool(Section, 'Maximized', False);
WriteInteger(Section, 'Left', Left);
WriteInteger(Section, 'Top', Top);
WriteInteger(Section, 'Height', Height);
WriteInteger(Section, 'Width', Width);
end;
end;
end;
end;
procedure TMainForm.FormCreate(Sender: TObject);
begin
FIniFile := TRegIniFile.Create('Software\MyCompany\MySoftware\Version');
ReadSettings;
end;
procedure TMainForm.FormDestroy(Sender: TObject);
begin
WriteSettings;
FIniFile.Free;
end;
|