Delphi-PRAXiS
Seite 3 von 3     123   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Mehrere Memo's Speicher (https://www.delphipraxis.net/85017-mehrere-memos-speicher.html)

SaFu 24. Jan 2007 22:42

Re: Mehrere Memo's Speicher
 
Das bei meiner "Lösung"
Delphi-Quellcode:

   èݤ     ÷ êãE 𤠽EE D   P¯¤ èݤ     ÷ êãE ð¤

Das bei deiner:
Delphi-Quellcode:
       Øn£

3_of_8 24. Jan 2007 22:52

Re: Mehrere Memo's Speicher
 
Delphi-Quellcode:
procedure TForm7.Button7Click(Sender: TObject);
var FileStream: TMemoryStream;
    memos :TFileName;
    a,b :String;
    c,d :integer;
begin
  a:=Memo1.Text;
  b:=Memo2.Text;
  c:=Length(a) ;
  d:=Length(b) ;

  FileStream := TMemoryStream.Create;
  FileStream.Write(c, SizeOf(Integer));
  FileStream.Write(a[1], c);

  FileStream.Write(d, SizeOf(Integer));
  FileStream.Write(b[1], d);

  memos:= ExtractFilePath(ParamStr(0))+'Bemerkungen\'+ ComboBox4.Text+'.txt';
  FileStream.SaveToFile(memos);
  FileStream.Free;
end;
So gehts.

SaFu 24. Jan 2007 22:59

Re: Mehrere Memo's Speicher
 
Super das Klappt so

Will nicht unhöfflich sein aber könntest du mir noch bei wiederherstellen helfen

Delphi-Quellcode:
procedure TForm7.Button9Click(Sender: TObject);
var
  memos :TFileName;
  FileStream: TMemoryStream;
  pos,l,i: Integer;
begin
  FileStream := TMemoryStream.Create;
  memos:= ExtractFilePath(ParamStr(0))+'Bemerkungen\'+ ComboBox4.Text+'.txt'
  FileStream.LoadFromFile(memos);

  pos := 0;
  l := 0;

  for i := 1 to 5 do
  begin
    FileStream.Position := pos;
    FileStream.Read(l, SizeOf(Integer));
    FileStream.Position := pos + SizeOf(Integer);

    case i of
      1: FileStream.Read(Memo1.Text ,l);
      {...}
      5: FileStream.Read(Memo5.Text ,l);
    end;

    pos := pos + l + SizeOf(Integer);
  end;
  FileStream.Free;
end;

end;
das ist schwerer als ich gedacht habe :pale:

Danke

3_of_8 25. Jan 2007 12:25

Re: Mehrere Memo's Speicher
 
Lass die ganzen TStream.Position-Zuweisungen weg. Setze nur am Anfang die Position auf 0, alles weitere erledigt TStream.Read automatisch.

Delphi-Quellcode:
procedure TForm7.Button9Click(Sender: TObject);
var
  memos :TFileName;
  FileStream: TMemoryStream;
  l,i: Integer;
begin
  FileStream := TMemoryStream.Create;
  memos:= ExtractFilePath(ParamStr(0))+'Bemerkungen\'+ ComboBox4.Text+'.txt'
  FileStream.LoadFromFile(memos);

  l := 0;

  for i := 1 to 5 do
  begin
    FileStream.Position := 0;
    FileStream.Read(l, SizeOf(Integer));

    case i of
      1: FileStream.Read(Memo1.Text ,l);
      {...}
      5: FileStream.Read(Memo5.Text ,l);
    end;

  end;
  FileStream.Free;
end;

end;

Hawkeye219 25. Jan 2007 12:46

Re: Mehrere Memo's Speicher
 
Hallo,

Zitat:

Zitat von 3_of_8
Delphi-Quellcode:
procedure TForm7.Button9Click(Sender: TObject);
for i := 1 to 5 do
begin
  FileStream.Position := 0; // für _jedes_ Memo bei 0 starten?
  FileStream.Read(l, SizeOf(Integer));

  case i of
    1: FileStream.Read(Memo1.Text ,l); // ???
    {...}
    5: FileStream.Read(Memo5.Text ,l); // ????
  end;

end;

bezogen auf die Fehler sind wir jetzt wieder bei Beitrag #6 angelangt.

Was ich nicht verstehe: marabu hat in Beitrag #2 eine elegante Routine zum Schreiben der Memos gepostet. Es sollte doch möglich sein, diese Routine zu verstehen und eine analoge Routine zum Lesen der Memos zu entwickeln, oder?

Gruß Hawkeye

cruiser 25. Jan 2007 14:44

Re: Mehrere Memo's Speicher
 
Ich hab nie behauptet, meines sei das non-plus-ultra... Im Nachhinein seh ich das speichern der Lines-Anzahl im Klartext auch als... mh... hübscher an.. vor allem bleibt es so immer Klartext

SaFu 25. Jan 2007 15:08

Re: Mehrere Memo's Speicher
 
Ja marabu gibt sehr gute Tips, nur Leider bin ich noch nicht so gut in Programmieren, das ich diesen Code interpretieren und einbinden kann, geschweige denn eine procedure entwickeln zum laden
(Schande über mich)

Also hier gibt es echt leute die es richtig drauf haben.


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:18 Uhr.
Seite 3 von 3     123   

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