Einzelnen Beitrag anzeigen

Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#13

AW: Formular Position speichern

  Alt 29. Jul 2015, 11:13
Also, ich weiß ja nicht, was ihr hier für Klimmzüge veranstaltet. 500 Zeilen Code?

Delphi-Quellcode:
unit Unit6;

interface

uses
  Windows, SysUtils, IniFiles;

type
  TFoobar = class(TObject)
  private
    FFormName: AnsiString;
    FLeft: Integer;
    FTop: Integer;
    FWidth: Integer;
    FHeight: Integer;
  public
    constructor Create(FormName: AnsiString; Left, Top, Width, Height: Integer);
    procedure SaveSizePos;
end;

implementation

{ TFoobar }

constructor TFoobar.Create(FormName: AnsiString; Left, Top, Width, Height: Integer);
begin
  inherited Create;
  FFormName := FormName;
  Fleft := Left;
  FTop := Top;
  FWidth := Width;
  FHeight := Height;
end;

procedure TFoobar.SaveSizePos;
var
  Ini: TIniFile;
begin
  Ini := TIniFile.Create('Z:\test.ini');
  try
    Ini.WriteInteger(FFormName, 'left', Fleft);
    Ini.WriteInteger(FFormName, 'top', FTop);
    Ini.WriteInteger(FFormName, 'width', FWidth);
    Ini.WriteInteger(FFormName, 'height', FHeight);
  finally
    Ini.Free;
  end;
end;

end.
Die Routine zum laden habe ich mir mal gespart. In OnClose der Formulare dann:

Delphi-Quellcode:
procedure TForm5.FormClose(Sender: TObject; var Action: TCloseAction);
var
  SizePos: TFoobar;
begin
  SizePos := TFoobar.Create(Self.Name, Self.Left, Self.Top, Self.Width, Self.Height);
  try
    SizePos.SaveSizePos;
  finally
    SizePos.Free;
  end;
end;
Sieht dann so aus:
Code:
[Form5]
left=98
top=327
width=349
height=280
[Form1]
left=879
top=206
width=651
height=338
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat