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;