AGB  ·  Datenschutz  ·  Impressum  







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

x not in [61,62,63]- was ist falsch?

Ein Thema von dummer_info_schüler · begonnen am 21. Jul 2004 · letzter Beitrag vom 21. Jul 2004
Antwort Antwort
dummer_info_schüler

Registriert seit: 28. Mär 2004
Ort: Cottbus
26 Beiträge
 
#1

x not in [61,62,63]- was ist falsch?

  Alt 21. Jul 2004, 19:45
Hallo!
Die Frage steht schon fast im Titel:
Ich habe diesen Programmschnipsel:
Delphi-Quellcode:
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];
es erscheint in der Zeile <until x not...> folgende Fehlermeldung:
<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!
  Mit Zitat antworten Zitat
axelf98

Registriert seit: 27. Aug 2003
Ort: Ennepetal
440 Beiträge
 
Delphi 2005 Personal
 
#2

Re: x not in [61,62,63]- was ist falsch?

  Alt 21. Jul 2004, 19:55
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];
  Mit Zitat antworten Zitat
dummer_info_schüler

Registriert seit: 28. Mär 2004
Ort: Cottbus
26 Beiträge
 
#3

Re: x not in [61,62,63]- was ist falsch?

  Alt 21. Jul 2004, 20:01
jetzt hängt er sich in ´ner endlosschleife auf...
(liegt wirklich nur an dem Teil, habe alles andere eingeklammert [bis auf <h:=20;>])
  Mit Zitat antworten Zitat
Benutzerbild von ibp
ibp

Registriert seit: 31. Mär 2004
Ort: Frankfurt am Main
1.511 Beiträge
 
Delphi 7 Architect
 
#4

Re: x not in [61,62,63]- was ist falsch?

  Alt 21. Jul 2004, 20:13
wie ist denn x vor der schleife definiert?
  Mit Zitat antworten Zitat
dummer_info_schüler

Registriert seit: 28. Mär 2004
Ort: Cottbus
26 Beiträge
 
#5

Re: x not in [61,62,63]- was ist falsch?

  Alt 21. Jul 2004, 20:14
als integer
  Mit Zitat antworten Zitat
axelf98

Registriert seit: 27. Aug 2003
Ort: Ennepetal
440 Beiträge
 
Delphi 2005 Personal
 
#6

Re: x not in [61,62,63]- was ist falsch?

  Alt 21. Jul 2004, 20:15
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;
  Mit Zitat antworten Zitat
Benutzerbild von ibp
ibp

Registriert seit: 31. Mär 2004
Ort: Frankfurt am Main
1.511 Beiträge
 
Delphi 7 Architect
 
#7

Re: x not in [61,62,63]- was ist falsch?

  Alt 21. Jul 2004, 20:19
Zitat von dummer_info_schüler:
als integer
... tschuldigung, ich meinte ist x initialisiert? wenn nicht, dann hat x irgendeinen wert, z.b. -765757632 und wenn dann noch h<21 ist, dann dauerts natürlich, bis x zu 61 hochgezählt hat....oder der zufall zuschlägt...
  Mit Zitat antworten Zitat
axelf98

Registriert seit: 27. Aug 2003
Ort: Ennepetal
440 Beiträge
 
Delphi 2005 Personal
 
#8

Re: x not in [61,62,63]- was ist falsch?

  Alt 21. Jul 2004, 20:26
Zitat von axelf98:
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;
Hab noch mal nachgedacht.. Einmal zuviel

Gruss
  Mit Zitat antworten Zitat
Benutzerbild von ibp
ibp

Registriert seit: 31. Mär 2004
Ort: Frankfurt am Main
1.511 Beiträge
 
Delphi 7 Architect
 
#9

Re: x not in [61,62,63]- was ist falsch?

  Alt 21. Jul 2004, 20:36
Zitat von ibp:
Zitat von dummer_info_schüler:
als integer
... tschuldigung, ich meinte ist x initialisiert? wenn nicht, dann hat x irgendeinen wert, z.b. -765757632 und wenn dann noch h<21 ist, dann dauerts natürlich, bis x zu 61 hochgezählt hat....oder der zufall zuschlägt...

quatsch was ich da geschrieben habe...is schon spät

kann eigentlich nicht sein das das eine endlosschleife ist..

lass dir doch mal die werte in eine liste schreiben ..
  Mit Zitat antworten Zitat
Rackergen2

Registriert seit: 13. Jul 2004
99 Beiträge
 
Delphi 7 Enterprise
 
#10

Re: x not in [61,62,63]- was ist falsch?

  Alt 21. Jul 2004, 21:46
Delphi-Quellcode:
randomize;
repeat
  if h>20 then x:=random(123) else x:=random(111);
  inc(x);
until not (x in [61..69]);
Also bei mir ist das keine Endlosschleife...

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
  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 19:55 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