Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi repeat schleife (https://www.delphipraxis.net/37731-repeat-schleife.html)

schmodi 9. Jan 2005 14:23


repeat schleife
 
Hallo zusammen

Warum funktioniert das nicht:

Code:
reapet
repeat
...
until......
until not c=ID;
c und ID sind Integre Variabeln.

Gruess schmodi

Muetze1 9. Jan 2005 14:29

Re: repeat schleife
 
Moin!

Da meine Glaskugel zZ zur Eichung ist und du uns ja nicht die Fehlermeldung verrätst, vermute ich mal ganz stark, das ein Compilerfehler vorliegt. Dabei kann ich mir denken, das der Compiler Not C nimmt und versucht dabei direkt darauf einen Vergleich zu machen - dies mag er aber nicht, daher musst du es richtig klammern. Daher: nutze eine Klammer:

Delphi-Quellcode:
reapet
repeat
...
until......
until not (c=ID);
/EDIT: abgeändert. Ich habe selber schon integer negiert - war falsch ausgedrückt - ich meinte es in bezug auf die Schreibweise in Kombination des Vergleichs.

MfG
Muetze1

Oxmyx 9. Jan 2005 14:29

Re: repeat schleife
 
"not c = ID" bedeutet "(not c) = ID", und das ist etwas vollkommen anderes als "not (c = ID)". Du musst also die Klammern richtig setzen.

Oxmyx 9. Jan 2005 14:31

Re: repeat schleife
 
Zitat:

Zitat von Muetze1
[...]Dabei kann ich mir denken, das der Compiler Not C nimmt und somit keine Integervariable negieren kann um direkt darauf einen Vergleich zu machen.[..]

Doch, man kann sowohl eine Integervariable negieren als auch damit dann gleich einen Vergleich machen. Die Bedeutung ist natürlich vollkommen verdreht.

schmodi 9. Jan 2005 14:37

Re: repeat schleife
 
hallo

Die schleife sollte so nur weiter gehen wen c nicht gleich ID ist, das ist schon richtig oder?

Gruess schmodi

Muetze1 9. Jan 2005 14:42

Re: repeat schleife
 
Moin!

Zitat:

Zitat von schmodi
hallo

Die schleife sollte so nur weiter gehen wen c nicht gleich ID ist, das ist schon richtig oder?

Gruess schmodi

Bei Repeat-Until kommt nach dem Until die Abbruchbedingung, also wird die Schleife abgebrochen, wenn der Vergleich ein False ergibt. Daher wenn C nicht gleich ID ist, dann bricht die Schleife ab. Daher widerspricht es deiner Aussage...

MfG
Muetze1

schmodi 9. Jan 2005 14:57

Re: repeat schleife
 
j ja ok ich habs falsch geschriben die schleife bricht natürlich ab und der Programmtext wird weiter abgearbeitet.

Es funktioniert jetzt auch in meinem Test Program.
Vielen dank für die Hilfe.
Gruess Schmodi

100nF 9. Jan 2005 14:58

Re: repeat schleife
 
Delphi-Quellcode:
reapet
repeat
...
until......
until c<>ID;
geht es vielleicht so?

c<>ID ist doch etwa das selbe wie not c=ID... oder irre ich mich da?

Muetze1 9. Jan 2005 15:02

Re: repeat schleife
 
Moin!

Zitat:

Zitat von urbanbruhin
Delphi-Quellcode:
reapet
repeat
...
until......
until c<>ID;
geht es vielleicht so?

c<>ID ist doch etwa das selbe wie not c=ID... oder irre ich mich da?

Nein, du irrst dich nicht - es ist das selber und kommt auf's gleiche hinaus...

MfG
Muetze1

Oxmyx 9. Jan 2005 15:03

Re: repeat schleife
 
Zitat:

Zitat von urbanbruhin
Delphi-Quellcode:
reapet
repeat
...
until......
until c<>ID;
geht es vielleicht so?

c<>ID ist doch etwa das selbe wie not c=ID... oder irre ich mich da?

Delphi-Quellcode:
var
  a: Integer;
begin
  a := 10;
  if not a = 5 then MessageBox(0, '...', '...', MB_OK);
end;
Die Bedingung ist nicht wahr, es erscheint keine Messagebox.
Deshalb ist "not a = 5" nicht das selbe wie "not (a = 5)", und auch nicht das selbe wie "a <> 5".


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:58 Uhr.
Seite 1 von 2  1 2      

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