![]() |
Unnötige Zeilenumbrücke löschen?
Hallo,
ich benutze ein Memo Feld, welchem nach Ausführen des Programms immer ein Zeilenumbruch angefügt wird, d.h. es entsteht immer eine leere unnötige Zeile. Wie kann ich diese entfernen? liebste grüße & danke :) |
Re: Unnötige Zeilenumbrücke löschen?
Delphi-Quellcode:
if Memo.Lines.Count > 0 then
Memo.Lines.Delete(Pred(Memo.Lines.Count)); |
Re: Unnötige Zeilenumbrücke löschen?
Vielleicht sollte man trotzdem zur Sicherheit noch prüfen, ob die Zeile wirklich leer ist.
Delphi-Quellcode:
if Memo.Lines.Count > 0 then
if Memo.Lines.Last='' then Memo.Lines.Delete(Pred(Memo.Lines.Count)); |
Re: Unnötige Zeilenumbrücke löschen?
wäre es nicht sinnvoller die Zeile nur einzufügen wenn die vorherige nicht auch schon eine Leerzeile ist?
|
Re: Unnötige Zeilenumbrücke löschen?
Delphi-Quellcode:
Irgendwie merkt er nicht, dass er bei <> '' die Schleife beenden soll...woran liegt das? Die repeat...until-Schleife läuft unendlich weiter, dabei soll er aufhören, wenn die Zeile wieder etwas enthält.
repeat
if GeheimtextMmo.Lines.Count > 1 then if GeheimtextMmo.Lines.Strings[GeheimtextMmo.Lines.Count] = '' then GeheimtextMmo.Lines.Delete(Pred(GeheimtextMmo.Lines.Count)) else break; until GeheimtextMmo.Lines.Strings[GeheimtextMmo.Lines.Count] [b]<> ''[/b]; |
Re: Unnötige Zeilenumbrücke löschen?
Delphi-Quellcode:
Ungetestet, aber ich finde hier eine Kopfschleife angebrachter.
while Length(GeheimtextMmo.Lines[GeheimtextMmo.Lines.Count - 1]) = 0 do
GeheimtextMmo.Lines.Delete(GeheimtextMmo.Lines.Count - 1); P.S.: Die letzte Zeile hat den Index Lines.Count - 1 |
Re: Unnötige Zeilenumbrücke löschen?
Die meisten Arrays, und alle Listen, werden in Delphi mit Null-basierten Indices angesprochen. Das heißt, dass das erste Element den Index 0 hat, und folglich das letzte Element den Index Count-1. Eigentlich sollte in deinem Code eine Exception "Listenindex überschreitet das Maximum" kommen.
|
Re: Unnötige Zeilenumbrücke löschen?
Was ist mit Trim...
|
Re: Unnötige Zeilenumbrücke löschen?
wenn es wirklich nur die letzte Zeile ist, wieso nicht einfach ein Trim(Memo.Text) und gut ist.
|
Re: Unnötige Zeilenumbrücke löschen?
Zitat:
wird bei 'length' ein Leerzeichen nicht auch mitberechnet? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:24 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