![]() |
AW: Tagesanzahl Februar eines Jahres
Zitat:
Delphi-Quellcode:
trägt nicht unbedingt zur Übersichtlichkeit bei. Es ist eher fehleranfällig als gut, daher würde ich es persönlich nicht benutzen. Intern sind die beiden Befehle sicherlich identisch.
IfThen
Andreas |
AW: Tagesanzahl Februar eines Jahres
Zitat:
|
AW: Tagesanzahl Februar eines Jahres
Zitat:
Wenn ich beim Programmieren nicht aufpasse, mache ich Fehler. Beim Aufruf einer derartigen Funktion mit 'nem Rückgabewert ist (zumindest bei mir) die Fehlerhäufigkeit nicht höher, als bei beliebigen anderen Funktionen mit mehreren Parametern und 'nem Rückgabewert. Und das IfThen 'ne neuere Kurzform ist, halt' ich für 'n Gerücht. Mein olles Delphi 7 aus dem Jahr 2002 enthält diese Funktionen in den Units Math und StrUtils. Die neuere Kurzform ist also erst / mindestens 18 Jahre alt und damit volljährig und darf wählen sowie gewählt werden. Ich wähle sie ;-) Und wenn sich wer an dem If Then stört:
Delphi-Quellcode:
Oder ginge es auch so?
case IsLeapYear(Year) of
true : Days := 29; false : Days := 28; end;
Delphi-Quellcode:
Days := 28 + Ord(IsLeapYear(Year));
|
AW: Tagesanzahl Februar eines Jahres
Nichts für ungut: Bekanntlich darf jeder nach seiner Fasson glücklich werden. Ich habe lediglich meinen Standpunkt dargelegt. Wenn
Delphi-Quellcode:
schon "volljährig" ist, dann benutze ich es seit 18 Jahre bewußt nicht :wink:. Da ich 1985 mit Tubo Pacal 3 angefangen habe, können 18 Jahre "alte" Funktionen für mich durchaus als "neuere" gelten…:wink:
IfThen
Die meisten Delphianer haben sich für Pascal entschieden, u. a. weil es eine disziplinierte Programmiersprache ist und unser Code dadurch leichter zu verstehen und warten ist. Allzu trickreiche Programmierung und Sprach-Akrobatik rächt sich meistens erst später bei der Pflege und Erweiterung der Programme. Der Vorschlag von Detlef unter #7 in der ausführlichen Schreibweise ist selbsterklärend und "idiotensicher", während man bei
Delphi-Quellcode:
die Reihenfolge der Parameter leicht vertauschen kann, ohne den Fehler zu merken.
IfThen
Mein Motto ist daher, daß Übersichtlichkeit & Zuverlässigkeit vor Kürze gehen. Schreibfaulheit in der Kodierung ist eher ein Merkmal vieler C++-Programmierer. Wer möchte schon z. B. solche kryptischen Zeilen (= kurze, kompakte Befehle) nach Jahren weiterpflegen:
Code:
Gruß, Andreas
const Doub *xa = &xx[jl], *ya = &yy[jl];
... j = (Int)(pp % nhash); ... Int k = ng ? garbg[--ng] : nn++ ; ... for (;;) { for (i=1;i<=n;i++) x[i]=xold[i]+alam*p[i]; *f=(*func)(x); if (alam < alamin) for (i=1;i<=n;i++) x[i]=xold[i]; *check=1; return; } else if (*f <= fold+ALF*alam*slope) return; ... k = ng ? garbg[--ng] : nn++ ; k != -1; k = next[k]) ... y=ya[ns--]; ... y += (dy=(2*(ns+1) < (mm-m) ? c[ns+1] : d[ns--])); ... |
AW: Tagesanzahl Februar eines Jahres
Moin...8-)
...man sollte aber auch dazu sagen, daß das dieses IfThen aus der Unit Math kommt. IfThen gibt es auch in SysUtils...die macht aber was ganz anderes. :zwinker: ![]() ![]() |
AW: Tagesanzahl Februar eines Jahres
Bei
Delphi-Quellcode:
gilt auch zu beachten, dass es sich hier um einen Funktionsaufruf handelt, bei dem immer alle Parameter ausgewertet werden.
IfThen
Delphi-Quellcode:
var
cmp: TComponent; cmpName: string; begin cmp := FindComponent('Edit1'); { hier kann ein Zugriffsfehler auftreten } cmpName := IfThen(cmp <> nil, cmp.Name, ''); { kann hier nicht passieren } if cmp <> nil then cmpName := cmp.Name else cmpName := ''; |
AW: Tagesanzahl Februar eines Jahres
Zitat:
Delphi-Quellcode:
var
cmp: TComponent; cmpName: string; begin cmp := FindComponent('Edit1'); if Assigned(cmp) then begin // ohne das, geht es bei mir nach 'nem FindComponent o. ä. garantiert nicht weiter. ... end else begin ... end; |
AW: Tagesanzahl Februar eines Jahres
Zitat:
Gäbe es denn irgendeinen Trick um das zu Vermeiden, ich denke mal nicht, oder ? Shortcuts gibt es nur bei Operatoren soweit mir bekannt. |
AW: Tagesanzahl Februar eines Jahres
Zitat:
|
AW: Tagesanzahl Februar eines Jahres
Zitat:
Delphi-Quellcode:
Days:=28+Ord(IsLeapYear(Year));
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:53 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz