用户登录  |  用户注册
首 页商业源码原创产品编程论坛
当前位置:PB创新网文章中心编程技巧Delphi

Delphi中随机函数Random应用两则

减小字体 增大字体 作者:佚名  来源:本站整理  发布时间:2009-03-16 20:06:27
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可以只用一个(求逆反运算即可),所以该程序段还可优化精简。

Tags:

作者:佚名

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
PB创新网ourmis.com】Copyright © 2000-2009 . All Rights Reserved .
页面执行时间:25,125.00000 毫秒
Email:ourmis@126.com QQ:2322888 蜀ICP备05006790号