Einzelnen Beitrag anzeigen

Daniel
(Co-Admin)

Registriert seit: 30. Mai 2002
Ort: Hamburg
13.919 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: FMX & Application Events?

  Alt 27. Mär 2015, 10:01
Genauso den Status der App zu speichern, damit der User wieder an der gleichen stelle ist, wenn er sie wieder startet.
Dafür würde ich mittlerweile Form.SaveState nutzen. Beim Schliessen des Formulars wird das Event "OnSaveState" ausgelöst. Die benötigten Objekte (ins. SaveState.Stream) stellt das Form selbst zu Verfügung. Anbei ein Trivial-Beispiel, im Ernstfall würde man vermutlich JSON schreiben.

Delphi-Quellcode:
procedure Tfrm_Main.FormSaveState(Sender: TObject);
var
  W: TBinaryWriter;
begin
  SaveState.Stream.Clear;

  W := TBinaryWriter.Create(SaveState.Stream);
  try
    W.Write(Edit1.Text);
    W.Write(Edit2.Text);
  finally
    W.Free;
  end;
end;
und etwa im OnCreate oder dgl. kann man das Zeugs wieder lesen:

Delphi-Quellcode:
procedure Tfrm_Main.FormCreate(Sender: TObject);
var
  R: TBinaryReader;
begin
  SaveState.StoragePath := 'C:\Temp\'; //optional!

  if SaveState.Stream.Size > 0 then
  begin
    R := TBinaryReader.Create(SaveState.Stream);
    try
      Edit1.Text := R.ReadString;
      Edit2.Text := R.ReadString;
    finally
      R.Free;
    end;
  end;
end;
Daniel R. Wolf
mit Grüßen aus Hamburg
  Mit Zitat antworten Zitat