设为首页收藏本站

Delphi乐园 开发者的家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

Delphi中随机函数Random应用两则

发布者: admin | 发布时间: 2012-12-7 22:49| 查看数: 2069| 评论数: 1|帖子模式

1. 自动随机出题   你也许有这样的经历:孩子刚上学,数学老师要你每天给出10或者20道算术题,作为你孩子的家庭作业,你是否有点烦?别着急,电脑可帮你忙! 在Delphi中,有一随机函数,是这样定义的:function Random [ ( Range: Integer) ];其中,参数Range为一整数,该函数返回值也为整数,其范围为:0< =Random(Range)< Range   (指定Range)0< =Random< 1   (不带参数Range)  下面的过程for循环里第一条语句:在屏幕上输出九九表内乘法的随机题;第二条语句:在屏幕上输出一百以内的加法随机题。稍加修改,增加一些条件语句你即可得到得减法、除法及四则混合运算的随机题。当然,你也可以直接将结果输出在打印机的画布(Canvas)上,打印给你的孩子做。 procedure TForm1.Button1Click(Sender: TObject);varI: Integer;beginRandomize;for I := 1 to 10 do beginCanvas.TextOut(20,I*20,IntToStr(Random(9)+1)+'×'+IntToStr(Random(9)+1)+'=');Canvas.TextOut(220,I*20, IntToStr(Random(100))+'+'+IntToStr(Random(100))+'=');end;end;  2. 随机产生体育彩票号码   时下彩票在全国范围内风行,朋友们买彩票都嫌挑选号码较为头痛,要求我在电脑上想点办法。我想这无非是产生随机数,于是用Delphi的随机函数Random编写了一段程序,具体实现方法见如下程序(SportUnit.pas)。 unit SportUnit;interfaceusesWindows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,StdCtrls, Buttons, ExtCtrls;typeTForm1 = class(TForm)Label1: TLabel;Label2: TLabel;Label3: TLabel;Label4: TLabel;Label5: TLabel;Label6: TLabel;Label7: TLabel;//以上用于放置七位号码BitBtn1: TBitBtn;BitBtn2: TBitBtn;BitBtn3: TBitBtn;Timer1: TTimer;Label8: TLabel;Timer2: TTimer;procedure BitBtn1Click(Sender: TObject);procedure BitBtn2Click(Sender: TObject);procedure Timer1Timer(Sender: TObject);procedure BitBtn3Click(Sender: TObject);procedure Timer2Timer(Sender: TObject);private{ Private declarations }public{ Public declarations }end;varForm1: TForm1;implementation{$R *.DFM}procedure TForm1.BitBtn1Click(Sender: TObject);begintimer1.Enabled:=True;timer2.Enabled:=True;end;procedure TForm1.BitBtn2Click(Sender: TObject);begintimer1.Enabled:=false;timer2.Enabled:=false;end;procedure TForm1.Timer1Timer(Sender: TObject);beginRandomize;Label1.Caption:=IntToStr(Random(10));Label2.Caption:=IntToStr(Random(10));Label3.Caption:=IntToStr(Random(10));Label4.Caption:=IntToStr(Random(10));Label5.Caption:=IntToStr(Random(10));Label6.Caption:=IntToStr(Random(10));//随机产生0-9整数Label7.Caption:=IntToStr(Random(5));//随机产生0-4整数,第七位为特别号Application.ProcessMessages;//处理Windows消息,属简单多线程end;procedure TForm1.BitBtn3Click(Sender: TObject);beginclose;end;procedure TForm1.Timer2Timer(Sender: TObject);beginLabel8.Caption:=FormatDateTime('yyyy"年"m"月"d"日"dddd',date)+'   '+TimeToStr(time);end;end.  此程序段中的定时器Timer2只为显示时间秒而定义,按钮 BitBtn1和 BitBtn2可以只用一个(求逆反运算即可),所以该程序段还可优化精简。

最新评论

空间、域名、优惠稳定。香港空间1元,美国2元。

手机版|Delphi乐园 ( 冀ICP备11023363号-7 )    

GMT+8, 2016-10-23 02:24

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

公网安备 14090202000504号

回顶部