![]() |
[gelöst] TMemo und "echte" Zeilen
Hallo,
ich habe eine selbstgebastelte "MessageBox" mit einem TMemo. Ferner wird der Button OK mit Enter und der Button Abbrechen mit ESC ausgelöst. TMemo.WordWrap ist deshalb True und TMemo.WantReturn ist False. Der Text wird - so wie von mir gewünscht - am rechten Ende des TMemo in eine neue Zeile umgebrochen. Das Drücken von Enter wäre daher ohnehin Quatsch. Nach dem Klick auf OK (bzw. Enter)wird der Inhalt mit TMemo.Lines.SaveToFile('...') gespeichert. Leider werden dabei die automatischen Umbrüche nicht mit gespeichert. Ich möchte jetzt aber, dass der Text exakt so, wie im TMemo auch in der Datei steht; und zwar mit den automatisch vorgenommenen Umbrüchen. Der Sinn ist, den Inhalt der Text-Datei später für die Ausgaben in einer Application.MessageBox zu benutzen. Dort wird zwar auch umgebrochen. Aber erst viel später, so dass man sehr unschöne Fenster hat. Kann mir da jemand helfen? Meine Idee war zunächst, im Ereignis OnKeyPress TMemo.CaretPos abzufragen und bei einer neuen Zeile vor dem Wort ein #10#13 einzufügen. Das ist aber aufwending. Und wenn später ein Wort gelöscht wird, gibt es Probleme. Gruß, Alex
Delphi-Quellcode:
unit Unit1;
interface uses SysUtils, Forms, StdCtrls, Classes, Controls; type TForm1 = class(TForm) Memo1: TMemo; Button1: TButton; Button2: TButton; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); begin Memo1.Lines.SaveToFile(ExtractFilePath(ParamStr(0)) + 'Test.txt'); end; procedure TForm1.Button2Click(Sender: TObject); begin with TStringList.Create Do try LoadFromFile(ExtractFilePath(ParamStr(0)) + 'Test.txt'); Application.MessageBox(PAnsiChar(Text), 'Test'); finally Free; end; end; end. |
Re: TMemo und "echte" Zeilen
Hallo,
schreib die Lines(der automatisch Umbruch erzeugt neue) in eine StringList und speicher dann aus der StringList.
Delphi-Quellcode:
Es gibt auch eine Möglichkeit mit Sendmessage die automatischen Umbrüche zu fixieren, finde den Code aber nicht wieder :?
with TStringList.Create Do
try AddStrings(Memo.Lines); SaveToFile(ExtractFilePath(ParamStr(0)) + 'Test.txt'); finally Free; end; |
Re: TMemo und "echte" Zeilen
Zitat:
Zitat:
Gruß, Alex |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:38 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