Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - if anweisung [gelöst]
Luncustaf - Do 12.06.03 09:45
Titel: if anweisung [gelöst]
hi,
ich hab hier diese if anweisung
Delphi-Quelltext
1:
| if not (DayOfWeek(a) = 7) or (DayOfWeek(a) = 1) then |
das komische wenn DayOfWeek 7 zurück liefert dann springt er nicht in die if anweisung wie angegeben gibt DayOfWeek wiederum den Wert 1 zurück springt er trotzdem in die if-anweisung :(
ich kann mir nicht erklären wieso eigentlich sollte es doch so funktionieren oder?
gr€€tz
ErnestoChe - Do 12.06.03 09:57
Hi,
wie denn auch, wenn du ein not davorsetzst.
Wenn du hin und wieder Kommas und Punkte in deine Sätze einbauen würdest, dann würde man beim ersten Lesen schon verstehen was Du willst.
MFG
- Ernesto -
Luncustaf - Do 12.06.03 10:18
hi,
das mit dem not stimmt schon. er soll nur in die if-anweisung springen, wenn DayOfWeek alles ausser 7 oder 1 zurückgibt.
gr€€tz
ErnestoChe - Do 12.06.03 10:32
Hi,
ach so. Dann kannst Du es so machen:
Delphi-Quelltext
1:
| if not (DayOfWeek(a) = 7) and not (DayOfWeek(a) = 1) then |
Du musst beide Bedingungen verneinen und mit
and verknüpfen.
MFG
- Ernesto -
Tana´Ri - Do 12.06.03 10:34
@Luncustaf der post ist doch wohl net ernst gemeint oder ?
falls doch, dein not bezieht sich nur auf erste klammer
entwedern
if not ((DayOfWeek(a) = 7) or (DayOfWeek(a) = 1)) then
oder hab ich letzten erst gemerkt das es funzt, ist zwar umständlich aber net :wink:
if DayOfWeek(a) = 2 or 3 or 4 or 5 or 6 then
Luncustaf - Do 12.06.03 10:35
hi,
wenn ich das aber so mache dann muss DayOfWeek doch gleichzeitig 1 und 7 zurückliefern, dass er nicht in die if-anweisung springt - aber ich werde die zweite anweisung mal verneinen :)
thx für deine hilfe.
gr€€tz
ErnestoChe - Do 12.06.03 10:38
Hi,
probier erst mal meinen Code aus. Der funktioniert. Dann lies Dir mal die Delphi-Hilfe nach booleschen Operatoren durch.
MFG
- Ernesto -
// Edit: Tana`Ri's Code funtioniert auch
Luncustaf - Do 12.06.03 11:01
hi,
hmm hat geklappt wundert mich wieso :) naja ich geh mal hilfe lesen. thx vielmals für deine hilfe.
gr€€tz
ErnestoChe - Do 12.06.03 11:07
gerngeschehen :wink:
Motzi - Do 12.06.03 11:08
Dein Code entspricht folgendem Vorgehen:
Delphi-Quelltext
1:
| if (not (DayOfWeek(a) = 7)) or (DayOfWeek(a) = 1) then |
Sprich "wenn DayOfWeek<>7 oder DayOfWeek=1 dann mach weiter".. um das zu erreichen was du willst gibts 2 Möglichkeiten:
1)
if not ((DayOfWeek(a) = 7) or (DayOfWeek(a) = 1) )then
2)
if not (DayOfWeek(a) = 7) and not (DayOfWeek(a) = 1) then
Wolff68 - Do 12.06.03 21:47
Also um zu prüfen, ob eine Variable in einem bestimmten Bereich liegt kann man auch sehr elegant den
IN-Operator verwenden.
Delphi-Quelltext
1: 2: 3:
| IF DayOfWeek(a) in [2..6] then begin ShowMessage('Ausführung'); end; |
Kurz, knapp, einleuchtend und schnell. :idea:
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!