AGB  ·  Datenschutz  ·  Impressum  







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

Zahlen "verteilen"

Ein Thema von Spurius · begonnen am 24. Jun 2004 · letzter Beitrag vom 25. Jun 2004
Antwort Antwort
Seite 4 von 4   « Erste     234   
Benutzerbild von Nikolas
Nikolas

Registriert seit: 28. Jul 2003
1.528 Beiträge
 
Delphi 2005 Personal
 
#31

Re: Zahlen "verteilen"

  Alt 25. Jun 2004, 21:44
- wofür hast du die erste Stringlist? Die wird gefüllt , aber nicht benutzt. Ich hab mal ein paar Sachen geändert und ich hab jetzt keine doppelten Zahlen mehr:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var {a,}b,Zahl: integer;
    Disc: boolean;
begin
disc
//List := TStringlist.Create;
List2 := TStringlist.Create;
//for a := 1 to 32 do begin List.Add(inttostr(a));

while List2.Count < 8 do
begin
Zahl := random(8); // Doppelte sind schneller zu sehen
   for b := 0 to List2.Count-1 do // !!!
   begin
        if Zahl = strtoint(List2[b]) then // !!!
        Disc := False;
   end;
if Disc = true then List2.Add(IntToStr(Zahl));
Disc := true;
end;
end;
Jetzt kannst du random(99)+1 und listcount < 100 reinschreiben und dann die Liste zerschneiden.
- warum nennst du den Boolean 'disc'??

TOX
Erwarte das Beste und bereite dich auf das Schlimmste vor.
  Mit Zitat antworten Zitat
MrKnogge

Registriert seit: 9. Jun 2003
Ort: Pforzheim
2.458 Beiträge
 
Delphi 2007 Professional
 
#32

Re: Zahlen "verteilen"

  Alt 25. Jun 2004, 22:02
Servus Toxman,

die 2. Schleife hast du für die Überprüfung auf doppelte, oder ?

Wenn dem so ist, nimm TStringList.IndexOf(zusuchenderstring), das sparrt eine schleife, und dürfte das ganze übersichtlicher machen.

Sollte letztendlich dann so aussehen:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  b, Zahl: integer;
begin
  List := TStringlist.Create;

  while List2.Count < 8 do
  begin
    Zahl := random(8);
    if List.IndexOf(IntToStr(Zahl)) = -1 then
      List2.Add(IntToStr(Zahl));
  end;
end;
@Spurius
Ja ich halte sie noch aus
Christian Bootz
Einstein ist tot, Newton ist tot,
und mir ist auch schon ganz schlecht...
  Mit Zitat antworten Zitat
Benutzerbild von Nikolas
Nikolas

Registriert seit: 28. Jul 2003
1.528 Beiträge
 
Delphi 2005 Personal
 
#33

Re: Zahlen "verteilen"

  Alt 25. Jun 2004, 22:26
@ MrKnogge
Ja.
Ich hab bis jetzt noch kaum mit Stringlists gearbeitet, kannte den Befehl nicht und hab deswegen die Schleife noch drin.
Deine Lösung sieht im Endeffekt sehr sauber aus.
Ein ganz anderer Ansatz wär ein Hier im Forum suchenunsort. Hab ich grad ausprobiert, funzt auch ganz schön.
Erwarte das Beste und bereite dich auf das Schlimmste vor.
  Mit Zitat antworten Zitat
MrKnogge

Registriert seit: 9. Jun 2003
Ort: Pforzheim
2.458 Beiträge
 
Delphi 2007 Professional
 
#34

Re: Zahlen "verteilen"

  Alt 25. Jun 2004, 22:32
Mal ne ganz andere Lösung, gute Idee
Christian Bootz
Einstein ist tot, Newton ist tot,
und mir ist auch schon ganz schlecht...
  Mit Zitat antworten Zitat
Spurius

Registriert seit: 19. Aug 2003
294 Beiträge
 
Delphi 7 Professional
 
#35

Re: Zahlen "verteilen"

  Alt 25. Jun 2004, 22:42
Also in die erste Stringlist wollte ich die Zahlen von 1-32 reinschreiben und in die zweite die 8 zufälligen Zahlen aus der ersten. Ich werd mir des morgen mal genauer anschauen.
Gruß
Spurius
  Mit Zitat antworten Zitat
Spurius

Registriert seit: 19. Aug 2003
294 Beiträge
 
Delphi 7 Professional
 
#36

Re: Zahlen "verteilen"

  Alt 25. Jun 2004, 22:48
So, habs mir doch noch schnell angeschaut.
Delphi-Quellcode:
for b := 0 to List2.Count-1 do // !!!
   begin
        if Zahl = strtoint(List2[b]) then // !!!
Daran lags denk ich. Ich versteh nicht warum man List2[b] schreiben darf. Da ist ja nichtmal ein Punkt oder sowas dazwischen.
Also nochmal vielen Dank für eure Hilfe!
Gruß
Spurius
  Mit Zitat antworten Zitat
MrKnogge

Registriert seit: 9. Jun 2003
Ort: Pforzheim
2.458 Beiträge
 
Delphi 2007 Professional
 
#37

Re: Zahlen "verteilen"

  Alt 25. Jun 2004, 22:53
list2[INDEX] entspricht list2.Strings[INDEX],
ist einfach der bequemlichkeit wegen

[edit]Nein, ich habe nichts an diesem Beitrag geändert, wer etwas anderes gesehen haben will der irrt [/edit]
Christian Bootz
Einstein ist tot, Newton ist tot,
und mir ist auch schon ganz schlecht...
  Mit Zitat antworten Zitat
Benutzerbild von Nikolas
Nikolas

Registriert seit: 28. Jul 2003
1.528 Beiträge
 
Delphi 2005 Personal
 
#38

Re: Zahlen "verteilen"

  Alt 25. Jun 2004, 22:55
Zitat von The Fine Manual:
Strings stellt die vorgegebene Eigenschaft von TStringList-Objekten dar. Der Bezeichner Strings braucht beim Zugiff auf diese Eigenschaft nicht angegeben zu werden. Die beiden folgenden Code-Zeilen sind gültige Anweisungen und führen zu demselben Ergebnis:

MyStringList.Strings[0] := ‘Das ist der erste String’;
MyStringList[0] := ‘Das ist der erste String’;
Es ist also egal ob man noch ein .strings reinschreibt.

Edit: @ MrKnogge ???
Erwarte das Beste und bereite dich auf das Schlimmste vor.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 4 von 4   « Erste     234   


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:52 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