AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

TFileStream verwenden

Ein Thema von Berni68 · begonnen am 8. Mär 2009 · letzter Beitrag vom 8. Mär 2009
 
Berni68

Registriert seit: 9. Jan 2006
Ort: Villingen
162 Beiträge
 
Delphi XE5 Professional
 
#4

Re: TFileStream verwenden

  Alt 8. Mär 2009, 15:28
So wie es aussieht ist das Problem für TFrames nicht zu lösen (Es existiert keine Funktion CreateNew für TFrames).
Allerdings habe ich (im Internet an andere Stelle) eine Lösung des Problems für TForm gefunden.

Für den den es interessiert:
Ein normales Formular, das beim Erzeugen die Eigenschaftswerte der Komponenten jedoch von Datei liest, sofern das Formular zuvor schon einmal abgespeichert wurde.
Der Vorteil liegt darin, daß wenn das Formular um weitere Objekte ergänzt wird alles automatisch gespeichert wird.
Gut geeignet als Ersatz für ini-Dateien da weniger Schreibarbeit, von der geringeren Fehleranfälligkeit ganz zu schweigen.

Delphi-Quellcode:
unit AutoSpeichern;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls;

type
  TAutoSpeichernForm = class(TForm)
    Edit1: TEdit;
    Memo1: TMemo;
    Label1: TLabel;
    Edit2: TEdit;
  private
  public
    constructor Create(AOwner: TComponent); override;
    procedure BeforeDestruction; override;
  end;

var
  AutoSpeichernForm: TAutoSpeichernForm;

implementation

{$R *.DFM}

constructor TAutoSpeichernForm.Create(AOwner: TComponent);
var
  datei: string;
begin
  datei:= ExtractFilePath(Application.ExeName) + ClassName + '.fs';
  if FileExists(datei) then
  begin
    CreateNew(AOwner, 0);
    with TFileStream.Create(datei, fmOpenRead or fmShareDenyWrite) do
    try
      ReadComponent(Self);
    finally
      Free;
    end;
  end
  else
    inherited Create(AOwner);
end;

procedure TAutoSpeichernForm.BeforeDestruction;
var
  datei: string;
begin
  inherited;
  datei:= ExtractFilePath(Application.ExeName) + ClassName + '.fs';
  with TFileStream.Create(datei, fmCreate) do
  try
    WriteComponent(Self);
  finally
    Free;
  end;
end;

end.
Bernhard
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:54 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz