![]() |
Fragen zu Memo-Felder
Hallo.
Also ich würde gerne mal wissen, wie ich die gesamte Länge eines eingegebenen Textes in ein Memo-Feld auslesen kann. wenn ich:
Delphi-Quellcode:
schreibe, meckert Delphi, dass das "inkompatible Typen" sind.
Laenge:= Length(MText.Lines) ; // Laenge ist ein Integer-Typ
Wes wer Rat? Mit freundlichen Grüßen |
Re: Fragen zu Memo-Felder
Hai -lx-
der gesamte Text (inkl. der Zeichen für den Zeilenumbruch!!) müsste in der Eigenschaft ![]() |
Re: Fragen zu Memo-Felder
Diese Eigenschaft gibt es aber nicht bei Memo-Feldern.
Der Text, den man eingibt, steht in der Eigenschaft "Lines" (TStrings)... mh... |
Re: Fragen zu Memo-Felder
Nein, mit Lines kannst du Zeilen einfügen, mit Text kannst du einen Kompletten Text einfügen. Wenn du Lines benutzt, wird die Neue Zeile angehängt, wenn du Text benutzt, wird der alte Inhalt gelöscht,
Du hast abgefragt, wieviel Zeilen das Memo hat. Dies ist nicht möglich, da Lines ein String-Datentyp ist. Wenn du abfragen möchtest, wieviel Zeichen im Memo sind benutze: Length(Memo1.Text) Wenn du die Anzahl der Zeilen abfragen möchtest, benutze: Memo1.Lines.Count MfG Cyberbob |
Re: Fragen zu Memo-Felder
Hi,
Sharky meinte vielleicht Memo.Lines.Text ... Grüße vom marabu |
Re: Fragen zu Memo-Felder
Zitat:
In ![]() Du könntest es natürlich so machen wenn Du die Anzahl der Zeichen haben möchtest:
Delphi-Quellcode:
function CountMemoLines (aMemo : TMemo) : integer;
var ndx : integer; counter : integer; begin counter := 0; for ndx := 0 to Pred(aMemo.Lines.Count) do begin counter := counter + Length(aMemo.Lines[ndx]); end; result := counter; end; procedure TForm1.btn_CharCountClick(Sender: TObject); begin ShowMessage(IntToStr(CountMemoLines(memo_Memo1))); // Nur die Zeichen ShowMessage(IntToStr(Length(memo_Memo1.text))); // inkl. der Zeichen für Zeilenumbruch end; |
Re: Fragen zu Memo-Felder
Interessant - meine Online-Hilfe unterschlägt mir die property TMemo.Text, aber kein Zweifel, sie existiert.
marabu |
Re: Fragen zu Memo-Felder
Zitat:
![]() Nur der Compiler ist so schlau zu erkennen das
Code:
das selbe wie
Memo.Lines.Text
Code:
ist. Die Codevervollständigung schaft es darum auch die Property anzuzeigen (welche verwirrender Weise vom Type TCaption ist).
Memo.Text
Aber Achtung! Man sollte im Programm nicht zu oft (z.B in einer Schleife) auf .Text zugreifen. Diese wird bei jeder Abfrage wieder neu zusammengesetzt. Und das kostest natürlich seine Zeit. |
Re: Fragen zu Memo-Felder
Hab da snun wie folgt gelöst.
Danke euch ;)
Delphi-Quellcode:
begin
Laenge:= (Length(MText.Text)) ; For i:= 1 To Laenge Do begin Buchstabe:= ord(MText.Text[i]) ; Case Buchstabe Of 228 : Satz:= Satz + 'ä' ; 196 : Satz:= Satz + 'Ä' ; 246 : Satz:= Satz + 'ö' ; 214 : Satz:= Satz + 'Ö' ; 252 : Satz:= Satz + 'ü' ; 220 : Satz:= Satz + 'Ü' ; 223 : Satz:= Satz + 'ß' ; Else Satz:= Satz + chr(Buchstabe) ; end; end; MText.Text:= Satz ; end; |
Re: Fragen zu Memo-Felder
Wie wäre es mit
![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:11 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