AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Wie ist der Programmierstil "professionell"

Ein Thema von coderi · begonnen am 16. Nov 2012 · letzter Beitrag vom 18. Jan 2013
 
coderi

Registriert seit: 13. Jun 2008
Ort: Unterfranken
13 Beiträge
 
Delphi 10.3 Rio
 
#1

Wie ist der Programmierstil "professionell"

  Alt 16. Nov 2012, 16:16
Delphi-Version: 5
Hallo Zusammen,

ich habe hier mal eine Grundsatzfrage zum Thema Programmieren in Delphi

Delphi-Quellcode:
procedure TfrmXXX.ZeileDelExecute(Sender: TObject);
begin

   dmXXX.qGETFertigteileeingang.ParamByName('AZID').AsInteger := dmXXX.AZQ.fieldbyname('AZ.ID').asinteger;
   dmXXX.qGETFertigteileeingang.Open;
   if (dmXXX.qGETFertigteileeingang.FieldByName('Anzahl').AsInteger > 0) then
   begin
      MessageDlg('Löschen der Auftragszeile NICHT möglich, da bereits Fertigteile daraus eingebucht wurden!', mtError, [mbOK], 0);
      dmXXX.qGETFertigteileeingang.close;
      exit;
   end;
   dmXXX.qGETFertigteileeingang.close;
    .
. .
..
code hier noch nicht zu ende.
Erklärung:

Es geht hier um einen Rowcount mit anschließender Auswertung, wenn die Anzahl > 0 dann soll er nach Meldung direkt abbrechen und die Procedure verlassen.
Die query möchte ich aber immer geschlossen wissen.

Frage:
Unter Berücksichtigung von gutem Programmierstyle, Codewartbarkeit u.a. :

Ist es so korrekt wie oben dargestellt?

Oder benutze ich eine Variable als Zwischenspeicher wie hier:

Delphi-Quellcode:
procedure TfrmAuftrag.ZeileDelExecute(Sender: TObject);
var
 azid:Integer;
begin

   dmAuftrag.qGETFertigteileeingang.ParamByName('AZID').AsInteger := dmauftrag.AZQ.fieldbyname('AZ.ID').asinteger;
   dmAuftrag.qGETFertigteileeingang.Open;
   azid := dmAuftrag.qGETFertigteileeingang.FieldByName('Anzahl').AsInteger;
   dmAuftrag.qGETFertigteileeingang.close;
   if (azid > 0) then
   begin
      MessageDlg('Löschen der Auftragszeile NICHT möglich, da bereits Fertigteile daraus eingebucht wurden!', mtError, [mbOK], 0);
      exit;
   end;

Oder gib es einen ganz anderen Ansatz dafür?

Antworte bitte mit Begründung

danke euch
grüße
Coderi
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:51 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz