AGB  ·  Datenschutz  ·  Impressum  







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

Fehler bei if <> Klausel

Ein Thema von nixalsverdruss · begonnen am 18. Jan 2009 · letzter Beitrag vom 18. Jan 2009
Antwort Antwort
nixalsverdruss

Registriert seit: 22. Nov 2008
128 Beiträge
 
Delphi 2005 Personal
 
#1

Fehler bei if <> Klausel

  Alt 18. Jan 2009, 10:45
Hallo,

warum funktioniert das:

Delphi-Quellcode:
procedure TForm2.Edit1Change(Sender: TObject);
begin
if (edit1.Text<>'s') or (edit1.Text<>' ') then
begin
beep;
ShowMessage ('Da geht´s nicht lang!!!');
end;
end;
nicht?

Es soll also die Message gezeigt werden wenn im editfeld nicht s oder ' ' steht. Aber die Meldung wird schon angezeigt, auch wenn ich 's' eintrag...warum?
Danke schon mal im Voraus
nixalsverdruss
Goldene Regel: Was man an Kraft spart, kann man an Faulheit zusetzen!
  Mit Zitat antworten Zitat
Benutzerbild von Die Muhkuh
Die Muhkuh

Registriert seit: 21. Aug 2003
7.332 Beiträge
 
Delphi 2009 Professional
 
#2

Re: Fehler bei if <> Klausel

  Alt 18. Jan 2009, 10:47
Naja, wenn Du ein 's' einträgst, ist der Text ja ungleich ' ', also ist die Abfrage true und er springt in die If-Abfrage rein.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#3

Re: Fehler bei if <> Klausel

  Alt 18. Jan 2009, 10:48
Soll heißen, die Bedingung ist immer wahr
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
nixalsverdruss

Registriert seit: 22. Nov 2008
128 Beiträge
 
Delphi 2005 Personal
 
#4

Re: Fehler bei if <> Klausel

  Alt 18. Jan 2009, 10:51
achso...und kann man das irgendwie anders lösen...?
Goldene Regel: Was man an Kraft spart, kann man an Faulheit zusetzen!
  Mit Zitat antworten Zitat
Benutzerbild von Meflin
Meflin

Registriert seit: 21. Aug 2003
4.856 Beiträge
 
#5

Re: Fehler bei if <> Klausel

  Alt 18. Jan 2009, 10:52
Zitat von nixalsverdruss:
Es soll also die Message gezeigt werden wenn im editfeld nicht s oder ' ' steht. Aber die Meldung wird schon angezeigt, auch wenn ich 's' eintrag...warum?
Du hast den Code im OnChange des EditFeldes. Das heißt er wird sofort ausgeführt, wenn du einen Buchstaben eingibst. Wie DeddyH schon sagte, ist dann zwangsläufig die Bedingung imme rerfüllt. Vermutlich willst du aber diese Bedingung nicht bei jeder Eingabe, sondern nur an einer ganz bestimmten Stelle überprüfen.

Ich vemrute also, dass dein Code einfach im falschen Event steht
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: Fehler bei if <> Klausel

  Alt 18. Jan 2009, 10:54
Natürlich kann man das. 2 Möglichkeiten: if not (Bedingung1 or Bedingung2) then oder if Bedingung1 and Bedingung2 then Such Dir was aus und setze es um, dann siehst Du' s.

[edit] @Meflin: wenn ich 2 Bedingungen verodere, die sich gegenseitig ausschließen, bekomme ich immer true, das hat mit dem Event ja nix zu tun. [/edit]
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
nixalsverdruss

Registriert seit: 22. Nov 2008
128 Beiträge
 
Delphi 2005 Personal
 
#7

Re: Fehler bei if <> Klausel

  Alt 18. Jan 2009, 10:57
Ah ja ich probiers mal
danke für eure mühe
Goldene Regel: Was man an Kraft spart, kann man an Faulheit zusetzen!
  Mit Zitat antworten Zitat
Benutzerbild von Meflin
Meflin

Registriert seit: 21. Aug 2003
4.856 Beiträge
 
#8

Re: Fehler bei if <> Klausel

  Alt 18. Jan 2009, 11:02
Zitat von DeddyH:
@Meflin: wenn ich 2 Bedingungen verodere, die sich gegenseitig ausschließen, bekomme ich immer true, das hat mit dem Event ja nix zu tun.
Ach ja, stümmt

OK, die Bedingungen sind einfach doof
  Mit Zitat antworten Zitat
Antwort Antwort


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:56 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