Delphi-PRAXiS
Seite 1 von 2  1 2      

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)

Bernd29bln 27. Nov 2005 23:20


Memo zeilen Löschen
 
Hallo

Ich möchte das immer die ersten 4 Zeilen in meinem Memo Gelöscht werden .
Wie bekomme ich das hin?

Gruss Bernd

turboPASCAL 27. Nov 2005 23:46

Re: Memo zeilen Löschen
 
Delphi-Quellcode:
Memo1.Lines.Delete( Index );
Also für die ersten 4 Zeilen:
Delphi-Quellcode:
Memo1.Lines.Delete(0);
...
Memo1.Lines.Delete(3);

Bernd29bln 27. Nov 2005 23:59

Re: Memo zeilen Löschen
 
Hallo,

sind 9 zeilen Sorry, klappt so net.
es Bleiben noch einige zeilen stehen.

Gruss Bernd

Hansa 28. Nov 2005 00:12

Re: Memo zeilen Löschen
 
Zeilen 5..9 bleiben natürlich stehen. Also besser : for-Schleife.

Bernd29bln 28. Nov 2005 00:16

Re: Memo zeilen Löschen
 
Hallo,

Danke für den Tip Klappt soweit.
Wie bekomme ich den Text im Memo nach oben in die erste zeile ?

Gruss Bernd

Martin K 28. Nov 2005 00:22

Re: Memo zeilen Löschen
 
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;
Was meinst du denn mit Text ?
Text bedeutet normal der ganze Inhalt des Memos (also mit #13#10 als Zeilenumbruch).
Du meinst wahrscheinlich, du willst eine bestimmte Zeile als die erste Zeile verwenden, oder wie ist deine Frage zu verstehen?

Bernd29bln 28. Nov 2005 00:30

Re: Memo zeilen Löschen
 
Hallo Martin K,

Ja genauso meinte ich das.


Gruss bernd

Hansa 28. Nov 2005 00:30

Re: Memo zeilen Löschen
 
Das da wird ja wohl noch hinzukriegen sein. 8) Die Form hat ein Memo und einen Button. Das Memo wird im OI vorbesetzt, siehe DFM. Bei jedem Drücken des Buttons verschwinden die ersten beiden Zeilen aus dem Memo und der Rest rutscht nach oben.

Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Memo1: TMemo;
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
  Memo1.Lines.Delete(0);
  Memo1.Lines.Delete(1);
end;

end.
Delphi-Quellcode:
object Form1: TForm1   // Form als Text
  Left = 232
  Top = 103
  Width = 696
  Height = 480
  Caption = 'Form1'
  Color = clBtnFace
  Font.Charset = DEFAULT_CHARSET
  Font.Color = clWindowText
  Font.Height = -11
  Font.Name = 'MS Sans Serif'
  Font.Style = []
  OldCreateOrder = False
  PixelsPerInch = 96
  TextHeight = 13
  object Memo1: TMemo
    Left = 200
    Top = 128
    Width = 185
    Height = 89
    Lines.Strings = (
      'Memo1'
      '2'
      '3'
      '4'
      '5'
      '6'
      '7'
      '8')
    ScrollBars = ssVertical
    TabOrder = 0
  end
  object Button1: TButton
    Left = 112
    Top = 328
    Width = 75
    Height = 25
    Caption = 'Button1'
    TabOrder = 1
    OnClick = Button1Click
  end
end

Martin K 28. Nov 2005 00:47

Re: Memo zeilen Löschen
 
Also, falls es das ist, was du suchst:

Eine bestimmte Zeile x aus Memo1 von der alten Stelle entfernen, und als erste Zeile verwenden (die erste Zeile wird dann natürlich zur zweiten):

Delphi-Quellcode:
//x: Zeile x löschen und als erste Zeile einfügen (Achtung: erste Zeile: x=0, zweite Zeile: x=1, usw.)
var x: Integer; s: String;
begin
  s:=Memo1.Lines[x];
  Memo1.Lines.Delete(x);
  Memo1.Lines.Insert(0,s);
end;
So müsste es gehen ...

Sharky 28. Nov 2005 06:24

Re: Memo zeilen Löschen
 
Zitat:

Zitat von Hansa
Das da wird ja wohl noch hinzukriegen sein.

Jo, denke ich auch. Zumal der Code von Martin richtig ist.

Zitat:

Zitat von Hansa
.. Bei jedem Drücken des Buttons verschwinden die ersten beiden Zeilen aus dem Memo ..

Ähmm.. eigentlich nicht. 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                        zwei
zwei                        drei                        vier
drei                        vier                        fünf
vier                        fünf
fünf
EDIT nach Hinweiss von MaBuSE


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:06 Uhr.
Seite 1 von 2  1 2      

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