机房收费系统【VB版】——选择下机
前言:
今天实现机房收费系统——一般用户——学生上机状态查看——选中全部/部分下机部分收获很多!多亏了看光哥的博客,写的很清楚机房收费系统——上机状态查询之下机
过程:
要显示的表格式写查询,就会出来这样子
Private Sub 显示全部_Click()Dim txtSQL As StringDim MsgText As StringDim mrc As ADODB.Recordset '作为的连接online_info表查询的结果集txtSQL = "select cardno,studentNo,ondate,OnTime,computer from OnLine_Info"Set mrc = ExecuteSQL(txtSQL, MsgText)If mrc.EOF = True ThenMsgBox "查询到0条记录", vbOKOnly + vbInformation, "提示!"ElseWith MSFlexGrid1Do While mrc.EOF = False.Rows = .Rows + 1
' .CellAlignment = 4.TextMatrix(.Rows - 1, 0) = mrc!cardno.TextMatrix(.Rows - 1, 1) = mrc!studentNo.TextMatrix(.Rows - 1, 2) = mrc!ondate.TextMatrix(.Rows - 1, 3) = mrc!OnTime.TextMatrix(.Rows - 1, 4) = mrc!computer.TextMatrix(.Rows - 1, 5) = ""mrc.MoveNextLoopEnd WithEnd If
End Sub
接着我们可以看到它的
要想实现选中的下机,首先把选中的记录用一个符号√来标识这条记录!
这里定义了两个数组,分别来存储标识√的记录它的行号和学号。
i=0 有√标识的记录数目
for j=0 to .rows-1if 符合√ then记录行号到数组xh(s)记录学号到数组sz(z)i=i+1end if
next j
'j是真实的表格中的行数,通过标识√筛选遍历一遍,将有√记录的信息记录并保留到数组中,并且将有记录的行数计算出了
for Z=0 to i-1 (0~i-1=i行,也就是由记录的i行)通过数组引用一个个的学号,学号是主键,查询表得到记录集mrc3 basicdate_infomrc4 studeng_infomrc1 online_infomrc2 Line_infoZ=Z+1
next Z
'通过这样的一次遍历查询到数据库中的每一条记录
'因为选中的部分即将下机,引用这些记录的信息来进行结算帐目部分的计算!下机之前结账完毕!
'将选中的学生的数据进行更新,消费时间,消费金额,正常下机等等!修改包括student表和Line表
'最后从Online_info表中删除这些信息
接着,非常奇妙的部分就是如何实现部分
这段选择的代码真的是非常的巧妙,本意按下鼠标,选择要下机的学生;
前提是显示出来的信息都是没有选中的!在显示全部后所有的信息都是没有选中的状态!
在选的过程中:
按下鼠标之前,假设是没有选中的,按下后把它变为选中的状态;
按下鼠标之前,假设是选中的状态,按下后把它变为没有选中的状态;【二次按下鼠标就会需要这样的机制】
Private Sub msflexgrid1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)'如何选中不连续的行Dim col As IntegerIf MSFlexGrid1.TextMatrix(MSFlexGrid1.Row, 5) = "√" ThenMSFlexGrid1.TextMatrix(MSFlexGrid1.Row, 5) = ""'改变行颜色(变为没选中之前的)For col = 0 To MSFlexGrid1.Cols - 1MSFlexGrid1.col = colMSFlexGrid1.CellBackColor = vbWhiteNext colElseMSFlexGrid1.TextMatrix(MSFlexGrid1.Row, 5) = "√"'改变行颜色(选中后的颜色)For col = 0 To MSFlexGrid1.Cols - 1MSFlexGrid1.col = colMSFlexGrid1.CellBackColor = &HFFFF00 Next colEnd If
这部分的代码是复制的,但我觉得写得非常巧妙!
总结:
1.分析代码,不会就一点一点测试
2.写代码而不是改代码,学习一招致命。
3.把问题复杂化其实是了避免直接面都那么难的问题,找到本质,就不难!
4.选择单行MSFlexGrid或是单元格
MouseColLong返回鼠标光标的列坐标位置
MouseRowLong返回鼠标光标的行坐标位置
选中某个单元
MsFlexGrid.Row=1
MsFlexGrid.Col=1
5. Dim sTokens() As String ‘定义名为sTokens字符串(数组)
Dim sTokens As string ‘定义名为sTokens字符串
6.trim:删除字串符的空格
Trim$:去掉字符串左右两端的空格
机房收费系统【VB版】——选择下机相关推荐
- 机房收费系统合作版(二):透过显示上机人数品味如何做到全心全意为人民服务
[前言] 尘封半年之久的机房合作再次被鹅大组长提上日程,为了积极响应组长的号召最近两日在噼里啪啦的弄机房!逐渐追回了开始合作时信誓旦旦的宣言(详情点击<机房收费系统合作版:开始团队合作之旅> ...
- 机房收费系统合作版(四):一路走来感谢有你相伴
[前言] 伴随着1月25日米老师首次验收以及1月31日学术再次验收,鹅思晗小组的机房收费系统合作版终于画上一个圆满的句号. 回想这两个大牛和一只小菜的软件开发之旅还是蛮有趣的:特记于此,以此来纪念我这 ...
- 机房收费系统合作版(一):开始团队合作之旅
时光荏苒,犹记去年这时开始自己人生的第一个系统(机房收费系统个人版)的开发,又至刚刚弄完的机房收费个人重构版,至此自己对这个系统已开发了二次,趁热打铁于是乎轰轰烈烈的开始了自己对机房收费的第三遍合作之 ...
- 机房收费系统合作版(三):利用备忘录模式实现取消修改基本数据
[前言] 鹅思晗小组三个菜鸟成就一个系统,在这个过程中我有幸负责BLL层和外观层的实现.做过机房的朋友都知道,BLL层一个亮点就是设计模式. 至今犹记去年六月份鹅思晗小组成立后,那几天轰轰烈烈的探讨, ...
- 机房收费系统重构版:照葫芦画瓢
跟随着培养计划的步伐,自己弄完三层后就风风火火的开始了自己机房重构之路!现在回首这一路,有苦过有兴奋过,有想放弃不再做的时候也有挑灯夜战本本没电自动关机的时候,这一切的一切组成了自己这段时间最 ...
- 项目总结——机房收费系统合作版
机房合作就结束了,这次合作开发是第一次与别人一块儿开发一个系统,收获还是蛮大的.以下我总结几点算是经验吧,供以后參考: 管理上 1.计划 在准备合作开发之前我们三个去找米老师,老师给我 ...
- 机房收费系统重构版:那个系统我们一起遇到的问题
前言: 总是说在问题中茁壮成长,俗话说光说不练假把式!回想之前确实停留在嘴上说说就完事了的假把式上,这次敲了第二次机房重构后根据自己的切身经历仔细回味了一番.相比于之前有了更深的理解吧,感觉还是有记 ...
- 【机房合作】机房收费系统合作版总结
经历了为期一个半月的机房合作开发过程,自己的沟通表达,写作开发以及业务能力方面都有了很大程度的提升,在此来总结一下这个开发的过程. 一.前期准备的重要性 在我以前的认知里,写代码,做项目就是直接开干, ...
- 机房收费系统合作版(五)——初识托付
托付是什么?你对托付熟悉吗?答案是肯定的!你对托付一定非常熟悉! 对托付的熟悉,正如你对一个倒立着的人一样熟悉!为什么这么说?由于方法的调用对于每个学习过编程的人来说都非常熟悉,并且是熟悉的不能再熟悉 ...
- 机房收费系统——需求分析
前言 当我们在进行软件开发项目的时候,首先进行的步骤就是分析人员通过和用户的沟通交流,了解要开发的软件所要具有的功能,满足用户的需求. 正文 在开始敲机房收费系统之前,我们先要将ODBC数据源配置好, ...
最新文章
- h264 裸流打包成mp4 注意事项
- html给网页加图片背景颜色,0035 如何设置网页背景图和在网页中插入图片
- java 读取pdf、word、Excel文件
- thinkphp 后台管理框架swiftadmin的使用
- Python自学教程3-英语不好,变量怎么命名
- HTML段落前面怎么加黑点,Word文档段落前面的那个小黑点,是怎么搞出来得呀?...
- 使用Glide制作圆形图片
- vue二维码的批量生成及下载
- java.sql.SQLException: Incorrect string value: '\xE5\x85\x89004' for column 'department_name' at row
- 高职高考数学可以用计算机吗,将高职高考数学成绩从39分提到120分,3个月时间可能吗?...
- 鸿蒙系统1004无标题,win10 10041更新提示错误怎么处理
- python测试之道进阶_深入学习AB测试(一)-AB Testing With Python[项目实战]
- Code.V光学设计学习(三)——公差分析
- C++:C++11的牛逼特性
- 「程序员值得一看」| 传说中的“全球公认最健康的作息时间表”
- Linux中malloc与kmalloc
- 【python】7-10 将输入的字符串中的字符头尾间隔输出(PTA)
- 新书首发 | 人工智能有可能统治地球吗?
- Golang将密码盐加密
- 头文件和库文件区别,动态库和静态库的区别,动静态库的生成