Einzelnen Beitrag anzeigen

Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#9

AW: Unter einer Procedure eine andere Procedur aufrufen

  Alt 31. Dez 2012, 20:43
Dann läßt sich auch gut mit dem bei manchen verpönten "with" arbeiten.
"With" grundsätzlich nicht zu benutzen, das ist ja auch völlig überzogen. Man schaue sich das mal an :

Delphi-Quellcode:
procedure TAusg.FormShow(Sender: TObject);
begin
  with DataModule1.Dataset1 do begin
    Close;
    SelectSQL.Clear;
    SelectSQL.Add ('SELECT A.NR,A.BEZ, SP.* FROM ART8 A,')
    SelectSQL.Add ('A1,')
    SelectSQL.Add ('A2,')
...
    SelectSQL.Add ('SONDER8 SP ');
    SelectSQL.Add ('WHERE (A.ID = SP.ID_ART) AND...');
    SelectSQL.Add ('AND A.NR >= :VonArtNr');
    SelectSQL.Add ('AND A.NR <= :BisArtNr');
    SelectSQL.Add ('ORDER BY A.NR');
    ParamByName...
    ParamByName...
    ParamByName...
    Open;
  end;
  inherited; // erst hier, sonst DS noch nicht besetzt
end;
Und dann das :

Delphi-Quellcode:
procedure TAusg.FormShow(Sender: TObject);
begin
  DataModule1.Dataset1.Close;
  DataModule1.Dataset1.SelectSQL.Clear;
  DataModule1.Dataset1.SelectSQL.Add ('SELECT A.NR,A.BEZ, SP.* FROM ART8 A,')
  DataModule1.Dataset1.SelectSQL.Add ('A1,')
  DataModule1.Dataset1.SelectSQL.Add ('A2,')
...
  DataModule1.Dataset1.SelectSQL.Add ('SHOPKUSONDER8 SP ');
  DataModule1.Dataset1.SelectSQL.Add ('WHERE (A.ID = SP.ID_ART) AND...');
  DataModule1.Dataset1.SelectSQL.Add ('AND A.NR >= :VonArtNr');
  DataModule1.Dataset1.SelectSQL.Add ('AND A.NR <= :BisArtNr');
  DataModule1.Dataset1.SelectSQL.Add ('ORDER BY A.NR');
  DataModule1.Dataset1.ParamByName...
  DataModule1.Dataset1.ParamByName...
  DataModule1.Dataset1.ParamByName...
  DataModule1.Dataset1.Open;
  inherited; // erst hier, sonst DS noch nicht besetzt
end;
Wer da das with ignoriert und alles ausschreibt, der ist selber Schuld. So etwas hilft höchstens den Monitorherstellern. Für unnötigerweise lange Zeilen hilft ja schon ein 32" Monitor, um alles direkt zu sehen. Beim Drucken gehts dann eben wieder von vorne los.
Gruß
Hansa
  Mit Zitat antworten Zitat