用VisualPoxpro6.0设计一个“电脑抽奖”小软件
小程序教育
——用VisualPoxpro6.0设计一个“电脑抽奖”小软件
题外话:“啪”,打开电视机——又是电脑抽大奖,祝您好运!小弟我虽然梦想赚大钱,吃燕窝熊掌(吃保护动物可是违法的哦:)),但是对不劳而获的“大奖”可从来不敢奢望呀。可是——坐在电视银幕前看了很多很多的精彩节目后。小弟心想:何不做个“电脑抽奖”小软件Happy,Happy?家庭Party,“抽”个大奖送给老爸老妈,哄哄老人家开心;同学聚会,“抽”个大奖,把好运带给转眼就要各奔东西的亲爱的同学们,其乐无穷也!您愿意与我分享这份心情吗?那且看下文分解。
初步构想:设计一个可"抽出"一等奖1名,二等奖2名,三等奖8名的应用软件(如图1)。第一,当然是先建立包含所有记录的表(如同学录.dbf,身份证.dbf)。第二,主界面:主办单位的电话号码在银幕左上方由左至右逐渐显现(由Timer1控制),右上方放置有关合办单位的“动画”图片,如果该抽奖软件是为家庭Party设计,您可放几幅全家福照片,动画效果设置计时器Timer2实现。第三,设置计时器Timer3,记录指针自动(循环)指向在同学录.dbf所有记录,从而在编辑框Edit1中显示数字的滚动,达到随机抽取获奖者。第四,当
Click&Enter命令按钮Command1时,Timer3控件由禁用变为可用,数字开始滚动。Enter命令按钮Command2。Edit1,Edit2由蓝底黄字变为醒目的黄底红字,选中的记录就是“大奖的获得者”,并保存到Text1~3.软件还应能对获奖者人数进
行累计(Text4~6)(如图2)。抽奖活动结束后,系统应给出活动结束的提示。
有了构想,下面我们还等什么呢?赶快动手吧!:)
■表单Form1的属性:caption=电脑抽奖系统,Picture=图片的正确路径(如:"D:编程Vfpljxy29背景.bmp"),With=800,Height=560。Activate事件代码:thisform.timer3.enabled=.F.,https://www.wendangku.net/doc/397435133.html,mand2.enabled=.F.,Load事
件代码:publicnn=0。
■控件时钟timer1控制电话号码(标签label2)动态显示,属
性:interval=20*确定计时器控制的Timer事件的时间间隔,以毫秒为单位。
timer事件代码:
https://www.wendangku.net/doc/397435133.html,bel2.enabled=.t.
https://www.wendangku.net/doc/397435133.html,bel2.width=https://www.wendangku.net/doc/397435133.html,bel2.width+1
https://www.wendangku.net/doc/397435133.html,bel2.visible=.t.
endif
https://www.wendangku.net/doc/397435133.html,bel2.width=310
https://www.wendangku.net/doc/397435133.html,bel2.visible=.f.
https://www.wendangku.net/doc/397435133.html,bel2.width=1
endif
■timer2控制图片(image1)动态显示,属性:interval=60。timer事件代码: &&ifthisform.image1.picture="PathPic1.bmp"
&&thisform.image1.picture="PathPic2.bmp"
&&else
&&thisform.image1.picture="PathPic1.bmp"
&&endif
ifthisform.image1.visible=.t.
thisform.image1.visible=.f.
else
thisform.image1.visible=.t.
endif
■timer3控制滚筒(编辑框Edit1)的动态显示。属性:interval=10。timer事件代码:
ifthisform.edit1.enabled=.t.
thisform.edit1.controlsource="身份证.身份证号"
thisform.edit2.controlsource="身份证.姓名"
skip+1
thisform.refresh
endif
ifeof()
gototop
endif
■命令按钮控件command1属性:caption="开始"。
click事件代码:
https://www.wendangku.net/doc/397435133.html,mand1.enabled=.F.
https://www.wendangku.net/doc/397435133.html,mand2.enabled=.T.
thisform.edit1.forecolor=rgb(255,255,0)
thisform.edit2.forecolor=rgb(255,255,0)
thisform.edit1.backcolor=rgb(128,128,255)*淡蓝色
thisform.edit2.backcolor=rgb(128,128,255)
thisform.timer3.enabled=.T.
■命令按钮控件command2属性:caption="停止"。
https://www.wendangku.net/doc/397435133.html,mand1.enabled=.T.
https://www.wendangku.net/doc/397435133.html,mand2.enabled=.F.
thisform.timer3.enabled=.F.
thisform.edit1.forecolor=rgb(255,0,0)*红色
thisform.edit2.forecolor=rgb(255,0,0)
thisform.edit1.backcolor=rgb(255,255,0)
thisform.edit2.backcolor=rgb(255,255,0)
n=n+1
thisform.refresh
ifn=1
https://www.wendangku.net/doc/397435133.html,bel3.caption="一等奖获得者"
thisform.text1.value=thisform.edit1.value
thisform.text4.value=n
endif
if2<=nandn<=3
https://www.wendangku.net/doc/397435133.html,bel3.caption="二等奖获得者"
thisform.text2.value=thisform.edit1.value
thisform.text5.value=n-1
endif
if4<=nandn<=11
https://www.wendangku.net/doc/397435133.html,bel3.caption="三等奖获得者"
thisform.text3.value=thisform.edit1.value
thisform.text6.value=n-3
endif
ifn>=12
waitwindow"抽奖活动已经结束"+CHR(13)+"单击(恢复)重新开始"
https://www.wendangku.net/doc/397435133.html,mand1.enabled=.F.
endif
■设置标签LABEL1~12共同属性:backstyle=0,FontName=隶
书,FontBold=.T.。
★label1的属性:caption=咨询电话
FontSize=26,ForeColor=rgb(0,0,255)*深蓝色
,Height=49,Left=146,Top=31,
With=179。
★label2的属性:Caption=0779-*******,backstyle=0,FontName=隶书
,FontSize=36,ForeColor=rgb(255,255,0)*黄
色,Height=49,Left=48,Top=108,
With=307。
★label的属性3:Caption=准备开始抽奖
FontSize=20,ForeColor=rgb(255,255,0),Height=37,Left=180,Top=295,With= 169。
★label4的属性:Caption=身份证号
FontSize=16,ForeColor=rgb(0,0,255),Height=27,Left=16,Top=363,With=93。
★label5的属性:Caption=姓名
FontSize=18,ForeColor=rgb(0,0,255),Height=25,Left=21,Top=73,With=423。
★label6的属性:Caption=一等奖
FontSize=16,ForeColor=rgb(0,0,255),Height=25,Left=480,Top=335,With=69。
★label7的属性:Caption=二等奖
FontSize=16,ForeColor=rgb(0,0,255),Height=25,Left=480,Top=383,With=73。
★label8的属性:Caption=三等奖
FontSize=16,ForeColor=rgb(0,0,255),Height=25,Left=480,Top=428,With=73。
★label9的属性:Caption=合作单位
FontSize=28,ForeColor=rgb(128,64,64)*深锗色
,Height=145,Left=502,Top=36,
With=37,WordWrap=.T.。
★label10的属性:Caption=退出
FontSize=20,ForeColor=rgb(0,0,255),Height=25,Left=186,Top=500,With=59.
★label11的属性:Caption=恢复
FontSize=20,ForeColor=rgb(0,0,255),Height=25,Left=36,Top=500,With=61。
★Label12的属性:Caption=合作单位
FontSize=28,ForeColor=rgb(255,255,0),Height=145,Left=488,Top=36,With= 37。
■Image1的属性:Picture=Path位图,backstyle=0。
■设置编辑框Edit1~2的共同属性:FontName=隶
书,FontSize=20,ForeColor=rgb(0,0,
255)*黄色,backColor=rgb(128,128,255)*淡蓝色
,Height=49,Left=120,With=265,ScrollBars=0。
★Edit1:Top=353。
★Edit2:Top=413。
■设置Text1~3的共同属性:FontName=隶书
,FontSize=14,ForeColor=rgb(0,0,255),backColor=rgb(128,128,255)*淡蓝色
,Height=36,Left=605,With=188,ScrollBars=0。设置Text3~6的共同属性:With=25,High=25,left=568。
★Text1:Top=326。★Text2:Top=374。★Text3:Top=427。
★text4:Top=331。★text5:Top=379。★text6:Top=427。
完成以上的设计之后,我们即可连编成应用程序或完全脱离VisualPro数据库系统的可执行程序。大功告成,(我唱)上看下看,左看右看,原来方法这么简单……Vfp的初学者们尽可大胆地进行设计,设计出更好看的界面。“哇,我中奖啦——可惜没奖品”:)。