Einzelnen Beitrag anzeigen

marabu

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

Re: Wertübergbae für einen Stringgrid

  Alt 8. Aug 2005, 12:24
Dein Code ist korrekt - wenn auch etwas ungewöhnlich. Der von dir beschriebene Fehler dürfte entstehen, wenn du nicht alle Eingabezellen mit Werten belegt hast. Der folgende Code zeigt dir, wie du das abfangen könntest.

In meinem Code habe ich die Arrays für Spannung und Stromstärke der Einfachheit halber eliminiert. Dann habe ich den Komponenten sprechende Namen gegeben. i und j sind klassische Laufvariablen, ich habe deshalb dCurrent eingeführt - d kennzeichnet den Variablen-Typ double und Current sagt etwas über den Verwendungszweck der Variablen aus.

Delphi-Quellcode:
procedure TCalcForm.CalcButtonClick(Sender: TObject);
var
  i: integer;
  dVoltage, dCurrent, dPower: double;
  s: string;
  ok: boolean;
begin
  with Grid do
  for i := FixedRows to RowCount - 1 do begin
    ok := TryStrToFloat(Cells[1, i], dVoltage);
    ok := ok and TryStrToFloat(Cells[2, i], dCurrent);
    if ok then begin
      dPower:= dVoltage * dCurrent;
      s := FloatToStr(dPower);
    end else s := '';
    Cells[3, i] := s;
  end;
end;
marabu

PS: bei mir gibt es auch kein zweites Grid, die Ausgabe mache ich in Spalte 4...
  Mit Zitat antworten Zitat