Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Anfänger Frage: Wie funktionert das nochmal mit Randomize?!! (https://www.delphipraxis.net/128301-anfaenger-frage-wie-funktionert-das-nochmal-mit-randomize.html)

MiKeNNtKoiNer 27. Jan 2009 16:16


Anfänger Frage: Wie funktionert das nochmal mit Randomize?!!
 
Hallo Leute

ich kling zwar ziemlich blöd aber ich kriegs einfach nicht mehr raus!! :wall:

Ich hab mir jetzt vor kurzem Turbo Delphi 2006 runtergeladen und wollt da mit was einfachem anfangen. Da dacht ich sofort an ein blinkendes Edit-Feld, was ich schon einmal in der Schule programmiert hatte, also habe ich ein Edit-Feld und einen Timer eingefügt. Der Quelltext dazu ist der hier:

Delphi-Quellcode:
unit Unit2;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, StdCtrls;

type
  TForm2 = class(TForm)
    Timer1: TTimer;
    Edit1: TEdit;
    procedure Timer1Timer(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form2: TForm2;

implementation

{$R *.dfm}

procedure TForm2.Timer1Timer(Sender: TObject);
var r: integer;
begin
Randomize;
Random (1,16777216) := r;
edit1.color := r;
end;

end.

So oder so ähnlich hat ich das in Erinnerung. Danke für jede Hilfe, denn jedesmal wenn ich starten will kommt ein Fehlermeldung, weil es anscheinend zu viele Parameter gibt. :wiejetzt:

Mfg

craash 27. Jan 2009 16:19

Re: Anfänger Frage: Wie funktionert das nochmal mit Randomiz
 
-unsinn-

MiKeNNtKoiNer 27. Jan 2009 16:21

Re: Anfänger Frage: Wie funktionert das nochmal mit Randomiz
 
Hab ich ausprobiert aber es funktioniert net da kommt:

[Pascal Fehler] Unit2.pas(31): E2034 Zu viele Parameter
[Pascal Fataler Fehler] Project2.dpr(5): F2063 Verwendete Unit 'Unit2.pas' kann nicht compiliert werden

Genau wie vorher :wall: :wall: :wall: :coder2:

tr909 27. Jan 2009 16:23

Re: Anfänger Frage: Wie funktionert das nochmal mit Randomiz
 
Random erwartet als Parameter ein Integer (siehe Hilfe)

function Random(const ARange: Integer): Integer; overload;
In Delphi gibt Random eine Zufallszahl im Bereich 0 <= X < Range zurück. Wird der Parameter Range nicht angegeben, liefert Random einen Real-Wert im Bereich
0 <= X < 1.

Zudem solltest du Randomize nur einmal aufrufen. (z.B. im FormCreate)

Gruß
tr909

*edit*

achja, und natülrich muß es r := random(); heißen ;)
Die Variable der du einen wert zuweisen möchtest steht links.

Meflin 27. Jan 2009 16:23

Re: Anfänger Frage: Wie funktionert das nochmal mit Randomiz
 
Die Fehlermeldung sagts doch schon: Du hast bei Random zu viele Parameter angegeben.

AFAIR erwartet Random einen (Zahl zwischen 0 und Parameter) oder keinen Parameter (Zahl zwischen 0 und 1).

Das findest du abe rmit Sicherheit in deiner Delphi-Hilfe :zwinker:

Z4ppy 27. Jan 2009 16:25

Re: Anfänger Frage: Wie funktionert das nochmal mit Randomiz
 
Delphi-Quellcode:
Random (1,16777216):=r
So wies ausschaut, willst du eine Zufallszahl zwischen 1 und 16777216 erzeugen...
Random ist aber so definiert:
function Random([Range:integer]);
Du gibst also einen Parameter zu viel an ;)
So dürfte es funktionieren:
Delphi-Quellcode:
r:=floor(Random()*1677215)+1;
MfG Z4ppy

Meflin 27. Jan 2009 16:26

Re: Anfänger Frage: Wie funktionert das nochmal mit Randomiz
 
Zitat:

Zitat von Z4ppy
Delphi-Quellcode:
r:=floor(Random()*1677215)+1;

Oder auch einfach
Delphi-Quellcode:
r := random(1677215) + 1
;)

MiKeNNtKoiNer 27. Jan 2009 16:28

Re: Anfänger Frage: Wie funktionert das nochmal mit Randomiz
 
ok danke funktioniert jetzt :P :P

Z4ppy 27. Jan 2009 16:34

Re: Anfänger Frage: Wie funktionert das nochmal mit Randomiz
 
Zitat:

Zitat von Meflin
Zitat:

Zitat von Z4ppy
Delphi-Quellcode:
r:=floor(Random()*1677215)+1;

Oder auch einfach
Delphi-Quellcode:
r := random(1677215) + 1
;)

Random erzeugt doch eine Realzahl, oder irre ich mich da? Da aber eine Integer erzeugt werden soll, muss man doch noch floor, round oder ceil machen ;)

MfG Z4ppy

MiKeNNtKoiNer 27. Jan 2009 16:37

Re: Anfänger Frage: Wie funktionert das nochmal mit Randomiz
 
ok leute ich hab jetzt doch noch ne ziemlich banale frage :

wie krieg ich das edit feld größer ich kanns zwar in die länge ziehen aber nich nach unten vergrößern wenn ich dann starte is es immer standard hoch


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:10 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