Registriert seit: 21. Mär 2009
Ort: Rödinghausen
301 Beiträge
Delphi 10.4 Sydney
|
AW: Formular Position speichern, Generell wenn geschlossen wird oder bei ModalResult
25. Jan 2017, 14:51
Hi Kidi,
ich verwende 2 Proceduren, mit denen ich die Werte in INI-Dateien schreibe (neben all den anderen Werten, die man so braucht):
Delphi-Quellcode:
procedure TfrmMain.p_IniRead;
{-------------------------------------------------------------------------------
INI Datei einlesen
-------------------------------------------------------------------------------}
var
Ini : TIniFile;
begin
Ini := TIniFile.Create(ChangeFileExt( Application.ExeName, '.INI' ) );
try
Top := Ini.ReadInteger( 'Windows Form Settings', 'Top', 100 );
Left := Ini.ReadInteger( 'Windows Form Settings', 'Left', 100 );
Height := Ini.ReadInteger( 'Windows Form Settings', 'Height', 100);
Width := Ini.ReadInteger( 'Windows Form Settings', 'Width', 100);
if Ini.ReadBool( 'Windows Form Settings', 'InitMax', false ) then
WindowState := wsMaximized
else
WindowState := wsNormal;
finally
Ini.Destroy;
end;
end;
procedure TfrmMain.p_IniWrite;
{-------------------------------------------------------------------------------
INI Datei wegschreiben
-------------------------------------------------------------------------------}
var
Ini : TIniFile;
begin
Ini := TIniFile.Create(ChangeFileExt( Application.ExeName, '.INI' ) );
try
Ini.WriteDateTime('Userdata', 'LastLogOut', now());
Ini.WriteInteger( 'Windows Form Settings', 'Top', Top);
Ini.WriteInteger( 'Windows Form Settings', 'Left', Left);
Ini.WriteInteger( 'Windows Form Settings', 'Height', Height);
Ini.WriteInteger( 'Windows Form Settings', 'Width', Width);
Ini.WriteBool( 'Windows Form Settings', 'InitMax', WindowState = wsMaximized );
finally
Ini.Destroy;
end;
end;
Den p_IniRead lese ich im OnCreate der Form und den p_IniWrite führe ich im OnClose aus. Und wenn Du die Positionen von weiteren Fenstern benötigst, dann erweiterst Du dir das entsprchend.
Rolf wenn nicht anders angegeben, schreibe ich zu D7, XE2 und MS SQL - ansonsten fragen Sie ihren Administrator oder einen Operator. Update 06/2020: Delphi 10.4 Sydney
|
|
Zitat
|