用vb编一个抽奖软件的源代码.docx
- 文档编号:29208224
- 上传时间:2023-07-21
- 格式:DOCX
- 页数:35
- 大小:28.29KB
用vb编一个抽奖软件的源代码.docx
《用vb编一个抽奖软件的源代码.docx》由会员分享,可在线阅读,更多相关《用vb编一个抽奖软件的源代码.docx(35页珍藏版)》请在冰豆网上搜索。
用vb编一个抽奖软件的源代码
求用vb编一个抽奖软件的源代码
悬赏分:
20-解决时间:
2008-4-1522:
47
要求:
1.点击‘开始’从text或excel文件中依次调用每一行的电话号码,滚动显示在界面上,点击‘停止‘则停在某一个电话上即可
2.请带一些语句说明最好
问题补充:
这位前辈是不是将input写成了inpue,
whilenot(eof(#1))总是提示错误
我是个vb小白,能不能说明白点,需要几个控键分别叫啥名字,语句能不能更完整些,谢谢
开始和停止为同一个键也可以
提问者:
qvxiaogang-试用期一级
最佳答案
dimi
窗口启动:
i=0
OpenApp.Path&"\电话号码.txt"ForInputAs#1
whileeof
(1)=false
LineInput#1,a
List1.AddItema
wend
close#1
按开始:
timer1.Interval=50
按结束:
timer1.Interval=0
timer的事件:
i=i+1
ifi=List1.ListCounttheni=0
Label1.Caption=List1.List(i)
不好意思啊,由于没有注意,所以先前的答案有两个小错误,现在已修正了
所需控件:
两个按钮,一个开始,一个结束;一个时钟控件
一个列表框;一个标签控件
用VB6.0编写电脑抽奖程序
近年来在娱乐节目之中常常见到利用电脑来抽奖,笔者对其发生了兴趣遂自己动手用VB编了一个小程序来实现电脑抽奖的小功能,其原理如下:
主要利用VB中的Rnd函数,来实现随机查找和打乱排序的功能,从而实现随机抽奖的目的。
Rnd函数的语法结构是Rnd[(number)],可选的number参数是single或任何有效的数值表达式。
Rnd函数返回小于1但大于或等于0的值。
number的值决定了Rnd生成随机数的方式。
为了生成某个范围内的随机整数,可使用以下公式:
Int((upperbound-lowerbound+1)×Rnd+lowerbound)
这里,upperbound是随机数范围的上限,而lowerbound则是随机数范围的下限。
另外,程序中还使用了INI文件,WindowsINI文件,可解释为Windows初始化文件。
它是一种专门用来保存应用程序初始化信息和运行环境信息的文本文件。
ini文件是一种文本文件,它可以通过Notepad等文本编辑器进行编辑。
ini文件具有特定的格式。
一个INI文件是由若干个段(section)组成的,每个段中包含若干关键字(key)及相应的值(value)。
创建应用程序自己的INI文件,通过INI文件保存应用程序的一些运行环境信息,然后在程序中读取INI文件中的设置信息并据以处理。
一旦程序的运行环境需要变更,则可以通过直接修改INI文件,或在程序中提供专门的界面间接地修改INI文件来保证程序的可用性。
源程序及注释如下:
'窗体源程序
OptionExplicit
Dimm_strNameArray()AsMyName
Dimm_bIsStartAsBoolean
Dimm_nNameIndexAsInteger
DimMAX_INDEXAsInteger
Dimm_nSelectNumAsInteger
'被选定数
DimnScrollStepAsInteger
DimnScrollWidthAsInteger
DimbScrollStateAsBoolean
DimnEnableSecondAsInteger
Dimm_strTitleAsString
Dimm_strAppTitleAsString
Dimm_strScrollTitleLeftAsString
Dimm_strScrollTitleRightAsString
PrivateSubCommand_Start_Stop_Click()
Ifm_bIsStart=TrueThen
'按停止钮
m_bIsStart=False
Command_Start_Stop.Caption=
“开始"
Label_FlashName.Visible=True
Timer_FlashName.Enabled=True
Timer_ScrollName.Enabled=False
Label_FlashName=
m_strNameArray(m_nNameIndex).strName+“中奖了!
"
m_strNameArray(m_nNameIndex).bIsSelect=True
m_nSelectNum=m_nSelectNum+1
DimTempAsMyName
Temp=m_strNameArray(MAX_INDEX)
m_strNameArray(MAX-INDEX)=m_strNameArray(m_nNameIndex)
m_strNameArray(m_nNameIndex)=Temp
MAX_INDEX=MAX_INDEX-1
IfMAX_INDEX=0Then
MsgBox“非常感谢您使用本软件"
EndIf
Else'按开始钮
m_bIsStart=True
Command_Start_Stop.Caption=“停止"
Command_Start_Stop.Enabled=False
Timer_ScrollName.Enabled=True
Timer_FlashName.Enabled=False
Label_FlashName.Caption=“"
EndIf
EndSub
PrivateSubForm_Load()
Form_Bouns.ScaleMode=3
m_nNameIndex=0
m_bIsStart=False
Timer_ScrollName.Enabled=True
Timer_ScrollTitle.Enabled=True
Label_FlashName.Visible=False
Label_ScrollName.Caption=“"
nEnableSecond=0
'定义起始秒数
ReDimNameArray
'获得文本中的名字和打乱名字顺序
nScrollStep=5'设定滚动字的步长
nScrollWidth=Label_Congruation.Left
'设定title的移动宽度
bScrollState=False
'设定缺省的开始滚动方向为向左
m_nSelectNum=0
'初始化被选定数为0
Init
'初始化本程序的界面
EndSub
PrivateSubTimer_FlashName_Timer()'闪动中奖者姓名
IfLabel_FlashName.Visible=TrueThen
Label_FlashName.Visible=False
Else
Label_FlashName.Visible=True
EndIf
EndSub
PrivateSubTimer_ScrollName_Timer()'滚动出现名字
Ifm_bIsStart=TrueThen
Ifm_nNameIndex>=MAX_INDEXThen
m_nNameIndex=0
EndIf
m_nNameIndex=m_nNameIndex+1
Ifm_strNameArray(m_nNameIndex).bIsSelect=TrueThen
Ifm_nNameIndex m_nNameIndex= m_nNameIndex+1 Else m_nNameIndex=0 EndIf EndIf Label_ScrollName.Caption=m_str NameArray(m_nNameIndex).strName 'EndIf EndIf EndSub PrivateSubTimer_ScrollTitle_Timer()'滚动“恭喜发财"字样 IfbScrollState=FalseThen'向左滚 nScrollStep=10 Label_Congruation.Caption=m_strScrollTitleLeft IfnScrollWidth>0Then nScrollWidth= nScrollWidth-nScrollStep Else bScrollState=True EndIf Else'向右滚 nScrollStep=-10 Label_Congruation.Caption= m_strScrollTitleRight IfnScrollWidth Label_Congruation.WidthThen nScrollWidth= nScrollWidth-nScrollStep Else bScrollState=False EndIf EndIf Label_Congruation.Left=nScrollWidth '以下为8秒钟内使“停止"按钮有效 IfnEnableSecond<=49Then Ifm_bIsStart=TrueThen nEnableSecond=nEnableSecond+1 EndIf Else Ifm_bIsStart=TrueThen Command_Start_Stop.Enabled=True nEnableSecond=0 EndIf EndIf EndSub '动态定义数组 PrivateSubReDimNameArray() DimnMaxIndexAsInteger DimstrMaxIndexAsString DimnIndexAsInteger DimbIsBeginAsBoolean bIsBegin=False nIndex=0 OpenApp.Path+“\name.txt"ForInputAs#1'读文件 DoUntilEOF (1) IfbIsBegin=FalseThen LineInput#1,strMaxIndex nMaxIndex=Val(strMaxIndex) MAX_INDEX=nMaxIndex-1 ReDimm_strNameArray(0TonMaxIndex-1) bIsBegin=True Else LineInput#1,m_strNameArray(nIndex).strName m_strNameArray(nIndex).bIsSelect=False nIndex=nIndex+1 EndIf Loop '以下为打乱人员顺序10次 DimiAsInteger DimjAsInteger DimTempAsString DimnRandomNumAsInteger Forj=0To10 Fori=0TonMaxIndex-1 nRandomNum=((nMaxIndex-1)×Rnd)'利用Rnd函数 Temp=m_strNameArray(i).strName m_strNameArray(i).strName=m_strNameArray(nRandomNum).strName m_strNameArray(nRandomNum).strName=Temp Nexti Nextj EndSub PrivateSubInit()'读取INI文件 DimXAsLong DimlpFileName DimTempAsString×50 lpFileName=App.Path+“\Sortition.ini" X=GetPrivateProfileString(“SYSTEM",“AppTitle",“抽奖程序",Temp,Len(Temp),lpFileName) m_strAppTitle=Trim(Temp) Temp=“" X=GetPrivateProfileString(“SYSTEM","Title","欢迎使用抽奖程序",Temp,Len(Temp),lpFileName) m_strTitle=Trim(Temp) Temp=“" X=GetPrivateProfileString(“SYSTEM",“ScrollTitleRight",“恭喜发财! ! ! ",Temp,Len(Temp),lpFileName) m_strScrollTitleRight=Trim(Temp) X=GetPrivateProfileString(“SYSTEM",“ScrollTitleLeft",“龙年大发! ! ! ",Temp,Len(Temp),lpFileName) m_strScrollTitleLeft=Trim(Temp) Form_Bouns.Caption=m_strAppTitle Label_CompanyTitle.Caption=m_strTitle EndSub 模块源程序: '用于读取ini文件的API函数 DeclareFunctionGetPrivateProfileStringLib“kernel32"Alias“GetPrivateProfileStringA"(ByVallpApplicationnameAsString,ByVallpKeyNameAsString,ByVallpDefaultAsString,ByVallpReturnedStringAsString,ByValnSizeAsLong,ByVallpFileNameAsString)AsLong PublicTypeMyName strNameAsString bIsSelectAsBoolean EndType 由于程序利用的windowsini文件保存一些标题信息,因而可以方便的修改使用环境,及标题内容。 见ini文件内容: [SYSTEM] ;应用程序的form名称 AppTitle=“风云电脑抽奖Test" ;窗口的内的标题(限9个字) Title=“大抽奖" ;右滚动的文字(仅能为如下格式: XXXX! ! ! ) ScrollTitleRight=“恭喜发财! ! ! " ;左滚动的文字(仅能为如下格式: XXXX! ! ! ) ScrollTitleLeft=“祝您好运! ! ! " 如此一个小小的电脑抽奖程序便完成了。 以上程序在VB6.0Windows98环境下编译通过 IfbIsBegin=FalseThen LineInput#1,strMaxIndex nMaxIndex=Val(strMaxIndex) MAX_INDEX=nMaxIndex-1 ReDimm_strNameArray(0TonMaxIndex-1) bIsBegin=True Else LineInput#1,m_strNameArray(nIndex).strName m_strNameArray(nIndex).bIsSelect=False nIndex=nIndex+1 EndIf Loop '以下为打乱人员顺序10次 DimiAsInteger DimjAsInteger DimTempAsString DimnRandomNumAsInteger Forj=0To10 Fori=0TonMaxIndex-1 nRandomNum=((nMaxIndex-1)×Rnd)'利用Rnd函数 Temp=m_strNameArray(i).strName m_strNameArray(i).strName=m_strNameArray(nRandomNum).strName m_strNameArray(nRandomNum).strName=Temp Nexti Nextj EndSub PrivateSubInit()'读取INI文件 DimXAsLong DimlpFileName DimTempAsString×50 lpFileName=App.Path+“\Sortition.ini" X=GetPrivateProfileString(“SYSTEM",“AppTitle",“抽奖程序",Temp,Len(Temp),lpFileName) m_strAppTitle=Trim(Temp) Temp=“" X=GetPrivateProfileString(“SYSTEM","Title","欢迎使用抽奖程序",Temp,Len(Temp),lpFileName) m_strTitle=Trim(Temp) Temp=“" X=GetPrivateProfileString(“SYSTEM",“ScrollTitleRight",“恭喜发财! ! ! ",Temp,Len(Temp),lpFileName) m_strScrollTitleRight=Trim(Temp) X=GetPrivateProfileString(“SYSTEM",“ScrollTitleLeft",“龙年大发! ! ! ",Temp,Len(Temp),lpFileName) m_strScrollTitleLeft=Trim(Temp) Form_Bouns.Caption=m_strAppTitle Label_CompanyTitle.Caption=m_strTitle EndSub 模块源程序: '用于读取ini文件的API函数 DeclareFunctionGetPrivateProfileStringLib“kernel32"Alias“GetPrivateProfileStringA"(ByVallpApplicationnameAsString,ByVallpKeyNameAsString,ByVallpDefaultAsString,ByVallpReturnedStringAsString,ByValnSizeAsLong,ByVallpFileNameAsString)AsLong PublicTypeMyName strNameAsString bIsSelectAsBoolean EndType 由于程序利用的windowsini文件保存一些标题信息,因而可以方便的修改使用环境,及标题内容。 见ini文件内容: [SYSTEM] ;应用程序的form名称 AppTitle=“风云电脑抽奖Test" ;窗口的内的标题(限9个字) Title=“大抽奖" ;右滚动的文字(仅能为如下格式: XXXX! ! ! ) ScrollTitleRight=“恭喜发财! ! ! " ;左滚动的文字(仅能为如下格式: XXXX! ! ! ) ScrollTitleLeft=“祝您好运! ! ! " 如此一个小小的电脑抽奖程序便完成了。 以上程序在VB6.0Windows98环境下编译通过 近年来在娱乐节目之中常常见到利用电脑来抽奖,笔者对其发生了兴趣遂自己动手用VB编了一个小程序来实现电脑抽奖的小功能,其原理如下: 主要利用VB中的Rnd函数,来实现随机查找和打乱排序的功能,从而实现随机抽奖的目的。 Rnd函数的语法结构是Rnd[(number)],可选的number参数是single或任何有效的数值表达式。 Rnd函数返回小于1但大于或等于0的值。 number的值决定了Rnd生成随机数的方式。 为了生成某个范围内的随机整数,可使用以下公式: Int((upperbound-lowerbound+1)×Rnd+lowerbound) 这里,upperbound是随机数范围的上限,而lowerbound则是随机数范围的下限。 另外,程序中还使用了INI文件,WindowsINI文件,可解释为Windows初始化文件。 它是一种专门用来保存应用程序初始化信息和运行环境信息的文本文件。 ini文件是一种文本文件,它可以通过Notepad等文本编辑器进行编辑。 ini文件具有特定的格式。 一个INI文件是由若干个段(section)组成的,每个段中包含
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- vb 一个 抽奖 软件 源代码