AGB  ·  Datenschutz  ·  Impressum  







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

Wert aus Array entfernen

Ein Thema von Walgo · begonnen am 1. Mär 2008 · letzter Beitrag vom 2. Mär 2008
 
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.660 Beiträge
 
Delphi 12 Athens
 
#7

Re: Wert aus Array entfernen

  Alt 1. Mär 2008, 22:33
Also, ich würde das nach wie vor über eine Menge lösen (lbZiehung ist eine ListBox):
Delphi-Quellcode:
procedure TFrmLotto.FormCreate(Sender: TObject);
begin
  Randomize;
end;

procedure TFrmLotto.btnZiehungClick(Sender: TObject);
var Kugeln: set of byte;
    i, Zufall: byte;
begin
  lbZiehung.Items.BeginUpdate;
  try
    lbZiehung.Items.Clear;
    Kugeln := [1..49];
    for i := 0 to 5 do
      begin
        Zufall := Random(49) + 1;
        while not (Zufall in Kugeln) do
          Zufall := Random(49) + 1;
        Exclude(Kugeln, Zufall);
        lbZiehung.Items.Add(IntToStr(Zufall));
      end;
  finally
    lbZiehung.Items.EndUpdate;
  end;
end;
Allerdings ist die ListBox unsortiert, aber ein bisschen Arbeit soll ja auch noch bleiben, gell?

[edit] Und hier die Version mit einer Fußschleife:
Delphi-Quellcode:
procedure TFrmLotto.FormCreate(Sender: TObject);
begin
  Randomize;
end;

procedure TFrmLotto.btnZiehungClick(Sender: TObject);
var Kugeln: set of byte;
    i, Zufall: byte;
begin
  lbZiehung.Items.BeginUpdate;
  try
    lbZiehung.Items.Clear;
    Kugeln := [1..49];
    for i := 0 to 5 do
      begin
        repeat
          Zufall := Random(49) + 1;
        until Zufall in Kugeln;
        Exclude(Kugeln, Zufall);
        lbZiehung.Items.Add(IntToStr(Zufall));
      end;
  finally
    lbZiehung.Items.EndUpdate;
  end;
end;
@Appolonius: Zur Strafe schreibst Du die nächsten 3 Programme in vi, damit Du weißt, was ich hier durchmache (ich kämpfe hier mehr mit der IDE, als meinen Gedankengang zu Ende zu bringen [/edit]
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
 


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