Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi automatischen Zeilenumbruch am ende von Text verhindern ? (https://www.delphipraxis.net/32563-automatischen-zeilenumbruch-am-ende-von-text-verhindern.html)

mlspider 25. Okt 2004 12:01


automatischen Zeilenumbruch am ende von Text verhindern ?
 
Hallo,

wie kann man verhindern, daß der Cursor in einem Memo am Ende des Textes automatisch in die nächste Zeile springt?????

Bin über jede Hilfe dankbar!

jim_raynor 25. Okt 2004 12:02

Re: automatischen Zeilenumbruch am ende von Text verhindern
 
:wiejetzt: Meinst du den autmatischen Zeilenumbruch. Dafür gab es doch glaube ne Eigenschaft WordWrap?!

mlspider 25. Okt 2004 12:05

Re: automatischen Zeilenumbruch am ende von Text verhindern
 
Diese Eigenschaft habe ich mit True und mit False getestet. Er bricht trotzdem um.

Dax 25. Okt 2004 12:06

Re: automatischen Zeilenumbruch am ende von Text verhindern
 
Du musst glaube ich auch noch die ScrollBars-Eigenschaft auf Horizontal oder Beide stellen..

mlspider 25. Okt 2004 12:14

Re: automatischen Zeilenumbruch am ende von Text verhindern
 
So, habe jetzt die ScrollBar-Eigenschaften getestet. Er bricht immer noch um!

Plague 25. Okt 2004 12:19

Re: automatischen Zeilenumbruch am ende von Text verhindern
 
Meines Wissens nach reicht es auch die horizontale Scrollleiste auf true, visible oder wie auch immer zu setzen (oder war das bei VB??? :gruebel: )

Gruß
Thomas

mlspider 25. Okt 2004 12:22

Re: automatischen Zeilenumbruch am ende von Text verhindern
 
Die steht bei mir auf Horizontal. Nur leider bricht er immer noch um. WordWrap habe ich auf False gesetzt.

Dax 25. Okt 2004 12:25

Re: automatischen Zeilenumbruch am ende von Text verhindern
 
Wenn ich ScrollBars auf ssNone und WordRap auf False stehen habe, bricht das Control die Zeilen nicht um.. :gruebel:

mlspider 25. Okt 2004 12:32

Re: automatischen Zeilenumbruch am ende von Text verhindern
 
Liegt es vieleicht daran, daß ich den Inhalt von Memo in eine Stringliste lade und anschließend in eine TXT-Datei speichere?

Hier mal der Code:

Delphi-Quellcode:
procedure TForm1.Button4Click(Sender: TObject);
var
  F: TextFile;
  T: TextFile;
  Dateiname: String;
  SL: TStringList;
begin
 Dateiname := ExtractFilePath(Application.ExeName)+Label24.Caption+'.txt';
 AssignFile(F, Dateiname);
 Rewrite(F);
 CloseFile(F);
 Label20.Caption:='mms://'+Label11.Caption+':4853/No-Limit';
 Memo3.Text:=Label20.Caption;
 SL := TStringList.Create;
 SL.LoadFromFile(Label24.Caption+'.txt');
 SL.AddStrings(Memo3.Lines);
 SL.SaveToFile(Label24.Caption+'.txt');
 SL.Free;
Wenn ich jetzt die Text-Datei öffne, ist ein Umbruch nach "No-Limit" vorhanden. Dieser muß aber weg!!!!

Oder müßte hier eine Funktion her, die mir vor dem Speichern alle Zeichen (einschließlich Leerzeichen) wegscheidet? Wenn ja, wie?

Dax 25. Okt 2004 12:37

Re: automatischen Zeilenumbruch am ende von Text verhindern
 
Ist ja kein Wunder... am Ende einer Stringlist ist immer ein Zeilenumbruch, so sinnlos er auch sein mag. Du könntest nach dem laden die letzte Zeile löschen:
Delphi-Quellcode:
SL.Delete(SL.Count-1)

mlspider 25. Okt 2004 12:38

Re: automatischen Zeilenumbruch am ende von Text verhindern
 
Und wie kann ich den vor dem Speichern wegschneiden?

Dax 25. Okt 2004 12:39

Re: automatischen Zeilenumbruch am ende von Text verhindern
 
Die werden beim speichern automatisch beigefügt, da kann man nichts machen. :(

mlspider 25. Okt 2004 12:40

Re: automatischen Zeilenumbruch am ende von Text verhindern
 
Schei....!!!!!!!!

Dax 25. Okt 2004 12:42

Re: automatischen Zeilenumbruch am ende von Text verhindern
 
Du könntest aber den Inhalt des Memos anders speichern:
Delphi-Quellcode:
var
  F: TFileStream;
  SL: TStringList;
begin
  F := TFileStream.Create(DeineDatei, fmCreate);
  F.Write(SL.Text[1], Length(SL.Text));
  //Mehr Code..
end;
Das müsste die Umbrüche verhindern.

mlspider 25. Okt 2004 12:44

Re: automatischen Zeilenumbruch am ende von Text verhindern
 
Ich danke Dir!!! Steige trotzdem nicht hinter!

ibp 25. Okt 2004 12:44

Re: automatischen Zeilenumbruch am ende von Text verhindern
 
warum speicherst du den inhalt nicht direkt vom memo (memo1.savetofile(filename)) geht doch auch, da kannst du dir das mit der stringlist sparen..

mlspider 25. Okt 2004 12:56

Re: automatischen Zeilenumbruch am ende von Text verhindern
 
Irgend wie blicke ich nun gar nicht mehr durch!!! Jetzt habe, glaube ich, totalen Müll zusammen gedichtet:

Delphi-Quellcode:
procedure TForm1.Button4Click(Sender: TObject);
var
  T: TFileStream;
  F: TextFile;
  //T: TextFile;
  Dateiname: String;
  SL: TStringList;
begin
 Dateiname := ExtractFilePath(Application.ExeName)+Label24.Caption+'.txt';
 AssignFile(F, Dateiname);
 Rewrite(F);
 CloseFile(F);
 Label20.Caption:='mms://'+Label11.Caption+':4853/No-Limit';
 Memo3.Text:=Label20.Caption;
 T := TFileStream.Create(Label24.Caption+'.txt', fmCreate);
 T.Write(SL.Text[1], Length(SL.Text));
 //SL := TStringList.Create;
 //SL.LoadFromFile(Label24.Caption+'.txt');
 //SL.AddStrings(Memo3.Lines);
 //SL.Delete(SL.Count-2);
 SL.SaveToFile(Label24.Caption+'.txt');
 SL.Free;
Jetzt klappt garnichts mehr!

ibp 25. Okt 2004 13:11

Re: automatischen Zeilenumbruch am ende von Text verhindern
 
Delphi-Quellcode:
procedure TForm1.Button4Click(Sender: TObject);
var
  Dateiname: String;
begin
  Dateiname := ExtractFilePath(Application.ExeName)+Label24.Caption+'.txt';
  Memo3.lines.savetofile(Dateiname)
end;

Die Muhkuh 25. Okt 2004 13:12

Re: automatischen Zeilenumbruch am ende von Text verhindern
 
Du kannst ja auch die Zeilumbrüche entfernen:

Delphi-Quellcode:
  Memo3.Lines.Text := StringReplace(Memo3.Lines.Text, #13#10, ' ', [rfReplaceAll]);

Dax 25. Okt 2004 13:12

Re: automatischen Zeilenumbruch am ende von Text verhindern
 
Und so?
Delphi-Quellcode:
procedure TForm1.Button4Click(Sender: TObject);
var
  T: TFileStream;
  F: TextFile;
  //T: TextFile;
  Dateiname: String;
  SL: TStringList;
begin
  Dateiname := ExtractFilePath(Application.ExeName)+Label24.Caption+'.txt';
  AssignFile(F, Dateiname);
  Rewrite(F);
  CloseFile(F);
  Label20.Caption:='mms://'+Label11.Caption+':4853/No-Limit';
  Memo3.Text:=Label20.Caption;
  //SL := TStringList.Create;
  SL.LoadFromFile(Label24.Caption+'.txt');
  SL.AddStrings(Memo3.Lines);
  //SL.Delete(SL.Count-2);
  //SL.SaveToFile(Label24.Caption+'.txt');
  T := TFileStream.Create(Label24.Caption+'.txt', fmCreate);
  T.Write(SL.Text[1], Length(SL.Text));
  SL.Free;
end;

mlspider 25. Okt 2004 14:34

Re: automatischen Zeilenumbruch am ende von Text verhindern
 
OK, erst einmal ei großes Dankeschön an alle. Ich es jetzt wie folgt gelöst:

Delphi-Quellcode:
procedure TForm1.Button4Click(Sender: TObject);
var
  Dateiname: String;
begin
  Memo3.Text:=Label11.Caption+':4853/No-Limit';
  Dateiname := ExtractFilePath(Application.ExeName)+Label24.Caption+'.txt';
  Memo3.Lines.SaveToFile(Label24.Caption+'.txt');
Jetzt findet kein Umbruch am Ende mehr statt!!!

ibp 25. Okt 2004 18:13

Re: automatischen Zeilenumbruch am ende von Text verhindern
 
für was ist eigentlich die variable dateiname?


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:15 Uhr.

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