Ich hatte grad Langeweile:
Is vielleicht nicht das Optimum aber sie Tut ihren Zweck =)
Delphi-Quellcode:
Procedure CountMyMemoLines( Const Memo: TMemo );
Var SL: TStringList;
tS: String;
cS: Integer;
i: Integer;
act: Boolean;
Begin
SL := TStringList.Create;
SL.Text := Memo.Lines.Text;
Memo.Clear;
SL.Sort;
act := False;
If SL.Count > 0 Then Begin
While SL.Count > 0 Do Begin
If act Then Begin
If SL[ SL.Count - 1 ] = tS Then Begin
Inc( cS );
SL.Delete( SL.Count - 1 );
End Else Begin
Memo.Lines.Append( tS + ' = ' + IntToStr( cS ) );
act := False;
End;
End Else Begin
act := True;
tS := SL[ SL.Count - 1 ];
cS := 1;
SL.Delete( SL.Count - 1 );
End;
End;
Memo.Lines.Append( tS + ' = ' + IntToStr( cS ) );
End;
FreeAndNil( SL );
End;
Bye