Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Boolesche Operatoren (https://www.delphipraxis.net/106604-boolesche-operatoren.html)

klaus33 13. Jan 2008 21:39


Boolesche Operatoren
 
Wie kann ich diese zwei Bedingungen mit AND verknüpfen
Delphi-Quellcode:
while StrtoFloat(memo2.Lines[0])<0  and StrtoFloat(LStatus.Caption)<0 do
begin
memo3.Clear;

end;
[edit=SirThornberry]Delphi-Tags gesetzt - Mfg, SirThornberry[/edit]

fwsp 13. Jan 2008 21:40

Re: Boolesche Operatoren
 
Delphi-Quellcode:
while (StrtoFloat(memo2.Lines[0]) < 0) and (StrtoFloat(LStatus.Caption) < 0) do
indem du sie vernünftig klammerst^^

DeddyH 13. Jan 2008 21:42

Re: Boolesche Operatoren
 
Hallo Klaus, würdest Du künftig bitte die Delphi-Tags benutzen? Das kannst Du entweder über die Schaltfläche "Delphi-Code" oder mit den Tags [ delphi] und [ /delphi] (ohne Leerzeichen).

klaus33 13. Jan 2008 22:41

Re: Boolesche Operatoren
 
Ich habe es versucht und mein prozedur stürzt ab
ich muss es abbrechen

SirThornberry 13. Jan 2008 22:43

Re: Boolesche Operatoren
 
stürzt ab? Was ist die genaue Fehlermeldung? Meist sagt diese schon aus welcher Fehler vorliegt.

klaus33 13. Jan 2008 22:46

Re: Boolesche Operatoren
 
Es sagt keine Fehlrmeldung aus sondern das ganze Programm stürzt ab, sodass ich nichts machen kann

rawsoul 13. Jan 2008 22:52

Re: Boolesche Operatoren
 
Zeig doch mal den gesamten Quelltext der schuldigen Prozedur/Funktion.

Dunkel 13. Jan 2008 22:57

Re: Boolesche Operatoren
 
Ich vermute mal, dass Du keine kopfgesteuerte Schleife sondern eine einfache Abfrage haben möchtest, probier es mal mit IF..THEN statt mit WHILE.

klaus33 13. Jan 2008 23:10

Re: Boolesche Operatoren
 
Es tut mir leid dass es so lang gedauert hat


Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
while (Edit1.Text = '0') and (Edit1.Text= '0') do
memo1.Visible:=false;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
Edit1.Text:='0';
Edit2.Text:='0';
end;

klaus33 13. Jan 2008 23:11

Re: Boolesche Operatoren
 
Wie mache ich das mit der if Schleife

klaus33 13. Jan 2008 23:12

Re: Boolesche Operatoren
 
Zeig mir zuerst das mit der while schleife

inherited 13. Jan 2008 23:19

Re: Boolesche Operatoren
 
Delphi-Quellcode:
while (Edit1.Text = '0') and (Edit1.Text= '0') do
memo1.Visible:=false;
Das ist das Problem. Sobald er die while-schleife betritt hängt er dort bis sich was an Edit1.text ändert. Diese änderung bekommt er aber garnicht mit weil er eben in der Schleife hängt und deshalb nicht auf messages reagiert.
Eine Lösungsmöglichkeit: Du machst das ganze mit einem Timer oder im OnKey*, OnChange-Ereigniss des Edits.
(Btw: Es gibt keine "if-schleifen"...)

klaus33 13. Jan 2008 23:20

Re: Boolesche Operatoren
 
kannst du mir ein Beispiel schicken ich hab keinen Plan wie ich das machen soll

Dunkel 13. Jan 2008 23:22

Re: Boolesche Operatoren
 
IF..THEN-Abfrage, keine(!!!) Schleife:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
  if (Edit1.Text = '0') and (Edit1.Text= '0') then
    memo1.Visible:=false;
end;
WHILE..DO ist für Deine Zwecke nicht geeignet! Trotzdem mal ein Beispiel:
Delphi-Quellcode:
var
  i: byte;
begin
  i:= 0;
  while i< 10 do
    Inc(i);
end;
Ganz wichtig ist, dass sich die Bedingungen der kopfgesteuerten Schleife in der Schleife selber (oder in einer globalen Variable von außerhalb) ändern muss, ansonsten läuft diese Schleife bis zum Stack-Überlauf, was bei Deiner Version der Fall ist.

inherited 13. Jan 2008 23:24

Re: Boolesche Operatoren
 
[OT]Warum sollte es bei einer Endlosschleife zu einem Stacküberlauf kommen? :gruebel:[/OT]

klaus33 13. Jan 2008 23:26

Re: Boolesche Operatoren
 
Wie würde es dann mit der if schleife aussehen

Dunkel 13. Jan 2008 23:26

Re: Boolesche Operatoren
 
Zitat:

Zitat von inherited
[OT]Warum sollte es bei einer Endlosschleife zu einem Stacküberlauf kommen? :gruebel:[/OT]

:wall: Das frage ich mich in der Tat auch gerade... Ist schon spät, gute Nacht! :stupid:

Dunkel 13. Jan 2008 23:26

Re: Boolesche Operatoren
 
Zitat:

Zitat von klaus33
Wie würde es dann mit der if schleife aussehen

Es gibt keine IF-Schleifen!

klaus33 13. Jan 2008 23:27

Re: Boolesche Operatoren
 
wie würde es dann mit der if schleife aussehen

Muetze1 14. Jan 2008 00:10

Re: Boolesche Operatoren
 
Zitat:

Zitat von klaus33
wie würde es dann mit der if schleife aussehen

Es gibt keine If-Schleifen! Von wievielen Nutzern willst du das noch hören, bis du es glaubst?

Und die Lösung die du wohl eigentlich haben willst, wurde schon gepostet!

Sergej 14. Jan 2008 02:30

Re: Boolesche Operatoren
 
Zitat:

Zitat von klaus33
wie würde es dann mit der if schleife aussehen

Zitat:

Zitat von Dunkel
Zitat:

Zitat von klaus33
Wie würde es dann mit der if schleife aussehen

Es gibt keine IF-Schleifen!

Zitat:

Zitat von klaus33
wie würde es dann mit der if schleife aussehen

Troll?

<°)))o><

DeddyH 14. Jan 2008 07:21

Re: Boolesche Operatoren
 
Schreib doch spaßeshalber mal ins OnChange der Edits
Delphi-Quellcode:
procedure TForm1.Edit1Change(Sender: TObject);
begin
  Memo1.Visible := (Edit1.Text <> '0') and (Edit2.Text <> '0');
end;
[edit] P.S.: http://www.if-schleife.de/ [/edit]


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:27 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