![]() |
and / or
Ich hab nur eine kleine Frage.
Ich möchte sowas machen wie:
Delphi-Quellcode:
Funktioniert das so mit der KLammersetzung oder wie interpretiert Delphi das hier?
if ((A=1) and (B=1) and (C=1)) or ((A=2) and (B=3) and (C=4)) then
//..tue irgendwas.. |
Re: and / or
Das müsste eigentlich funktionieren...
Ich setze immer noch Klammern um den gesamten, zu prüfenden Ausdruck
Delphi-Quellcode:
MfG
if (((A=1) and (B=1) and (C=1)) or ((A=2) and (B=3) and (C=4))) then
//..tue irgendwas.. Oliver |
Re: and / or
Die Klammern werden von innen nach außen aufgelöst.
|
Re: and / or
ob das so funktioniert wie du das denkst, weis ich nicht ;) aber delphi prüft in dem Fall
if Bedingung1 or Bedingung2 then ... // Wobei gilt: Bedingung1 := (A=1) and (B=1) and (C=1); Bedingung2 := (A=2) and (B=3) and (C=4); |
Re: and / or
Genau das will ich auch. Super danke, das wars schon :thumb:
|
Re: and / or
Stop. Da gibts noch ein Problem :
Delphi-Quellcode:
Vor then meckert er:
if ((YearOf(LetztesDatum)) <> (YearOf(NeuesDatum)) and (MonthOf(LetztesDatum) <> 12)) then ..
Zitat:
|
Re: and / or
Jetzt hast du zuviele Klammern gesetzt. Die Klammern in ) <> ( sind zu viel.
|
Re: and / or
Manchmal sieht man den Wald vor lauter KLammern nicht :wall:
|
Re: and / or
Genau deshalb habe ich mir bei solchen Ketten angewöhnt das wie begin/end zu behandeln:
Delphi-Quellcode:
Wobei das nicht 100% konsequent ist, aber die Ausdrücke in den Zeilen 7, 8, 10 und 11 gehören "zusammen" ;)
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; MfG xZise |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:52 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