![]() |
Re: Mehrere Memo's Speicher
Daran liegt es nicht, es liegt daran, das die Funktion "Write" eine Variable braucht, Text ist eine Property. Du musst also vorher Memo1.Text in einen String kopieren und den dann in den Stream schreiben.
|
Re: Mehrere Memo's Speicher
Sorry wenn ich so dumm Frage aber.
Mit Streams habe ich noch nie gearbeitet wie macht man sowas :oops: |
Re: Mehrere Memo's Speicher
Delphi-Quellcode:
usw.
var s: String
[...] s:=Memo1.text; FileStream.Write(Length(s), SizeOf(Integer)); FileStream.Write(s, Length(Memo1.Text)); |
Re: Mehrere Memo's Speicher
Sorry aber irgendwie habe ich immernoch den gleichen Fehler
Delphi-Quellcode:
procedure TForm7.Panel1Click(Sender: TObject); var FileStream: TMemoryStream; memos :TFileName; a,b: String; begin a:=Memo1.Text; b:=Memo1.Text; FileStream := TMemoryStream.Create; FileStream.Write(Length(a), // und zwar hier SizeOf(Integer)); FileStream.Write(a, Length(Memo1.Text)); FileStream.Write(Length(b), // und hier SizeOf(Integer)); FileStream.Write(b, Length(Memo1.Text)); memos:= ExtractFilePath(ParamStr(0))+'Bemerkungen\'+ ComboBox4.Text+'.txt'; FileStream.SaveToFile(memos); FileStream.Free; end;
Delphi-Quellcode:
[Fehler] Unit7.pas(426): Variable erforderlich
|
Re: Mehrere Memo's Speicher
Dann speicherst du SizeOf(Integer) vorher eben genauso in eine Variable wie du es bei Memo2.Text gemacht hast.
Gruß |
Re: Mehrere Memo's Speicher
Auch daran liegt es nicht ;)
Er muss Length(a) bzw length(b) vorher in eine eigene Variable packen. |
Re: Mehrere Memo's Speicher
so etwa
Delphi-Quellcode:
:cry:
procedure TForm7.Panel1Click(Sender: TObject);
var FileStream: TMemoryStream; memos :TFileName; a,b :String; c,d :integer; begin a:=Memo1.Text; b:=Memo2.Text; c:= SizeOf(Integer); d:= SizeOf(Integer); FileStream := TMemoryStream.Create; FileStream.Write(Length(a), c)); FileStream.Write(a, Length(Memo1.Text)); FileStream.Write(Length(b), d)); FileStream.Write(b, Length(Memo2.Text)); memos:= ExtractFilePath(ParamStr(0))+'Bemerkungen\'+ ComboBox4.Text+'.txt'; FileStream.SaveToFile(memos); FileStream.Free; end; |
Re: Mehrere Memo's Speicher
Das ist nicht das Problem. Das Problem ist das length(a), das macht Ärger. Speicher das in eine Variable.
Delphi-Quellcode:
procedure TForm7.Panel1Click(Sender: TObject);
var FileStream: TMemoryStream; memos: TFileName; a,b: String; la, lb: Integer; begin a:=Memo1.Text; b:=Memo2.Text; c:= SizeOf(Integer); d:= SizeOf(Integer); FileStream := TMemoryStream.Create; la:=length(a); FileStream.Write(la, sizeof(Integer)); FileStream.Write(a, la); lb:=length(b); FileStream.Write(lb, sizeof(Integer)); FileStream.Write(b, lb); memos:= ExtractFilePath(ParamStr(0))+'Bemerkungen\'+ ComboBox4.Text+'.txt'; FileStream.SaveToFile(memos); FileStream.Free; end; |
Re: Mehrere Memo's Speicher
Habs jetzt so aber die *.txt ist jetzt unleserlich
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, Length(Memo1.Text)); FileStream.Write(d, SizeOf(Integer)); FileStream.Write(b, Length(Memo2.Text)); memos:= ExtractFilePath(ParamStr(0))+'Bemerkungen\'+ ComboBox4.Text+'.txt'; FileStream.SaveToFile(memos); FileStream.Free; end; |
Re: Mehrere Memo's Speicher
Wie, "unleserlich"?
Die ersten 4 Zeichen sind "unleserlich" und später mal 4 Zeichen ebenfalls, das ist normal. Ansonsten müsste es eigentlich so stimmen. Wie sieht sie denn aus, die TXT? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:49 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