随机函数实现抽奖(1)
来源:互联网 发布:web数据录入查询系统 编辑:程序博客网 时间:2024/05/20 20:21
早几天朋友请我帮他做一个抽奖系统,这个抽奖是有猫腻的,那就是有推荐号码,这些号码必须抽出,并且他们的名次也是用户指定好的。抽完这些推荐号码后其他的号码随机抽出就行了。他还自己做了一个界面,希望系统的界面跟他一样。界面上10个标签,3个按钮(开始,停止,退出)
看了这个需求,我们可以分析一下,首先用户是不懂数据库的。而他推荐的号码也不想从界面上输入,所以我们只能从文件中读入数据。在这里我做了一个Excel 的表。里面存储了ID,card和flat,分别表示ID号,号码,和是否是推荐号码(1表推荐号码,0表非推荐号码)。共2000个数据(1-2000).从Excel文件里读取数据到数据集中应该是可行的。
代码如下:
string MyExcelAll = "F://Book1.xls";
int index1 = MyExcelAll.LastIndexOf('//');
int index2 = MyExcelAll.LastIndexOf('.');
MyExcel = MyExcelAll.Substring(index1 + 1, (index2 - index1)) + "xls";
try
{
Connection = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + MyExcel + ";Extended Properties=/"Excel 8.0;HDR=YES;IMEX=1/"");
Connection.Open();
string cnnxls = "Sheet1";
string sql = string.Format("select ID,card,commendCard from [" + cnnxls + "$] where commendCard=0", cnnxls);
OleDbCommand MyCommand = new OleDbCommand(sql, Connection);
MyAdapter = new OleDbDataAdapter(sql, Connection);
MyAdapter.Fill(MySet,"t1");
sql = string.Format("select ID,card,commendCard from [" + cnnxls + "$] where commendCard=1", cnnxls);
MyAdapter = new OleDbDataAdapter(sql, Connection);
MyAdapter.Fill(MySet, "t2");
tuijian = MySet.Tables["t2"].Rows.Count-1;//推荐的数量
foreach (DataRow d in MySet.Tables["t2"].Rows)
{
_ary.Add(d[1]);
}
foreach (DataRow c in MySet.Tables["t1"].Rows)
{
_thAry.Add(c[1]);
}
把数据读取到数据集中后,为了方便访问,我们可以把所有数据放到list 中。在这里我声明了两个list,一个列表放推荐号码,一个列表放非推荐号码。
好了,现在一起都准备就绪。我们下一步要实现单击开始按钮,10个标签不断地出现号码,直到用户点击停止为止。我们回过头去看看,用户是有推荐号码的,也就是说当用户点击停止按钮时,前10个号码应该是用户的推荐的前10个号码。在用户点击开始按钮后未点击停止按钮前,10个标签上出现的号码都是一个幌子。只是给用户一个假象。这个时候我们可以用线程,也可以用时钟控件。在这里,我们先用时钟控件。开始后,时钟控件开始计时。不断给10个标签随机数。代码如下:
private void timer1_Tick(object sender, EventArgs e)
{
int i = 0;
foreach (Control a in this.Controls)
{
if (a is Label)
{
i=random1.Next(0,_thAry.Count);
a.Text = _thAry[i].ToString();
}
}
}
到现在为止,我们已经实现了把非推荐号码列表中的数随机赋到10个标签上。我们呆会再来看看如何出现用户所指定的那些号码作为中奖号码!
- 随机函数实现抽奖(1)
- 随机函数实现抽奖(2)
- jQuery实现随机抽奖
- 随机抽奖程序的实现
- 随机抽人、抽奖器的实现
- php实现随机中奖(转盘抽奖)
- 随机抽奖
- 随机抽奖
- .net 指定奖品概率随机抽奖功能实现
- iOS-随机点名或抽奖游戏的实现
- 基于JavaScript与css实现网页随机抽奖功能
- 随机抽奖程序
- js随机抽奖程序
- java 随机抽奖程序
- 随机抽奖软件
- Android 人名 随机抽奖
- floor random 随机抽奖
- golang随机抽奖代码
- 图像处理中像素点的问题:unsigned char 和 char
- 我来逛一逛学习java
- 排序算法其一
- tns名不被tnsping识别的问题
- 真搞不懂,360怎么会跟Eclipse有冲突
- 随机函数实现抽奖(1)
- 水印相关(转载)
- C#的WINDOWS应用程序(FORM)怎样接收命令行调用和参数
- VBA to refresh connections in Excel.
- 随机函数实现抽奖(2)
- 水印相关(转载)
- 编写查询条件不区分大小写的SQL语句!
- 装了一个ubuntu10.10,打印机不能添加了,
- Ubuntu KDE 安装