Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Pressemitteilungs-Tool (https://www.delphipraxis.net/173789-pressemitteilungs-tool.html)

Volker Z. 20. Mär 2013 00:42

AW: Pressemitteilungs-Tool
 
Hallo,

Zitat:

Wenn Delphi-Code gepostet wird, wäre es schön, wenn der in Delphi-Tags gesetzt wird, dann bekommt man auch kein Augenkrebs
@Sir Rufo :thumb:

@Erutan:
Sorry, konnte ich nicht wissen, dass das Memo Teil einer mehrschichtigen Geschichte ist.
Anstatt mit Writeln zu arbeiten, würde ich mal einen Filestream in die Runde werfen:
Delphi-Quellcode:
interface

  TForm1 = class(TForm)
    // Deklarationen muss man sich halt denken, nur das Wesentliche
  private
    { Private-Deklarationen }
    procedure LoadFromFile (const Filename : string);
    procedure SaveToFile (const Filename : string);
  public
    { Public-Deklarationen }
  end;

implementation

procedure TForm1.LoadFromFile (const Filename : string);
var
  s : TFileStream;

  function Load (Stream : TFileStream) : string;
  var
    l : Integer;
    b : array of Char;
  begin
    Result := '';

    Stream.ReadBuffer (l, SizeOf (Integer));
    Inc (l);
    SetLength (b, l);
    try
      Stream.ReadBuffer (b [0], l - 1);
      Result := string (b);
    finally
      Finalize (s)
    end
  end;

begin
  s := TFileStream.Create ('c:\test.txt', fmOpenRead);
  try
    s.Seek (0, soFromBeginning);
    EditName.Text    := Load (s);
    EditMail.Text    := Load (s);
    EditPasswort.Text := Load (s);
    // etc.
  finally
    FreeAndNil (s)
  end
end;

procedure TForm1.SaveToFile (const Filename : string);
var
  s : TFileStream;

  procedure Save (Stream : TFileStream; const Str : string);
  var
    l : Integer;
  begin
    l := Length (Str);
    Stream.WriteBuffer (l, SizeOf (Integer));
    Stream.WriteBuffer (Str [1], l)
  end;

begin
  s := TFileStream.Create (Filename, fmCreate);
  try
    try
      Save (s, EditName.Text);
      Save (s, EditMail.Text);
      Save (s, EditPasswort.Text);
      // etc.
    except
      // Was auch immer zu tun ist wenn das Einlesen scheitert
    end;
  finally
    FreeAndNil (s)
  end
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
  LoadFromFile ('ein dateiname.erweiterung');
end;

procedure TForm1.Button4Click(Sender: TObject);
begin
  SaveToFile ('ein dateiname.erweiterung')
end;
Gruß


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:23 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz