Einzelnen Beitrag anzeigen

Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#6

Re: Formkoordinaten speichern

  Alt 13. Apr 2006, 14:02
Wo der Unterschied ist ? Wenn ich "Form1" statt "Name" schreibe, dann gilt es eben nur für Form1. Jede Form hat aber einen Namen und den weiß sie selber. Die Ini muß ja nicht nur gelesen, sondern bei Bedarf auch geändert und das dann abgespeichert werden. Was liegt da näher, als das beim FormClose zu machen ?

Delphi-Quellcode:
procedure TfrmTest.FormClose(Sender: TObject; var Action: TCloseAction);
var FensterIni : TIniFile;
begin
  inherited;
  if not CDStart then begin
    try
      FensterIni := TIniFile.Create(FensterDateiName);
      FensterIni.WriteInteger(Name,'Left',Left);
      FensterIni.WriteInteger(Name,'Top',Top);
      FensterIni.WriteInteger(Name,'Width',Width);
      FensterIni.WriteInteger(Name,'Height',Height);
    finally
      FensterIni.Free;
    end;
  end;
  Action := caFree;
end;
Im Endeffekt ist die Ini dann so aufgebaut :

[frmTest]
Left=230
Top=143
Width=482
Height=511

Der kleine aber feine Unterschied besteht in der Praxis z.B. darin, daß mein Code C+P geeigneter ist. Ich brauche nämlich nur den procedure-body in die eigenen FormShow/FormClose zu kopieren. Oder, wie gesagt : ab mit solchem Zeugs in die Objektablage und statt TForm eben TMeineForm benutzen. Siehe die Variable CDStart. Die war am Anfang noch nicht vorhanden. Nachträgliches Ergänzen hätte bedeutet, zig Forms damit bestücken zu müssen. Ähnliches gilt für das caFree. Wie schnell hat man sowas mal vergessen.
Gruß
Hansa
  Mit Zitat antworten Zitat