Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Top 3 aus Tabelle (https://www.delphipraxis.net/92152-top-3-aus-tabelle.html)

schrimm 15. Mai 2007 11:57


Top 3 aus Tabelle
 
Ich habe hier im Forum schon rausgefunden, wie man in ner Tabelle nen maximalwert rausfinden kann:
Delphi-Quellcode:
      for m := 1 to 26 do
       begin
        if strtofloat(table1.cells[m,2]) > maxw then
         begin
          maxw:=strtofloat(table1.cells[m,2]);
          maxz := m;
         end;
       end;
nun will ich aber die 3 oder 5 höchsten rausfinden, ich brauche wieder nicht die werte, sondern eher die spalte, in der das ist (zeile bleibt gleich)
ich dachte schon, man müsste dazu das obrige irgendwie erweitern, aber ich bin nicht drauf gekommen, wie und was :pale:

SirThornberry 15. Mai 2007 12:15

Re: Top 3 aus Tabelle
 
anstelle von maxw brauchst du dann eben ein Array wo mehrere maxwerte drin sein können (oder eine Liste). dementsprechend musst du schauen ob der kleinste Wert im Array kleiner ist als dein Wert in der Tabelle.

matashen 15. Mai 2007 12:25

Re: Top 3 aus Tabelle
 
Hallo,

Ich schließmich SirThornberry an,

Auch ein Ansatz wäre die Tabelle um eine oder zwei Spalten zu erweitern.
Dann kannst du in einer Spalte markierungen für deine Sortierung machen.

Dann dieses so abprüfen

Delphi-Quellcode:
for m := 1 to 26 do
       begin
        if (strtofloat(table1.cells[m,2]) > maxw) and (table1.cells[m,letzte]<>'') then
        begin
          maxw[xter]:=strtofloat(table1.cells[m,2]);
          maxz[xter] := m;
          table1.cells[m,letzte]:=xter;
          inc(xter)
         end;
end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:58 Uhr.

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