Einzelnen Beitrag anzeigen

Benutzerbild von sx2008
sx2008

Registriert seit: 16. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#4

AW: TField.Size zur Laufzeit anpassen ohne doppeltes Öffnen der Query

  Alt 15. Feb 2013, 19:36
Ich würde zusätzlich auch empfehlen im Sourcecode vermehrt die Klasse TDataset zu benützen.
Ich vermute mal dass der Code strukturmässig so aussieht:
Delphi-Quellcode:
procedure TForm21.CalculateBruttowert;
begin
  Datamodule21.Query12.Edit;
  Datamodule21.Query12Bruttowert.Value := Datamodule21.Query12Nettowert.Value
    * (1.0 + DataModule13.Query1Mwst.Value / 100.0);
  ...
  Datamodule21.Query12.Post;
end;
Alles ist fest verdrahtet und unflexibel.
Jede Änderung zieht einen Rattenschwanz nach sich.
Und nun mit dem Dataset:
Delphi-Quellcode:
procedure TForm21.CalculateBruttowert(ds:TDataset; mwstprozent:double);
begin
  ds.Edit;
  ds['Bruttowert'] := ds.FieldByName('Bruttowert').AsFloat
    * (1.0 + mwstprozent / 100.0);
  ...
  ds.Post;
end;

// Aufruf
CalculateBruttowert(Datamodule21.Query12, DataModule13.Query1['Mwst']);
Jede Wette, es gibt Hunderte Stellen, die man so verbessern kann.
  Mit Zitat antworten Zitat