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.Lines.Count - Anomalie ? (https://www.delphipraxis.net/180910-memo-lines-count-anomalie.html)

hathor 1. Jul 2014 10:27

AW: Memo.Lines.Count - Anomalie ?
 
Zitat:

Zitat von Uwe Raabe (Beitrag 1263842)
Zitat:

Zitat von wendelin (Beitrag 1263840)
(diese ist voll-
ständig leer - KEIN text !)

Offensichtlich nicht! Zumindest eine leere Zeile scheint dort enthalten zu sein. Wie stellst du denn fest, ob das Memo leer ist?

Die 2 Bytes 0D 0A sind enthalten.
Das hätte der Fragesteller aber auch selbst feststellen können!

Delphi-Quellcode:
procedure TForm2.Button3Click(Sender: TObject);
begin
Memo1.lines.savetofile('F:\STF3.txt');
end;

procedure TForm2.Button4Click(Sender: TObject);
begin
Memo1.Clear;
Memo1.lines.savetofile('F:\STF4.txt');
end;

arnof 1. Jul 2014 10:39

AW: Memo.Lines.Count - Anomalie ?
 
Zitat:

Zitat von DeddyH (Beitrag 1263911)
Zitat:

Zitat von arnof (Beitrag 1263908)
memo.Lines.Clear

Das geht auf die TStringlist des Memos, memo.Clear ist eine Windowsfunktion und kann sich je mach Komponentenart auch anders verhalten :wink:

Ein Blick in die StdCtrls von XE:
Zitat:

Delphi-Quellcode:
procedure TMemoStrings.Clear;
begin
  Memo.Clear;
end;

Die Liste ruft intern also Clear des Memos auf, da kann man das auch selbst tun.

Zitat:

Zitat von arnof (Beitrag 1263908)
Trim entfernt KEINE Umbrüche die ein Memo so hat!

Gibt es auch spezielle Memo-Umbrüche? Ich dachte immer, das sei auch nur CR, LF oder beides.


also bei meinem Trim werden in Delphi XE2 keine Umbrüche entfernt :wink: , das ist doch auch die Lösung des Ursprünglichen Problems (die Frage des #1 Beitrags :!:

DeddyH 1. Jul 2014 11:00

AW: Memo.Lines.Count - Anomalie ?
 
Dann machst Du wohl irgendetwas falsch. Was kommt denn hierbei heraus?
Delphi-Quellcode:
  Memo1.Clear;
  Memo1.Lines.Add('');
  Memo1.Lines.Add('');
  Memo1.Lines.Add('');
  Memo1.Lines.Add('');
  Memo1.Lines.Add('');
  ShowMessage(IntToStr(Memo1.Lines.Count));
  Memo1.Text := trim(Memo1.Text);
  ShowMessage(IntToStr(Memo1.Lines.Count));

wendelin 1. Jul 2014 11:05

AW: Memo.Lines.Count - Anomalie ?
 
Vielen Dank für Eure Hinweise.

Ich habe jetzt einfach bei den EVENTS (ONCREATE) des erzeugten Formulars ein
Delphi-Quellcode:
procedure TForm4.FormCreate(Sender: TObject);
begin
  Memo2.Clear;
end;
eingefügt. Klappt bestens!

Danke nochmals !


Wendelin

himitsu 1. Jul 2014 13:26

AW: Memo.Lines.Count - Anomalie ?
 
Zitat:

Zitat von DeddyH (Beitrag 1263925)
Dann machst Du wohl irgendetwas falsch.

Das macht er wohl, denn das was Trim macht, hatte ich ja beschrieben.
Und das entfernt definitiv alle Arten von Zeilenumbrüchen (Windows, Linux und Mac) aus einem String.

Sir Rufo 1. Jul 2014 19:21

AW: Memo.Lines.Count - Anomalie ?
 
Zitat:

Zitat von himitsu (Beitrag 1263948)
Zitat:

Zitat von DeddyH (Beitrag 1263925)
Dann machst Du wohl irgendetwas falsch.

Das macht er wohl, denn das was Trim macht, hatte ich ja beschrieben.
Und das entfernt definitiv alle Arten von Zeilenumbrüchen (Windows, Linux und Mac) aus einem String.

Der Befehl Trim entfernt nicht etwa nur Leerzeichen am Anfang und Ende, sondern alles was als Whitespace definiert ist (dazu gehören nun mal auch die Zeilenumbrüche).

himitsu 1. Jul 2014 20:05

AW: Memo.Lines.Count - Anomalie ?
 
Sagte ich doch. :angel:

Es werden alle Whitespaces ASCII-Steuerzeichen entfernt, also vorne und hinten.


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

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