![]() |
and-Funktion
Moin, ich bins wieder.
Kann ich in dem Folgenden Beispiel das and, als und benutzen ode rheißt es wieder entweder, oder??
Delphi-Quellcode:
procedure TForm1.ButtonAuswertenClick(Sender: TObject);
begin if (eigeneWahl = 1) and (WahlGegner = 1) then begin ShowMessage('Unentschieden, keiner bekommt einen Punkt!'); Buttonbestaetigen.Enabled := true; ButtonAuswerten.Enabled := false; end end; |
Re: and-Funktion
Moin, Moin,
and = und or = oder :P |
Re: and-Funktion
Der Block wird dann ausgeführt, wenn beide Bedingungen zutreffen. Das heißt also und ;)
|
Re: and-Funktion
True and True => True
alles andere ist false. Also wird das nur ausgeführt wenn wirklich beide 1 sind |
Re: and-Funktion
Ok danke,
das ist mir ja eigendlich auch bewusst aber in dem folgenden Beispiel heißt es entweder...oder
Delphi-Quellcode:
if (text <> 'Spieleinladung') and (text <> 'Einladungannehmen')
and (text <> 'a') and (text <> 'c') and (text <> 'c') then begin Memo1.Lines.Add(Text); end; |
Re: and-Funktion
Zitat:
|
Re: and-Funktion
Und entweder-oder ist dann das xor. ;)
(and ist übrigens keine Funktion, sondern ein Operator, genauer ein logischer, binärer Operator, aber das ist natürlich nur eine Nebensache. ;) ) Und in dem von dir gezeigten Codestück heißt es auch und. Ein and ist immer ein und. |
Re: and-Funktion
Ok gut, dankeschön,
dann muss ich wohl etwas falsch verstanden haben :oops: |
Re: and-Funktion
Schau mal
![]() |
Re: and-Funktion
Sieh gut aus, werde ich gleich einmal durcharbeiten,
dankeschön und einen schönen Abend noch. mfG, Nico |
Re: and-Funktion
Zitat:
![]() Zitat:
|
Re: and-Funktion
@DeddyH: Mit Bitmasken hat das gar nichts zu tun. Bitmasken verwenden bitweise Operatoren, während das and hier ein logischer Operator ist.
|
Re: and-Funktion
Immerhin sind dort and, or und xor beschrieben.
|
Re: and-Funktion
Zitat:
Ein Negativ-Beispiel:
Delphi-Quellcode:
In C++ bräuchte man nicht ganz so viele Verrenkungen für so n Blödsinn zu machen...
procedure TForm1.Button2Click(Sender: TObject);
var a, b: Boolean; begin a := True; b := GaaanzFieseAPIFunktion; // = true(-1) if (Integer(a) or Integer(b)) = Integer(True) then begin ShowMessage('mich sieht man nicht'); end; a := True; b := GaaanzFieseAPIFunktion; // = true(-1) if a or b then begin ShowMessage('Hallo'); end; end; Ein passender Link: ![]() mfg Christian |
Re: and-Funktion
Das muss noch nicht mal ne ganz fiese API-Funktion sein, es reicht schon, statt dem zweiten Boolean einen LongBool zu verwenden.
|
Re: and-Funktion
Zitat:
[1] gemeint ist das Originalbeispiel im Tutorial; nicht das mit den Bitoperatoren; das funktioniert auch mit Lazarus... mfg Christian |
Re: and-Funktion
Ich habs grad eben ausprobiert. ;)
LongBool genommen, True zugewiesen, auf nen Integer gecastet, Ergebnis: -1 |
Re: and-Funktion
Zitat:
Delphi-Quellcode:
Wenn das auch geht(d.h. nix angezeigt wird), muss ich vllt. das Tutorial noch abaendern, aber ich meine damals haett ich das ausprobiert und gemerkt, dass da die CompilerMagic zuschlaegt...
var;
b: LongBool; begin b := True; if b = True then begin ShowMessage('Hallo'); end; end; Aber ich glaub wir werden OT: Tatsache ist, dass man sowas, wie oben *nicht* machen sollte. Also niemals auf = True pruefen. Warum steht im verlinkten Tutorial. mfg Christian |
Re: and-Funktion
Zitat:
![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:46 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