Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi TStringrid Zellen summieren (https://www.delphipraxis.net/74569-tstringrid-zellen-summieren.html)

Privateer3000 7. Aug 2006 14:09

Re: TStringrid Zellen summieren
 
hallo marabu
wärst du bitte so nett und
würdest mir die funktion oben
(CreateScoreList) kommentieren?
insbesondere die schleifen?

büdde büdde
:angel:

marabu 8. Aug 2006 13:55

Re: TStringrid Zellen summieren
 
Hier die prosaische Fassung:

Delphi-Quellcode:
function CreateScoreList(sg: TStringGrid; iGroup, iValue: Integer): TStrings;
// sg.Columns[iValue] wird summiert und nach sg.Columns[iGroup] gruppiert
// Zugriff auf die Summen-Werte: iScore := StrToInt(Result.Values[sPlayer])
var
  sPlayer: String;
  index, iScore, iRow: Integer;
begin
  // Es wird eine neu erzeugte TStringList zurückgegeben
  Result := TStringList.Create;
  with sg do
    // Spaltenüberschriften von der Summenbildung ausschließen
    for iRow := FixedRows to Pred(RowCount) do
    begin
      // nach was soll gruppiert werden ?
      sPlayer := Cells[iGroup, iRow];
      // gibt es für diesen String schon einen Eintrag ?
      index := Result.IndexOfName(sPlayer);
      // Ist in der aktuellen Zelle ein gültiger Wert eingetragen ?
      if TryStrToInt(Cells[iValue, iRow], iScore) then
        // Gibt es für den Gruppenbegriff sPlayer schon einen Eintrag
        if index < 0
          // nein, Wert einfach einsetzen
          then Result.Values[sPlayer] := IntToStr(iScore)
          // ja, auf vorhandenen Wert addieren
          else Result.Values[sPlayer] := IntToStr(StrToInt(Result.Values[sPlayer]) + iScore);
    end;
end;
Ich hoffe du kommst zurecht?

Grüße vom marabu

Privateer3000 8. Aug 2006 14:48

Re: TStringrid Zellen summieren
 
besten Dank,
habs kapiert dank dir :-)


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:36 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz