Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Schleife in die editausgabe prozedur (https://www.delphipraxis.net/5968-schleife-die-editausgabe-prozedur.html)

HappyTreeFriend 24. Jun 2003 20:55


Schleife in die editausgabe prozedur
 
So jetzt hab ich nen neuen Threat aufgemacht! :)

Ich muss mit meinem Kumpel ein Projekt für den Informatik LK schreiben, da brauche nwir manchmal etwas hilfe .


Aber jetzt mal zu deinem Algorithmus!
zur erinnerung:
Code:
procedure delay(msec:longint);
var
  start,stop:longint;
begin
  start := gettickcount;
  repeat
  stop := gettickcount;
  application.processmessages;
  until (stop - start ) >= msec;
end;

procedure TForm1.Button2Click(Sender: TObject);
var i:integer;
begin
for i:=1 to 5 do
  Edit1.Text := IntToStr(i);
  Delay(500);
  Edit1.Text :=IntToStr(i);
  Delay(500);
  Edit1.Text := IntToStr(i);
end;

Das funzt schonmal !!

Jetzt noch eine frage:
Wie kann ich denn jetzt da nen gescheiten "random zähler" einbauen.
Also dass er mir random zahlen in dem editfeld ausgibt

müsste doch theoretischerweise so gehen
Code:

var i:integer;
begin
randomize;
i:=random(10);
{schleife} 
.
.
edit1.text:=IntToStr(i);
delay(500);
{schleife} 
end;

wie bau ich denn da ne geeignete schleife ein?
Ich mag eben dass in einem Editfeld eine kurze Zeit lang gaaanz viele verschiedene zahlen ganz schnell wechseln, so wie in einer slotmachine (einfach gesagt :) )

Danke nochmal

ciao
Happy

PS: Das mit den Buttons klappt auch prima!!

Daniel B 24. Jun 2003 21:01

Hallo,
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
  Randomize;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  iFor: Integer;
begin
  Edit1.Text := IntToStr(Random(9));
  Sleep(250);
  Application.ProcessMessages;
  for iFor := 0 to 9 do
  begin
    Sleep(250);
    Edit1.Text := Edit1.Text + IntToStr(Random(9));
    Application.ProcessMessages;
  end;
end;
Grüsse, Daniel :hi:

Luckie 24. Jun 2003 21:01

Delphi-Quellcode:
procedure delay(msec:longint);
var
  start,stop:longint;
begin
  start := gettickcount;
  repeat
  stop := gettickcount;
  application.processmessages;
  until (stop - start ) >= msec;
end;

function GetRandomNumber: Integer;
begin
  result := Radom(10);
end;

procedure TForm1.Form1OnCreate(Sender: TObject);
begin
  Randomize();
end;

procedure TForm1.Button2Click(Sender: TObject);
var i:integer;
begin
for i:=1 to 5 do
  Edit1.Text := IntToStr(GetRandomNumber);
  Delay(500);
  Edit1.Text :=IntToStr(GetRandomNumber);
  Delay(500);
  Edit1.Text := IntToStr(GetRandomNumber);
end;

HappyTreeFriend 24. Jun 2003 21:17

also Daniel deins geht schonma wie gewünscht! Super Danke!!

Luckie deins probier ich auch gleich mal, aber das macht das selbe in etwa oder?:)

danke auch dir!

:spin:


Wirklich klasse!
:)

Luckie 24. Jun 2003 23:15

Ohne zu testen aus dem Kopf ins Forum gehackt. Es sollte zu mindest nach meinen Vorstellungen der Aufgabenstellung gerecht werden.

Daniel B 25. Jun 2003 11:47

Hallo,
Zitat:

Zitat von Luckie
Delphi-Quellcode:
function GetRandomNumber: Integer;
begin
  result := Radom(10);
end;

procedure TForm1.Form1OnCreate(Sender: TObject);
begin
  Randomize();
end;

Delphi-Quellcode:
function GetRandomNumber: Integer;
begin
  result := Radom(10); //Hier wohl Random
end;

procedure TForm1.Form1OnCreate(Sender: TObject); //Hier wohl nur Form1Create
begin
  Randomize(); //Hier wohl ohne die ()
end;
Grüsse, Daniel :hi:

Luckie 25. Jun 2003 11:49

Nein, die "()" sind optional in Delphi im Gegensatz zu C wo bei einer Funktion ohne Parameter trotzdem die "()" gesetzt werden müssen. ich versuche aber trotzdem daran zu denken, sie zu setzten, weil ich dann weniger Fehler in C mache.


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