Zitat:
Mit Kommentaren im Code versucht der Entwickler seine Kollegen über die miese Qualität seines Codes hinweg zu täuschen.
Na gut, ich versuche es - aber dass du es nicht gegen mich verwendest...
Delphi-Quellcode:
procedure TCalcForm.CalcButtonClick(Sender: TObject);
var
i: integer;
dVoltage, dCurrent, dPower: double;
s: string;
ok: boolean;
begin
// Ich verwende gerne einen with Block zur
// Verkürzung der qualifizierter Namen
with Grid do
// Die Untergrenze der Laufvariablen setze ich
// auf die erste Zeile nach der Überschrift,
// funktioniert so auch bei mehrzeiligen Überschriften.
// Die Obergrenze ist wegen der 0 basierenden
// Zeilenadressierung um 1 kleiner als die Gesamtzahl der Zeilen.
for i := FixedRows to RowCount - 1 do begin
// Ich versuche den Spannungswert zu gewinnen
// und merke mir das Ergebnis
ok := TryStrToFloat(Cells[1, i], dVoltage);
// Jetzt noch den Stromwert. Das Ergebnis
// verknüpfe ich mit dem vorigen.
ok := ok and TryStrToFloat(Cells[2, i], dCurrent);
// Nur wenn beide Werte korrekt vorliegen
if ok then begin
// brechne ich die Leistung
dPower:= dVoltage * dCurrent;
// und wandle sie für die Anzeige in einen String um
s := FloatToStr(dPower);
end else s := ''; // ansonsten bleibt der string leer
// die Ausgabe-Zelle wird belegt
Cells[3, i] := s;
end;
end;
Den Hinweisen von Christian zum interaktiven Debuggen in der
IDE solltest du vielleicht auch noch nachgehen. Die Inspektion der Variablen-Inhalte zur Laufzeit ist mitunter eine sehr schöne Sache.
Freundliche Grüße vom marabu