Registriert seit: 17. Nov 2005
Ort: Hamburg
1.062 Beiträge
Delphi XE2 Professional
|
Re: Memo Zeichenzähler mit Eingabe
30. Jan 2010, 12:36
Zitat von jaenicke:
Zitat von DaveRidge:
Form1.StatusBar1.Panels[1].Text:=('Zeichenzahl: ' + InttoStr(zeichenzaehler));
Vorausgesetzt du bist innerhalb von Form1 ist das eine sehr schlechte Idee explizit auf die in der globalen Variablen Form1 gespeicherte Instanz des Formulares zuzugreifen.
Das solltest du wie beim Memo lieber weglassen.
Zum Thema: Warum denkt ihr so kompliziert? :mrgreen:
Delphi-Quellcode:
StatusBar1.Panels[1].Text := 'Zeichenzahl: '
+ IntToStr(Length(StringReplace(Memo1.Text, #13#10, ' ', [rfReplaceAll])));
Bzw. wenn der Zeilenumbruch gar nicht gezählt werden soll, dann einfach durch einen leeren String statt mit einem Leerzeichen ersetzen, fertig.
Diese Lösung ist zwar langsamer usw. als einfaches Zählen, aber bei der zu erwartenden Zeichenanzahl spielt das ja keine Rolle.
Da finde ich Luckies Vorschläge, bzw. das was sich daraus ergibt, deutlich eleganter:
StatusBar1.Panels[1].Text:=IntToStr(Length(Memo1.Text)-Memo1.Lines.Count);
Gruß, Klaus
Die Titanic wurde von Profis gebaut,
die Arche Noah von einem Amateur.
... Und dieser Beitrag vom Amateurprofi....
|