Einzelnen Beitrag anzeigen

marabu

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

Re: Wertübergbae für einen Stringgrid

  Alt 8. Aug 2005, 14:44
Die beiden Aktionen "Tabelle dimensionieren" und "Leistung berechnen" sind unabhängig voneinander, also solltest du sie auch nicht miteinander vermischen. Nimm einen eigenen Button für die Dimensionierung oder was immer sonst dir für deine Benutzeroberfläche gefällt. Ich habe deinen Code ein wenig umgestellt. Das Nummerieren der Zeilen geschieht jetzt in einer eigenen Prozedur:

Delphi-Quellcode:
const
  MAXVALUES = 20;

procedure TCalcForm.RenumberGridLines;
var
  i: integer;
begin
  with Grid do
  for i := FixedRows to RowCount - 1 do
    Cells[0, i] := IntToStr(Succ(i - FixedRows)) + '.';
end;

procedure TCalcForm.ResizeButtonClick(Sender: TObject);
var
  s: string;
  i: integer;
begin
  s := IntToStr(Grid.RowCount - 1);
  if not InputQuery('Tabelle dimensionieren', 'Zeilen', s) then
    Exit;
  if not TryStrToInt(s, i) then
    ShowMessage(Format('"%s" ist nicht numerisch', [s]))
  else if not (i in [1..MAXVALUES]) then
    ShowMessage(Format('"%d" ist keine gültige Zeilenzahl', [i]))
  else begin
    Grid.RowCount := Succ(i);
    RenumberGridLines;
  end;
end;
marabu
  Mit Zitat antworten Zitat