Einzelnen Beitrag anzeigen

marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#16

Re: Wertübergbae für einen Stringgrid

  Alt 8. Aug 2005, 14:09
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
  Mit Zitat antworten Zitat