用delphi7怎么做一个抽奖程序

用delphi7怎么做一个抽奖程序,第1张

在窗体中放入label、button、timer、memo 四种类型的控件各一个:

label1--用于显示手机号码的滚动

timer1(时钟)--用于产生随机的手机号码

button1--点击即抽奖,并将获奖号码保存到memo1中

memo1--用于保存获奖手机号码

unit Unit1

interface

uses

  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

  Dialogs, StdCtrls, ExtCtrls

type

  TForm1 = class(TForm)

    Label1: TLabel

    Button1: TButton

    Timer1: TTimer

    Memo1: TMemo

  指凳  procedure Timer1Timer(Sender: TObject)

    procedure FormCreate(Sender: TObject)

    procedure Button1Click(Sender: TObject)

  private

    { Private declarations }

  public

    { Public declarations }

  end

const

n=20

a:array[1..n] of string[11]=('13607193000','13607193001',

'13607193002','13607193003','13607193004',

'13607193005','13607193006','唯码旅13607193007',

'13607193008','13607193009',

'13607193010','13607193011','13607193012',

'13607193013','13607193014',

'13607193015'模粗,'13607193016','13607193017',

'13607193018','13607193019')  

var

  Form1: TForm1

implementation

{$R *.dfm}

procedure TForm1.Timer1Timer(Sender: TObject)

var

k:integer

begin

k:=trunc(n*random+1)

  label1.Caption:=a[k]

end

procedure TForm1.FormCreate(Sender: TObject)

begin

      randomize

end

procedure TForm1.Button1Click(Sender: TObject)

begin

  memo1.Lines.Add(label1.Caption)

end

end.

//数组类型

type

Ta = array [1..6] of Integer

procedure CreateData_(var aaa : Ta)

const

Num = 2//个数根据需要定

var

bbb:array[1..Num] of integer//筛选数组

i,j,n,k: integer

s: integer

begin

bbb[1]:=2//要过滤的数值

bbb[2]:=5

randomize

//先用随机数初始化数组

for i:=1 to 6 do

begin

repeat

n:=0

aaa[i]:=1+random(33)

for s:=1 to Num do

begin

if aaa[i]=bbb[s] then n:=n+1

end

until n=0

end

//下面是关键的部分,消去相同的数敬配

{ 前面的两个for语句是先用aaa[1]同aaa[2]到aaa[30]比较看有不有重复的数接着

再用aaa[2]与aaa[3]到aaa[30]比较看有无重复,一直到aaa[29]与aaa[30]比较完毕}

for i:=1 to 5 do

begin

for j:=i+1 to 6 do

begin

if aaa[i]=aaa[j] then

begin

{下面这一部分是,如果在上面的比较过程中发现数组中有重复数字,则将重复的数重新

用随机数赋值,并且还要与这个值的前面所有值比较看是否有重复}

repeat

{注意!!这里不能直接写aaa[j]:=random(100),原因是虽然亮宽指可能这时的aaa[i]与aaa[j]

中的aaa[j]被重新赋了值,但不能保证它与巧御a[1]到a[i-1]之间的数无重复,若要实现

完全无重复,还要加如下的循环判断}

n:=0//设定的计数器,下面每发现一次重复就n+1

aaa[j]:=1+random(33)

for s:=1 to i do

begin

if aaa[j]=aaa[s] then n:=n+1

end

for s:=1 to Num do

begin

if aaa[j]=bbb[s] then n:=n+1

end

until n=0//直到n=0即无重复才跳出repeat语句.

end

end

end

begin

for i:=1 to 6 do

for j:=i+1 to 6 do

if aaa[i]>aaa[j] then

begin

k:=aaa[i]

aaa[i]:=aaa[j]

aaa[j]:=k

end

end

end

procedure TForm1.Button1Click(Sender: TObject)

var

aaa : Ta

i : Integer

begin

CreateData_(aaa)

edit1.Text:=''

//下面将数组逐个输出

for i:=1 to 6 do

edit1.Text:=edit1.Text+' '+inttostr(aaa[i])

end

朋友,想实现这些功能,任何一种通用语言都可以办到。甚至使用具有宏编程功能的一些办公软件也可以。

我建议你使用Delphi或VB。其开发工具可以使任何初学者都快速上手。并且在显示上可以优雅地实现。

另外,单就此软件而言,恐怕将不可避免地使用数据库。作为个人使用,可采用最简单的Access桌面数据库。

我想你的设计意图大概是,针对历史数据进行分析和汇总,并给出最接近裂野激中奖的一组数字。所以,除掌握开发语言外,你还必须对用于 *** 作数据库的SQL语言有一定了解。

总结:学习Delphi,Access,SQL。此三种工具在书店有大量相关书籍可供购入。最好找以“Delphi数据库编程”为核心的书。其中将会提供翔实的例程。1.编程语言和 *** 作系统:Visual c++ (vc) visual baseic vb visual foxpro delphi c++ builder powerbuidervc.net vb.netAsp.net java;Windows32 win95,win98,win2000,windows me,windows2000,windowsxp,windowNT/winntlinux,PDA/windowsCE/smartphone手机/arm/ppc2000/ppc2002pocket pc2002, ce.net掌上电脑,嵌入式设备,移动设备;

2.控件及平台:二维绘图控件、2d/3D图形控件、三维图形控件、矢量图形控件、矢量绘图控件、图形中间件、图形插件、图形浏览控件,CAD插件、CAD控件、矢量控件、GIS控件、GIS图形控件,GIS插件,图形软件开发源码,测绘控件,视频CAD,图形算法库、几何算法库、winCE图形控件 PDA图形控件,源码、免费下载、软件试用、编程资源、矢量图形软件开发,算法源码,c++源码,SmartPhone,CAD软件开发,GIS软件开发,Linux图形平台,CAD自主平台,CAD开发平台,GIS开发平台,图形软件开发引擎,IE图形控件,几何算法控件;

3.文件格式解析、文件格式转换、图形文件浏览、BMP、GIF、ICO、TGA、PCX、WBMP、WMF、EMF,JPEG、PNG、MNG、TIFF、JBIG、PNM,PPM,PGM、RAS,DXF ,DWF(4.0-6.0)、DWG(2.5-2005) 、IGS, MIF,PLT,PRN,HPGL/HPGL2、DGN(8.0), SHP, IGSAT, PS/IGES, PS/STEP, PS/VDA-FS, PS/PRO ENGINEER, PS/ACIS, PS/BOBY SHOP,QCD,SHX字体、TTF字体、SHP字体,LIN,GBR,pat,AutoCAD字体线型,mdf,dwg浏览,SVG格式;dwg2005,dwgr14,autocad2005,r14,r15,r18,2006,,GERBER RS-274X

4.资源下载:SHX字体下载,TTF字体,SHP字体,图库下载,建筑图库,电气图库,园林图库下载,dwf2dxf.exe,dwg2dxf.exe,hpgl2cad.exe,askern.dll,asocx.ocx,depend.exe,winrar.exe,winzip.exe,zip,rar,mfc42.dll

5.算法总汇:求交算法,相切,裁减,直线、圆脊迹、弧、椭圆、样条曲线、函数曲线、曲面、三维消隐、面积算法、长度计算、体积计算;点云,不规则体、三角形、找最小区域、查找最大区域、路径查找、相量、向量、矢量、单位向量、矩阵、矩阵变换,交点、切点、圆心等、解析几何、线性代数,贝赛尔曲线算法;肆袜坐标变换;

6. 图形技术汇总:Unigraphics,pro/engineer,i-deas,pkpm,3ds,3dmax,mastercam9.0,dwfsdk toolkit,PRO/E,SOLiDWORKS,AUTOCAD,Intellicad,VisualCASE,SolidEdge,UG,caxa,MDA,catia,powercad,opengl,heidi,acis,ug,microstation,opendwg,opendgn,Freetype,OpenSceneGraph,brlcad,mapinfo,arcinfo,hoops,zlib,solidedge,mdt,gdi++,directX,directdraw,directshow,计算机图形学,OdDbDatabasePtr,DWGdirect使用;

7. PDM/MRPII/ERP/OA等行业:图形文件浏览、图档管理、审图、批注图纸、权限管理、web图档管理、xml/rml批注文件 兼容Volo View Express和AutoCAD格式;数字签名等;redline,rml红线批注文件,产品数据管理,电子图纸管理


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/12557735.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2025-08-26
下一篇2025-08-26

发表评论

登录后才能评论

评论列表(0条)

    保存