Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Lottogenerator ERLEDIGT! (https://www.delphipraxis.net/87434-lottogenerator-erledigt.html)

Neutral General 28. Feb 2007 18:26

Re: Lottogenerator
 
Delphi-Quellcode:
TLottozahlen = Array[0..48] of Byte;

TLotto = Class
private
  FZahlen: TLottoZahlen;
  FCount: Integer;
  procedure Delete(Index: Integer);
public
  constructor Create;
  function Ziehen: Byte;
  property Count: Integer read FCount;
  destructor Destroy; override;
end;

constructor TLotto.Create;
var i: Integer;
begin
  inherited Create;
  FCount := 49;
  for i:= 0 to 48 do
    FZahlen[i] := i+1;
end;

procedure TLotto.Delete(Index: Integer);
begin
  System.Move(FZahlen[Index + 1], FZahlen[Index],
      (FCount - Index) * SizeOf(Byte));
  dec(FCount);
end;

function TLotto.Ziehen: Byte;
var x: Integer;
begin
  x := random(FCount);
  Result := FZahlen[x];
  Delete(X);
end;

destructor TLotto.Destroy;
begin
  inherited Destroy;
end;
Aufrufen:

Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
  randomize;
  Lotto := TLotto.Create;
end;

procedure TForm1.Button1Click(Sender: TObject);
var i: Integer;
begin
  for i:= 1 to 6 do
    Memo1.Lines.Add(IntToStr(Lotto.Ziehen));
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
  Lotto.Free;
end;
So könnte man es auch machen ;)

Gruß
Neutral General

PhilPhil 28. Feb 2007 18:28

Re: Lottogenerator
 
Danke Danke an alle!


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:18 Uhr.
Seite 2 von 2     12   

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