Delphi-PRAXiS
Seite 2 von 2     12   

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/)
-   -   Delphi Memo zeilen Löschen (https://www.delphipraxis.net/57864-memo-zeilen-loeschen.html)

MaBuSE 28. Nov 2005 06:38

Re: Memo zeilen Löschen
 
Zitat:

Zitat von turboPASCAL
Delphi-Quellcode:
Memo1.Lines.Delete( Index );
Also für die ersten 4 Zeilen:
Delphi-Quellcode:
Memo1.Lines.Delete(0);
...
Memo1.Lines.Delete(3);

bzw
Zitat:

Zitat von Hansa
Delphi-Quellcode:
...
procedure TForm1.Button1Click(Sender: TObject);
begin
  Memo1.Lines.Delete(0);
  Memo1.Lines.Delete(1);
end;
...

Ich finde es "lustig", dass immer wieder dieser "Anfängerfehler" gemacht wird.

Wenn die 1. Zeile gelöscht wird, dann "rückt" der andere Text nach.
In der 1. Zeile steht nun die 2. Zeile (Die 1. ist ja gelöscht worden)
Wenn man nun die 2. Zeile löscht, wird ja die 3. Zeile entfernt (Die nun an 2. Stelle steht).
Es muss also noch mal die 1. Zeile gelöscht werden.

Martin hat es richtig gemacht:
Zitat:

Zitat von Martin K
Was hältst du davon:
Delphi-Quellcode:
var i,j: Integer; //j: die ersten j Zeilen löschen
begin
  For i:=1 to j do
  Memo1.Lines.Delete(0);
end;

Wenn Memo1.Lines.Delete(0); 4 mal aufgerufen wird, sind die ersten 4 Zeilen gelöscht.

Alternativ könnte man auch von hinten nach vorne löschen, dann kann man durchaus auf die Einzelnen Zeilen zugreifen, da dann das "nachrücken" ohne Belang ist.

Delphi-Quellcode:
...
Memo1.Lines.Delete(3);
Memo1.Lines.Delete(2);
Memo1.Lines.Delete(1);
Memo1.Lines.Delete(0);
...
oder
Delphi-Quellcode:
...
for i downto 3 to 0 do
  Memo1.Lines.Delete(i);
...
Ich bevorzuge aber den Lösungsansatz von Martin.

MaBuSE 28. Nov 2005 06:42

Re: Memo zeilen Löschen
 
Zitat:

Zitat von Sharky
Bei deinem Code wird die erste und dritte Zeile im Memo gelöscht.
Nach dem aufruf von .Delete(0) wird die erste Zeile gelöscht und alle anderen rücken eins nach oben. Dann wird durch .Delete(1) die zweite Zeile gelöscht welche zuvor ja die dritte war.
Code:
_        .Lines.Delete(0)           .Lindes.Delete(1)
eins                        zwei                        drei
zwei                        drei                        vier
drei                        vier                        fünf
vier                        fünf
fünf

Hallo Sharky,
Ich habe gar nicht gesehen, das Du auch das angesprochen hast :-)
Aber Du wolltest wohl das schreiben:
Code:
_        .Lines.Delete(0)           .Lines.Delete(1)
eins                        zwei                        [b]zwei[/b]
zwei                        drei                        vier
drei                        vier                        fünf
vier                        fünf
fünf

Sharky 28. Nov 2005 06:45

Re: Memo zeilen Löschen
 
Zitat:

Zitat von MaBuSE
... Aber Du wolltest wohl das schreiben:

:oops: Naja, es ist früh und ich habe erst einee halbe Tasse Kaffee in mir. (Danke für den Hinweiss)

Hansa 28. Nov 2005 13:51

Re: Memo zeilen Löschen
 
Zitat:

Zitat von MaBuSE
Ich finde es "lustig", dass immer wieder dieser "Anfängerfehler" gemacht wird.

Lustig ? Entetzlich. :mrgreen: Mein Memo hat jedenfalls immer 2 Zeilen am Anfang weniger angezeigt. Welche war mir dabei egal. 8) Aber Mabuse hat natürlich vollkommen Recht. Werde mir das merken, denn wer weiß, ob man nicht mal selber konkret "Memo zeilen Löschen" muß. 8)

Bernd29bln 28. Nov 2005 17:13

Re: Memo zeilen Löschen
 
Hallo @All,

Danke für eure vielen Antworten .

Gruss Bernd

Martin K 28. Nov 2005 17:28

Re: Memo zeilen Löschen
 
Zitat:

Zitat von MaBuSE
Ich bevorzuge aber den Lösungsansatz von Martin.

Das ist ja auch der beste :wink: !

@Bernd29bln:
Ich hoffe, deine Fragen sind jetzt auch beantwortet.
Kommst du mit den Codes klar?

Bernd29bln 28. Nov 2005 20:45

Re: Memo zeilen Löschen
 
Hallo Martin K,

Ja Klar, habs hinbekommen und vielen Dank an Euch alle :thumb:

Gruss Bernd


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:14 Uhr.
Seite 2 von 2     12   

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