Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Random Problem (https://www.delphipraxis.net/47233-random-problem.html)

Clane 8. Jun 2005 07:14


Random Problem
 
Morgen Leute

also mein src

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);

var i: integer;

begin

Randomize;

for i := 1 to strtoint(edAnzahl.text) do
  begin
    Listbox1.items.add(random(strtoint(edBis)+strtoint(EdVon)));
  end;
end;
so und jetzt das problem...

in der zeile
Zitat:

Listbox1.items.add(random(strtoint(edBis)+strtoint (EdVon)));
wird eine zufallszahl berechnet edBis is die anfangszahl und Edvon is die endzahl also von wo bis wo die zufallszahlen gehn

wenn edBis = 1 ist funktioniert das auch ganz gut aber wenn die zahl über 1 ist kommen werte von 1 und auch werte die über der endzahl heraus .. was is daran flassch oder wie kann ich das besser machen ??

MfG. PBiggi

marabu 8. Jun 2005 07:28

Re: Random Problem
 
Hallo PBiggi,

mach das besser so:
Delphi-Quellcode:
var
  iStart, iEnde, iRange: integer;
begin
  iStart := StrToInt(edVon);
  iEnde := StrToInt(edBis);
  iRange := Succ(iEnde - iStart);
  Listbox1.Items.Add(IntToStr(Random(iRange) + iStart));
end;
Grüße vom marabu

Dass man mit Add() nur Zeichenketten verarbeiten kann, habt ihr alle gemerkt und keiner sagt mir was...

Sharky 8. Jun 2005 07:31

Re: Random Problem
 
Hai PBiggi,

ich würde es so mache:
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
  Randomize; // Nur einmal im Programm aufrufen!
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  i: integer;
  zufall : integer;
  von : integer;
  bis : integer;
begin
  ListBox1.Clear;
  von := StrToInt(edVon.Text);
  bis := StrToInt(edBis.Text);
  for i := 1 to strtoint(edAnzahl.text) do
  begin
    zufall := Random (bis - von +1) + von;
    Listbox1.items.add(IntToStr (zufall));
  end;
end;
[Edit]Ups. Da ist mir marabu zuvor gekommen *g*[/edit]

Clane 8. Jun 2005 07:37

Re: Random Problem
 
Liste der Anhänge anzeigen (Anzahl: 1)
ok ich hab den src so übernommen noch an die edits .text drangehönt und das ergebnis sieht so aus ...

edit: die rede is von marabu code

Clane 8. Jun 2005 07:43

Re: Random Problem
 
... peinlich hab von und bis irgentwo vertauscht :roll:

Sharky 8. Jun 2005 07:43

Re: Random Problem
 
Zitat:

Zitat von PBiggi
... edit: die rede is von marabu code

Da er das selbe macht wie ich muss es gehen ;-)

Zeige doch mal den Code wie Du ihn jetzt hast.

Unplugged 8. Jun 2005 07:44

Re: Random Problem
 
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
Var
  x            : Integer;
begin
  Randomize;
  for x := 1 to 10 do
    ListBox1.Items.Append(IntToStr(Random(StrToInt(Edit2.Text) - StrToInt(edit1.Text)) + StrToInt(Edit1.Text)));
end;
Hab ich gerade getestet und geht 1a unter Delphi 6

Edit1 : Min
Edit2 : Max

PS: Code ist nicht besonders elegant :D

Edit: Da war wohl jemand schneller ^^

Clane 8. Jun 2005 07:48

Re: Random Problem
 
jetztiger code

Zitat:

procedure TForm1.Button1Click(Sender: TObject);
var
i: integer;
zufall : integer;
von : integer;
bis : integer;
begin
ListBox1.Clear;
von := StrToInt(edBis.Text);
bis := StrToInt(edVon.Text);
for i := 1 to strtoint(edAnzahl.text) do
begin
zufall := Random (bis - von +1) + von;
Listbox1.items.add(IntToStr (zufall));
Gauge1.progress := Gauge1.progress +1
end;
end;
dei beiden roten variablen wurden vertauscht das war der ganze fehler

Kroko1999 8. Jun 2005 08:52

Re: Random Problem
 
in der Unit
Math

Kategorie

Zufallszahlen
Delphi-Quellcode:
function RandomRange(const AFrom, ATo: Integer): Integer;

Clane 8. Jun 2005 09:11

Re: Random Problem
 
jo danke das sieht ja noch einfacher aus ;) ich werd das mal so probiern


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:49 Uhr.
Seite 1 von 2  1 2      

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