Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.152 Beiträge
 
Delphi 12 Athens
 
#24

AW: Verständnisfrage: IF (Bedingung1 ODER Bedingung1)

  Alt 19. Okt 2016, 11:16
Zitat:
Ich kenne es nur so
In Delphi und eigentlich allen anderen Sprachen haben unäre Operatoren immer vor allem anderen Vorrang und werden von rechts nach links aufgelöst.

Also, die Vorzeichen (+/-) kommen immer zuerst, dann sogleich das NOT und erst danach wird der ganze Rest ausgewertet.
(andersrum kann man +/- und NOT eh nicht schreiben, außer man klammert, also ist quasi Beides gleichrangig und kommt "immer zuerst dran")


Ich kenn aber zuviele, die benutzen NOT wie eine Funktion und schreiben das dann auch so.
xxx.Enabled := (Obj.Count = 1) And Not(VarToBool(Obj.Prop[0].GetVariant('ein Boolean')));
geklammert wird das dann auch oftmals
xxx.Enabled := (Obj.Count = 1) And (Not(VarToBool(Obj.Prop[0].GetVariant('ein Boolean'))));
Leerzeichen gibt es nicht und um alles kommt sowieso nochmal 'ne Klammer drum.
xxx.Enabled:=((Obj.Count=1)And(Not(VarToBool(Obj.Prop[0].GetVariant('ein Boolean')))));

Aber hier muß man eh zuviele Klammern machen, denn sonst müsste man ja ein Leerzeichen einfügen, damit es nicht
xxx.Enabled:=(Obj.Count=1)AndNotVarToBool(Obj.Prop[0].GetVariant('ein Boolean')); heißt
Und wenn man schon konsequent alles klammert, dann doch bitte richtig.
xxx.Enabled:=(((Obj.Count)=(1))And(Not(VarToBool(Obj.Prop[0].GetVariant('ein Boolean')))));
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (19. Okt 2016 um 11:26 Uhr)
  Mit Zitat antworten Zitat