AGB  ·  Datenschutz  ·  Impressum  







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

Lotto HILFE´!!!

Ein Thema von school- delphi · begonnen am 9. Dez 2004 · letzter Beitrag vom 18. Dez 2004
Antwort Antwort
Seite 2 von 4     12 34      
school- delphi

Registriert seit: 9. Dez 2004
13 Beiträge
 
#11

Re: Lotto HILFE´!!!

  Alt 9. Dez 2004, 10:42
hallo
danke für eure antworten

also ich hänge and der stelle mit until not und an dieser komischen menge und wenn ich den quellcode so durchlaufen lasse kommt nur eine zahl in der listbox.

sorry, dass ich wahrscheinlich mich richtig unprofessionell anhöre, aber bin echt überfordert momentan- schulstress/abistress

grüße
lisa
  Mit Zitat antworten Zitat
Benutzerbild von fiasko
fiasko

Registriert seit: 10. Dez 2002
Ort: Dresden
506 Beiträge
 
#12

Re: Lotto HILFE´!!!

  Alt 9. Dez 2004, 10:46
Zitat von school- delphi:
also ich hänge and der stelle mit until not und an dieser komischen menge und wenn ich den quellcode so durchlaufen lasse kommt nur eine zahl in der listbox.
Also entweder hast du nicht allen Code gepostet... ich sehe jedenfalls kein until dort oben! Das nur ein Wert dort reinkommt ist klar, du willst doch sicher das das ListBox.Add mit in die for-Schleife kommt? Dann bekommst du auch 6 Werte.
Thomas Liske
Posts comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
  Mit Zitat antworten Zitat
Benutzerbild von Treffnix
Treffnix

Registriert seit: 25. Jun 2003
Ort: AC
740 Beiträge
 
Delphi 7 Professional
 
#13

Re: Lotto HILFE´!!!

  Alt 9. Dez 2004, 10:54
Fangen wir mal an:

for.. Do führt nur die nächste Anweisung in Schleife aus. Wenn du mehrere Anweisungen ausführen willst, musst du es in Begin..End kapseln
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var i,y: integer;
begin
i:= 0; // unnötig bei For-Schleifen
for i:= 1 to 6 DO
Y:= random(49)+1; // hier läuft dein Programm 6 mal lang ( für i von 1 - 6 )
ListBox1.Items.Add(inttostr(y));// erst anschliessend läuft dein Programm hierhin und schreibt das letzte y in die Box
end;

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var i,y: integer;
begin
  for i:= 1 to 6 DO
  Begin
    Y:= random(49)+1;
    ListBox1.Items.Add(inttostr(y));
  End;
end;
So hätteste zumindest schonmal alle Zahlen in der Box. Allerdings benutzt du dein Set ja gar nicht und hast somit auch keine Prüfung auf doppelte Zahlen.
  Mit Zitat antworten Zitat
school- delphi

Registriert seit: 9. Dez 2004
13 Beiträge
 
#14

Re: Lotto HILFE´!!!

  Alt 9. Dez 2004, 10:59
hallo,

schon mal vielen vielen Dank vor allem für die letzte Antwort, die hat mich schon mal sehr weitergebracht.

Nur stellt sich jetzt noch die frage
wie man das überprüfen kann (until not); dass man nicht zweimal die gleiche erzeugt.


Vielen Dank nochmal
und schöne baldige Weihnachten
Viele Grüße
Lisa
  Mit Zitat antworten Zitat
Benutzerbild von Treffnix
Treffnix

Registriert seit: 25. Jun 2003
Ort: AC
740 Beiträge
 
Delphi 7 Professional
 
#15

Re: Lotto HILFE´!!!

  Alt 9. Dez 2004, 11:03
Dafür ist wohl das Set gedacht.

Guck dir mal in der Delphi-Hilfe den Begriff Delphi-Referenz durchsuchenMengentypen an, wenn ihr das noch nicht im Unterricht hattet.
  Mit Zitat antworten Zitat
Benutzerbild von fiasko
fiasko

Registriert seit: 10. Dez 2002
Ort: Dresden
506 Beiträge
 
#16

Re: Lotto HILFE´!!!

  Alt 9. Dez 2004, 11:04
oder schau einfach nach, ob die Zahl schon in der ListBox steht, also sowas der Art:

Delphi-Quellcode:
repeat
  Y:=random(49)+1;
until ListBox1.Items.IndexOf(IntToStr(y))=-1;
(ungetestet, da grad kein Delphi zu Hand)
Thomas Liske
Posts comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
  Mit Zitat antworten Zitat
school- delphi

Registriert seit: 9. Dez 2004
13 Beiträge
 
#17

Re: Lotto HILFE´!!!

  Alt 9. Dez 2004, 11:06
Hallo,

also erstmal klappt das jetzt, dass wenigstens 6 Zahlen in der Listbox erscheinen- dafür bin ich unendlich froh. Jetzt könnte man ja die for schleife in repeat until umändern.

begin
for i:= 1 to 6 DO
repeat
Y:= random(49)+1;
ListBox1.Items.Add(inttostr(y));
until not lottozahl= y;
end;

Die rote zeile funktioniert ja nicht, aber so in der art glaube ich sollten wir das machen. Desweiteren haben wir noch aufgeschrieben verschiedene mengenoperationen, wie differenzmenge und so, aber weiß nicht ob das was damit zu tun hat.


Vielen Dank euch allen nochmal
Lisa
  Mit Zitat antworten Zitat
school- delphi

Registriert seit: 9. Dez 2004
13 Beiträge
 
#18

Re: Lotto HILFE´!!!

  Alt 9. Dez 2004, 11:08
hallo,

also wenn man das so versucht- klappts leider nicht--- unendlich viele zahlen in der listbox erscheinen dann.

begin
for i:= 1 to 6 DO
repeat
Y:= random(49)+1;
ListBox1.Items.Add(inttostr(y));
until not ListBox1.Items.IndexOf(IntToStr(y))=-1;
end;

danke!
grüße
lisa
  Mit Zitat antworten Zitat
Benutzerbild von Treffnix
Treffnix

Registriert seit: 25. Jun 2003
Ort: AC
740 Beiträge
 
Delphi 7 Professional
 
#19

Re: Lotto HILFE´!!!

  Alt 9. Dez 2004, 11:11
1. Benutz für Quellcode bitte die [delphi] Tags ( oder den Button Delphi-Code ). Ist einfach lesbarer.
2. Ja, das geht mit den Mengen. Darum sag ich ja schau mal in der Hilfe nach. In sets kannst du mit + Werte hinzufügen mit - entfernen und mit <Wert> in <Set> kannst du abfragen, ob der Wert schon in der Menge ( der Lottozahlen ) enthalten ist
  Mit Zitat antworten Zitat
Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#20

Re: Lotto HILFE´!!!

  Alt 9. Dez 2004, 11:11
Hallo Lisa,

erstmal verwende bitte die [ delphi] [ /delphi]-Tags (ohne Leerzeichen), dann kann man den Code auch vernuenftig lesen.
Zum Problem: Der Code den du gepostet hast ist falsch. Du willst ja keine Zahl doppelt haben. Nachdem du kein Set benutzt, musst du es so machen wie Fiasko gesagt hat:
Delphi-Quellcode:
for i:= 1 to 6 do
begin
  repeat
    Y:=random(49)+1;
  until ListBox1.Items.IndexOf(IntToStr(y))=-1;
  ListBox1.Items.Add(inttostr(y));
end;
Nun die Erklaerungen:
wir machen das Ganze 6 mal, wie bereits gehabt. Anstatt aber nun die Zahl zu suchen, und dann hinzuzufuegen, suchen wir nun bis dir Zahl nicht mehr in der ListBox ist. Dies erledigt der Befehl ListBox1.Items.IndexOf (Delphi-Referenz durchsuchenIndexOf). Wird das Element nicht gefunden, so liefert die Funktion -1 zurueck. In dem Fall fuegen wir die Zahl der Liste hinzu, ansonsten suchen wir weiter.

Greetz
alcaeus
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 4     12 34      


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 00:01 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