AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

and-Funktion

Ein Thema von MrMyagi · begonnen am 6. Jan 2008 · letzter Beitrag vom 7. Jan 2008
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#11

Re: and-Funktion

  Alt 6. Jan 2008, 20:24
Zitat von MrMyagi:
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;
Guck doch mal, was ich dazugeschrieben hatte:

Zitat von Matze:
Delphi-Quellcode:
if (text <> 'Spieleinladung') and (text <> 'Einladungannehmen') then
begin
  // Anweisungen
end;
So werden die Anweisungen nur ausgeführt, wenn "text" weder "Spieleinladung" noch "Einladungannehmen" ist.
Das heißt doch genau: Wenn ungleich das eine und ungleich das andere, dann mache etwas. Du musst nur genau lesen: "Weder noch" <> "Entweder oder".
  Mit Zitat antworten Zitat
Benutzerbild von 3_of_8
3_of_8

Registriert seit: 22. Mär 2005
Ort: Dingolfing
4.129 Beiträge
 
Turbo Delphi für Win32
 
#12

Re: and-Funktion

  Alt 6. Jan 2008, 20:24
@DeddyH: Mit Bitmasken hat das gar nichts zu tun. Bitmasken verwenden bitweise Operatoren, während das and hier ein logischer Operator ist.
Manuel Eberl
„The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.619 Beiträge
 
Delphi 12 Athens
 
#13

Re: and-Funktion

  Alt 6. Jan 2008, 20:26
Immerhin sind dort and, or und xor beschrieben.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
r2c2

Registriert seit: 9. Mai 2005
Ort: Nordbaden
925 Beiträge
 
#14

Re: and-Funktion

  Alt 6. Jan 2008, 21:48
Zitat von DeddyH:
Immerhin sind dort and, or und xor beschrieben.
Aber dort sind es andere and und or. Auch, wenn sie in Delphi genauso heißen, machen sie etwas anderes.
Ein Negativ-Beispiel:
Delphi-Quellcode:
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;
In C++ bräuchte man nicht ganz so viele Verrenkungen für so n Blödsinn zu machen...

Ein passender Link:
http://r2c2.weingut-rehn.de/content5..._Variablen.htm

mfg

Christian
Kaum macht man's richtig, schon klappts!
  Mit Zitat antworten Zitat
Benutzerbild von 3_of_8
3_of_8

Registriert seit: 22. Mär 2005
Ort: Dingolfing
4.129 Beiträge
 
Turbo Delphi für Win32
 
#15

Re: and-Funktion

  Alt 6. Jan 2008, 21:54
Das muss noch nicht mal ne ganz fiese API-Funktion sein, es reicht schon, statt dem zweiten Boolean einen LongBool zu verwenden.
Manuel Eberl
„The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett
  Mit Zitat antworten Zitat
r2c2

Registriert seit: 9. Mai 2005
Ort: Nordbaden
925 Beiträge
 
#16

Re: and-Funktion

  Alt 6. Jan 2008, 22:09
Zitat von 3_of_8:
Das muss noch nicht mal ne ganz fiese API-Funktion sein, es reicht schon, statt dem zweiten Boolean einen LongBool zu verwenden.
Nö, ich mein ich hätts damels ausprobiert. Reicht nicht. Hab momentan leider kein Delphi Griffbereit zum Ausprobieren. Lazarus lässt sich jedenfalls nicht so leicht linken(noch nicht mal von der gaaanz fiesen Funktion[1])...

[1] gemeint ist das Originalbeispiel im Tutorial; nicht das mit den Bitoperatoren; das funktioniert auch mit Lazarus...

mfg

Christian
Kaum macht man's richtig, schon klappts!
  Mit Zitat antworten Zitat
Benutzerbild von 3_of_8
3_of_8

Registriert seit: 22. Mär 2005
Ort: Dingolfing
4.129 Beiträge
 
Turbo Delphi für Win32
 
#17

Re: and-Funktion

  Alt 6. Jan 2008, 22:15
Ich habs grad eben ausprobiert.

LongBool genommen, True zugewiesen, auf nen Integer gecastet, Ergebnis: -1
Manuel Eberl
„The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett
  Mit Zitat antworten Zitat
r2c2

Registriert seit: 9. Mai 2005
Ort: Nordbaden
925 Beiträge
 
#18

Re: and-Funktion

  Alt 7. Jan 2008, 09:16
Zitat von 3_of_8:
Ich habs grad eben ausprobiert.

LongBool genommen, True zugewiesen, auf nen Integer gecastet, Ergebnis: -1
Und wie siehts damit aus:
Delphi-Quellcode:
var;
  b: LongBool;
begin
  b := True;
  if b = True then
  begin
    ShowMessage('Hallo');
  end;
end;
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...

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
Kaum macht man's richtig, schon klappts!
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#19

Re: and-Funktion

  Alt 7. Jan 2008, 16:57
Zitat von r2c2:
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.
Oder, ich finde es übersichtlicher und besser erklärt , in der DP.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:00 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz