Thema: Delphi and / or

Einzelnen Beitrag anzeigen

Benutzerbild von xZise
xZise

Registriert seit: 3. Mär 2006
Ort: Waldbronn
4.303 Beiträge
 
Delphi 2009 Professional
 
#9

Re: and / or

  Alt 13. Aug 2009, 17:34
Genau deshalb habe ich mir bei solchen Ketten angewöhnt das wie begin/end zu behandeln:
Delphi-Quellcode:
function TExemplareVST.IstGefunden(const AData: TZeile): Boolean;
var
  PufferZeile : TExemplarZeile;
begin
  PufferZeile := AData as TExemplarZeile;
  Result := ((FSuchText = '') or
             ((Assigned(PufferZeile.Buch)) and (estoBuchtitel in FSuchTextOptionen) and (Pos(LowerCase(FSuchText), LowerCase(PufferZeile.Buch.Titel)) >= 1)) or
             ((estoBeschreibung in FSuchTextOptionen) and (Pos(LowerCase(FSuchText), LowerCase(PufferZeile.Bezeichnung)) >= 1))
            ) and
            ((FSuchBuchIDs.Count = 0) or ((Assigned(PufferZeile.Buch)) and (FSuchBuchIDs.IndexOf(PufferZeile.Buch.ID) >= 0))) and
            ((FSuchPersonenIDs.Count = 0) or ((Assigned(PufferZeile.Ausgeliehen)) and (FSuchPersonenIDs.IndexOf(PufferZeile.Ausgeliehen.ID) >= 0))) and
            (
             (FSuchAusgeliehenTyp = [esatNurAusgeliehene, esatKeineAusgeliehene]) or
             (
              ([esatNurAusgeliehene] = FSuchAusgeliehenTyp) and (Assigned(PufferZeile.Ausgeliehen))
             ) or
             (
              ([esatKeineAusgeliehene] = FSuchAusgeliehenTyp) and (not Assigned(PufferZeile.Ausgeliehen))
             )
            );
end;
Wobei das nicht 100% konsequent ist, aber die Ausdrücke in den Zeilen 7, 8, 10 und 11 gehören "zusammen"

MfG
xZise
Fabian
Eigentlich hat MS Windows ab Vista den Hang zur Selbstzerstörung abgewöhnt – mkinzler
  Mit Zitat antworten Zitat