![]() |
Delphi-Version: 5
if not abfragen
wenn edit 2 und 3 beide gleichzeitig nicht 1 ergeben dann soll die meldung kommen dass es vorbei ist
also wenn eine der folgenen kombinationen auftritt soll die anweisung ausgeführt werden: 1 0 0 1 und 0 0 also wenn beide gleichzeitig 1 sind soll die anweisung nicht ausgeführt werden. wie geht das? will es aber mit dem not haben sonst müsste ich immer jede kombination abfragen die auftretn kann also 3 kombinationen insgesammt mein ansatz war:
Delphi-Quellcode:
begin
if not(edit3.text='1') and not (edit2.text='1') then showmessage('vorbei') end; |
AW: if not abfragen
Delphi-Quellcode:
if not ((edit3.text='1') and (edit2.text='1')) then ...
|
AW: if not abfragen
Deine Abfrage müsste doch funtionieren. Ansonsten versuche es mal mit
Delphi-Quellcode:
begin
if not((edit3.text='1') and (edit2.text='1')) then showmessage('vorbei') end; |
AW: if not abfragen
Delphi-Quellcode:
wenn ich das so mache dann wird die ausgabe nur gemacht wenn
begin
if not(edit3.text='1') and (edit2.text='1') then showmessage('vorbei') end; edit 3 = 0 und edit 2 = 1 so hatte ich das ja auch zuerst und als ich dann umgeformt hab zu
Delphi-Quellcode:
kommt es nur zur ausgabe wenn beide gleich 0 sind
begin
if not(edit3.text='1') and not (edit2.text='1') then showmessage('vorbei') end; aber ich will ja auch dass es zur ausgabe kommt wenn eins der beiden auf 1 ist |
AW: if not abfragen
Zitat:
Zitat:
Ich glaube du willst das hier? ( Auf 1 0, 0 1 und 0 0 bezogen)
Delphi-Quellcode:
begin
if not(edit3.text='1') OR not (edit2.text='1') then showmessage('das game ist vorbei') end; |
AW: if not abfragen
also die anweisung soll nicht ausgeführt werdn wenn beide gleihczeitig 1 sind ansonsten soll immer ausgeführt werden!
sprich wenn beide 0 sind oder eins der beidn 1 ist! aber sobald alle beide 1 sind soll nix mehr ausgeführt werden! vieleicht war das in der ersten beschreibung etwas unschlüssig! |
AW: if not abfragen
Delphi-Quellcode:
Dann wohl so :)
begin
if not(edit3.text='1') OR not (edit2.text='1') then showmessage('das game ist vorbei') end; |
AW: if not abfragen
Stimmt, OR statt AND. Oder eben die Lösung mit der äußeren Klammer. Oder die NOTs weglassen:
Delphi-Quellcode:
if (Edit2.Text <> '1') or (Edit3.Text <> '1') then
|
AW: if not abfragen
Delphi-Quellcode:
ja so funktioniert es aber ich versteh nicht warum da ein oder hinkommt und nicht ein and..
if not(edit4.text='1') OR not (edit5.text='1')
|
AW: if not abfragen
"And" sagt aus, das beide Edit Felder ungleich 1 seien müssen.
"OR" sagt, entweder Edit1 ungleich 1 oder Edit2 ungleich 1.. |
AW: if not abfragen
Das AND greift, wenn beide Bedingungen zutreffen, OR greift schon, wenn mindestens eine Bedingung zutrifft.
|
AW: if not abfragen
wäre dann in der digitaltechnik eine nicht oder verküpfung oder?
|
AW: if not abfragen
Was meinst Du jetzt? Nicht oder (NOR) heißt ja, das Ergebnis einer Oder-Verknüpfung zu negieren.
|
AW: if not abfragen
Hier wird aber eine AND Verknüpfung negiert
|
AW: if not abfragen
Das hier
Zitat:
Zitat:
Code:
Wer es nicht glaubt macht sich eine Wertetabelle ;)
not A or not B = not ( A and B )
not ( A and B ) <> not A and B |
AW: if not abfragen
IIRC (ist lange her) ändert eine Zusammenfassung/Auflösung in Verbindung mit NOT das AND immer in OR und umgekehrt.
Code:
not (a and b)
<=> not a or not b not (a or b) <=> not a and not b |
AW: if not abfragen
Des Problem's Lösung:
Delphi-Quellcode:
var
e2, e3: Integer; begin e2 := StrToInt( Edit2.Text ) mod 2; e3 := StrToInt( Edit3.Text ) mod 2; if Boolean( e2 xor e3 ) or ( e2 and e3 = 0 ) then ShowMessage( 'Vorbei' ); end; |
AW: if not abfragen
Diese Lösung ist immer noch zu einfach :stupid:
|
AW: if not abfragen
Man könnte ja - wenn man Lust darauf hat - die Bedingungsabfrage in die GPU verlagern, aber ... btw. das hätten wir übrigens schonmal und zwar als ein gewisses Forummitglied wissen wollte, wie man Zahlen negiert...
*Nostalgie MfG |
AW: if not abfragen
Außerdem würde wenn ich das richtig sehe jede Kombination ungerader Zahlen als gültig angesehen.
|
AW: if not abfragen
Zitat:
![]() |
AW: if not abfragen
wenn da nur 0 oder 1 drinstehen kann dann mach's doch einfach so:
Delphi-Quellcode:
oder so, wenn es darauf ankommt das NICHT zwei Einsen drinstehen:
begin
if edit3.text='0' or edit2.text='0' then showmessage('vorbei') end;
Delphi-Quellcode:
begin
if edit3.text<>'1' or edit2.text<>'1' then showmessage('vorbei') end; |
AW: if not abfragen
Letzteres wurde bereits genannt. Außerdem hast Du die Klammern vergessen ;)
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:50 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 by Thomas Breitkreuz