Einzelnen Beitrag anzeigen

Benutzerbild von Khabarakh
Khabarakh

Registriert seit: 18. Aug 2004
Ort: Brackenheim VS08 Pro
2.876 Beiträge
 
#2

Re: Maximum aus einer StringGrid Spalte berechnen

  Alt 10. Aug 2005, 11:03
Zitat von Technikus:
  leistung:= StrToFloat(StringGrid1.Cells[3,i]);
Hier sehe ich gleich mehrere Fehler: Erstens kannst du auf StringGrid1 nicht von einer lokalen/globalen Funktion zugreifen, dazu musst du "Optimum" als Methode deiner Form deklarieren:
Delphi-Quellcode:
type
  TForm1 = class(TForm)
  [...]
  private //bzw. public
     function Optimum(n:´Integer): Double;
  [...]
  end;

implementation

function TForm1.Optimum(n: Integer): Double;
Dann weist du einem Array einen Fließkommawert zu, das kann nicht gut gehen.
Entweder füllst du das Array so:
leistung[i] := StrToFloat(StringGrid1.Cells[3,i]); oder, wenn du das Array gar nicht brauchst, sondern nur das Maximum, kannst du "leistung" gleich als Double deklarieren:
Delphi-Quellcode:
leistung: Double;
begin
max:=0;
for i:=1 to n do begin
  leistung := StrToFloat(StringGrid1.Cells[3,i]);
  if leistung > max then max:= leistung;
end;
Zitat:
return max;
Falsche Sprache :
Result := max;
Sebastian
Moderator in der EE
  Mit Zitat antworten Zitat