Einzelnen Beitrag anzeigen

marabu

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

Re: TStringrid Zellen summieren

  Alt 5. Aug 2006, 13:58
Hallo.

Der folgende Code soll die Werte in einer Spalte eines StringGrids summieren und nach dem Wert einer anderen Spalte gruppieren. Das Ergebnis ist eine Liste mit Eintrögen der Form "Spieler1=1000".

Delphi-Quellcode:
function CreateScoreList(sg: TStringGrid; iGroup, iValue: Integer): TStrings;
var
  sPlayer: String;
  index, iScore, iRow: Integer;
begin
  Result := TStringList.Create;
  with sg do
    for iRow := FixedRows to Pred(RowCount) do
    begin
      sPlayer := Cells[iGroup, iRow];
      index := Result.IndexOfName(sPlayer);
      if TryStrToInt(Cells[iValue, iRow], iScore) then
        if index < 0
          then Result.Values[sPlayer] := IntToStr(iScore)
// else Result.Values[sPlayer] := IntToStr(Integer(Result.Values[sPlayer]) + iScore); // StrToInt() statt Integer()
          else Result.Values[sPlayer] := IntToStr(StrToInt(Result.Values[sPlayer]) + iScore);
    end;
end;
Grüße vom marabu
  Mit Zitat antworten Zitat