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

wendelin 30. Jun 2014 14:32

Memo.Lines.Count - Anomalie ?
 
Hallo,
mir ist bei der Programmierung
Delphi-Quellcode:
 Form4 := TForm4.Create(SELF);
mit einer Memo-Komp.
folgendes aufgefallen: wenn ich nach der Erstellung des Formulars mit der Memo-Komp. (diese ist voll-
ständig leer - KEIN text !) mit
Delphi-Quellcode:
SHOWMESSAGE(IntTOStr(Memo.Lines.Count))
die
Zeilenanzahl ausgebe erscheint immer '1' ??
Wenn ich über
Delphi-Quellcode:
 Memo.Clear
den eigentlich schon leeren Text lösche erscheint endlich
die '0' !
Ich benötige die Memo-Komp. um SQL-Anweisungen via Delphi an Interbase zu schicken, zu editieren
und zu speichern und wenn ich versehentlich den entsprechenden Button drücke, kommt logischerweise die Fehlermeldung "EMPTY SQL-Statement". Vielleicht weiß jemand die Antwort.

Wendelin

arnof 30. Jun 2014 14:38

AW: Memo.Lines.Count - Anomalie ?
 
leer wird ein Memofeld nur mit

Memox.Lines.clear


Sonst ist eine Leerzeile auch ein Inhalt :wink:

Uwe Raabe 30. Jun 2014 14:39

AW: Memo.Lines.Count - Anomalie ?
 
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?

himitsu 30. Jun 2014 16:35

AW: Memo.Lines.Count - Anomalie ?
 
Trim :stupid:

arnof 30. Jun 2014 16:47

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

Zitat von himitsu (Beitrag 1263855)
Trim :stupid:

Trim ist auch eine Leerzeile :wink:

Höchstens sowas:

Memo1.lines.Text:=Trim(Memo1.lines.Text);

wenn da aber ein Umbruch drin ist, dann bleibt der Count>0

Also es hilft nur

memo1.lines.clear;

wendelin 30. Jun 2014 16:53

AW: Memo.Lines.Count - Anomalie ?
 
OK,
vielen Dank,
Dann muß ich allso bevor ich Text ins Memo eingebe dieses immer mit Memo.Clear löschen.

Danke
Wendelin

p80286 30. Jun 2014 17:12

AW: Memo.Lines.Count - Anomalie ?
 
Oder du verwendest
Delphi-Quellcode:
Memo1.Lines.Text:='';
oder
Delphi-Quellcode:
Memo1.Lines.Text:='Mein Text ist.....';
Gruß
K-H

himitsu 30. Jun 2014 17:13

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

Zitat von arnof (Beitrag 1263858)
Trim ist auch eine Leerzeile :wink:

Nicht, wenn man das getrimmte an die SQL-Komponente übergibt.

Zeilenumbrüche werden auch entfernt. :angel:
Trim entfernt alle ASCII-Steuerzeichen und das Leerzeichen (
Delphi-Quellcode:
#0..' '
)

arnof 1. Jul 2014 08:35

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

Zitat von wendelin (Beitrag 1263860)
OK,
vielen Dank,
Dann muß ich allso bevor ich Text ins Memo eingebe dieses immer mit Memo.Clear löschen.

Danke
Wendelin

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:

Zitat:

Trim entfernt alle ASCII-Steuerzeichen und das Leerzeichen (#0..' ' )
Trim entfernt KEINE Umbrüche die ein Memo so hat!

DeddyH 1. Jul 2014 08:57

AW: Memo.Lines.Count - Anomalie ?
 
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.


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:16 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