Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Timer Anhalten Während Fenster Verschoben Wird (https://www.delphipraxis.net/172612-timer-anhalten-waehrend-fenster-verschoben-wird.html)

DeddyH 14. Jan 2013 14:30

AW: Timer Anhalten Während Fenster Verschoben Wird
 
Zitat:

TeddyH in DeddyH geändert :)
Thx :zwinker:

[edit]
Zitat:

Delphi-Quellcode:
if prvMouseOnFormularDown then begin
   {-do nothing here-}
end else begin

Wieso nicht einfach
Delphi-Quellcode:
if not prvMouseOnFormularDown then begin
das else braucht man dann nicht?
[/edit]

terence14 14. Jan 2013 14:40

AW: Timer Anhalten Während Fenster Verschoben Wird
 
Zitat:

Zitat von DeddyH (Beitrag 1198993)
Zitat:

TeddyH in DeddyH geändert :)
Thx :zwinker:

[edit]
Zitat:

Delphi-Quellcode:
if prvMouseOnFormularDown then begin
   {-do nothing here-}
end else begin

Wieso nicht einfach
Delphi-Quellcode:
if not prvMouseOnFormularDown then begin
das else braucht man dann nicht?
[/edit]

Das ist natürlich richtig :)

a) es ist ein Testprogramm
b) es ist mein Stil, es so umständlich zu machen :)

MfG,
terence

DeddyH 14. Jan 2013 14:42

AW: Timer Anhalten Während Fenster Verschoben Wird
 
Zitat:

Zitat von terence14 (Beitrag 1198995)
b) es ist mein Stil, es so umständlich zu machen :)

Naja, mein erster Gedanke als Außenstehender war wörtlich: "Häh?" :mrgreen:

stahli 14. Jan 2013 14:43

AW: Timer Anhalten Während Fenster Verschoben Wird
 
Ich finde an der Stelle auch Exit ganz übersichtlich.
Bei Funktionen kann man sogar einen Wert mitgeben:

Delphi-Quellcode:
procedure xy;
begin
  if xyz then
    Exit;
  abc;
end;

function xy: Boolean;
begin
  if xyz then
    Exit(False);
  Result := abc;
end;

DeddyH 14. Jan 2013 14:48

AW: Timer Anhalten Während Fenster Verschoben Wird
 
"Exit" und "übersichtlich" geht IMO nur in seltenen Fällen zusammen. Aber ich will hier keinen Glaubenskrieg vom Zaun brechen.

Medium 14. Jan 2013 15:23

AW: Timer Anhalten Während Fenster Verschoben Wird
 
Ich halte das mit den Exits so: Wenn ich sie nutze, dann nur ganz am Anfang einer Methode, mit einem kleinen Kommentar, dass hier Gültigkeitsprüfungen für Parameter etc. passieren.

Wenn es um komplexere Prüfungen geht, und Dinge, die dazu führen dass die Methode immerhin teilweise auch ausgeführt wird, arbeite ich lieber mit ein paar lokalen Variablen der Art "conditionIsValid" über die dann später verzweigt wird. Ein Exit mitten drin wird es bei mir also nicht geben, am Anfang z.B. zur Parametervalidierung helfen sie ein paar recht unübersichtliche if-Schachtelungstiefen zu vermeiden.

Was ich auch gerne mache, sind Early-Out-Szenarien der Art:
Delphi-Quellcode:
function TMyClass.IndexOfObject(someObject: TObject): Integer;
var
  i: Integer;
begin
  result := -1;
  for i := Low(FArray) to High(FArray) do
    if FArray[i] = someObject then
      Exit(i);
end;
Für sowas ist Exit einfach klasse schlank.

terence14 14. Jan 2013 18:39

AW: Timer Anhalten Während Fenster Verschoben Wird
 
Zitat:

Zitat von Medium (Beitrag 1198999)
...
Ein Exit mitten drin wird es bei mir also nicht geben, am Anfang z.B. zur Parametervalidierung helfen sie ein paar recht unübersichtliche if-Schachtelungstiefen zu vermeiden.
...

Ditto.
Das schöne am Programmieren ist doch, daß man (fast) unendlich
viele Wege einschlagen kann, um eine Aufgabe zu meistern.

Nun ist es an einem, eine übersichtliche und leicht pflegbare
Methode zu finden.

Fehler aus früheren Zeiten können helfen, oder Tipps von
der DP-Gemeinde.

MfG,
terence


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:41 Uhr.
Seite 2 von 2     12   

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