Einzelnen Beitrag anzeigen

marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#9

Re: Zeichen im Memo zählen

  Alt 8. Dez 2006, 20:26
Hallo Leute,

#13#10 heißt bei mir sLineBreak - da kann man sich kaum vertun. Wenn wirklich die Speichergröße des Memo-Textes bestimmt werden soll, dann ist Length(Memo.Text) verführerisch kompakter Code. Allerdings muss Text erst wieder aus den einzelnen Lines zusammengebaut werden, weshalb das Aufsummieren der Zeilenlängen eventuell schneller und speicherplatz-ökonomischer ist.

Aber vielleicht geht es gar nicht um die Bestimmung des Größe des Textes, sondern um das Zählen der einzelnen Zeichen:

Delphi-Quellcode:
type
  TFreq = array [Char] of Cardinal;

procedure CountChars(const s: String; var freq: TFreq);
var
  i: Integer;
begin
  for i := 1 to Length(s) do
    Inc(freq[s[i]]);
end;

procedure TDemoForm.ButtonClick(Sender: TObject);
var
  Freq: TFreq;
  i: Integer;
begin
  FillChar(Freq, SizeOf(Freq), 0);
  with Memo do
    for i := 0 to Pred(Lines.Count) do
      CountChars(Lines[i], Freq);
end;
Freundliche Grüße
  Mit Zitat antworten Zitat