![]() |
x not in [61,62,63]- was ist falsch?
Hallo!
Die Frage steht schon fast im Titel: Ich habe diesen Programmschnipsel:
Delphi-Quellcode:
es erscheint in der Zeile <until x not...> folgende Fehlermeldung:
repeat
if h>20 then x:=random(123) else x:=random(111); inc(x); until x not in [61,62,63,64,65,66,67,68,69]; <missing operator or semicolon> Wo ist der Fehler??? Ich hätte die kleine Vermutung, dass es was mit dem <not in> zu tun hat, weil der Cursor beim <not> stand, aber über die Suchfunktion kriege ich hier nichts raus, weil die <not>, <and> und <or> schon anders belegt hat. Danke im Voraus! |
Re: x not in [61,62,63]- was ist falsch?
Versuchs mal so:
Delphi-Quellcode:
repeat
if h>20 then x:=random(123) else x:=random(111); inc(x); until not x in [61,62,63,64,65,66,67,68,69]; |
Re: x not in [61,62,63]- was ist falsch?
jetzt hängt er sich in ´ner endlosschleife auf... :-(
(liegt wirklich nur an dem Teil, habe alles andere eingeklammert [bis auf <h:=20;>]) :?: |
Re: x not in [61,62,63]- was ist falsch?
wie ist denn x vor der schleife definiert?
|
Re: x not in [61,62,63]- was ist falsch?
als integer
|
Re: x not in [61,62,63]- was ist falsch?
Versuch dann mal das hier:
(Irgendwas war mit der Abbruchbedingung nicht in Ordnung...)
Delphi-Quellcode:
while true do
begin if h > 20 then x:=random(123) else x:=random(111); inc(x); if (x > 69) OR (x < 61) then break; end; |
Re: x not in [61,62,63]- was ist falsch?
Zitat:
|
Re: x not in [61,62,63]- was ist falsch?
Zitat:
Gruss :hi: |
Re: x not in [61,62,63]- was ist falsch?
Zitat:
quatsch was ich da geschrieben habe...is schon spät :mrgreen: kann eigentlich nicht sein das das eine endlosschleife ist.. lass dir doch mal die werte in eine liste schreiben .. |
Re: x not in [61,62,63]- was ist falsch?
Delphi-Quellcode:
Also bei mir ist das keine Endlosschleife...
randomize;
repeat if h>20 then x:=random(123) else x:=random(111); inc(x); until not (x in [61..69]); Der Fehler lag wohl in der not-Bedingung... Denn: not bindet stärker als in und wird zuerst ausgeführt... aus 64 wird z.B. -65, wobei dann natürlich keine Zahl in die Bedingung passt. Wenn du aber Klammern setzt, wird erst auf in geprüft und dann der entstehende wert ge-not-ed |
Alle Zeitangaben in WEZ +1. Es ist jetzt 15: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