VB编写的课堂随机点名小程序代码

合集下载

基于VB和SpeechSDK的课堂随机语音点名系统设计_刘杰

基于VB和SpeechSDK的课堂随机语音点名系统设计_刘杰
参考文献 : [ ] ] ( ) : 1 J .考试周刊 , 2 0 1 2 4 2 1 6 8. 王海鸥 ,徐刚 .高校课堂点名制度研究 [ [ ] 北京 : 人民邮电出版社 , 2 i s u a l B a s i c 6. 0 程序设计与开发技术大全 [ M] . 2 0 0 4: 1 2 3. 求是科技 .V - [ ] ] ( ) : 刘慧婷 . 基于 V 3 B 的学生成绩管理系统的设计与实现 [ J .计算机技术与发展 , 2 0 0 7, 1 7 1 2 1 6 9 1 7 2. 王佩红 , - [ ] ] ( ) : 周风余 . 基于 S 自然科学版 , 4 e e c h S D K 的机器人语音交互系统设计 [ J .北京联合大学学报 : 2 0 1 0, 2 4 1 陈景帅 , p 2 5 2 9. -
DOI:10.13797/ki.jfosu.1008-0171.2014.0030
点名制度是高等院校普遍采用的维持学生到课率的方法 , 但经常 性 点 名 往 往 会 起 到 以 下 两 个 方 面
1] 。 的反作用 [
) ( 经常性点名会挤占正常的教学时间 , 从而影响教学工作的完成 。 1 ( ) 经常性点名可能会引起学生的反感 , 甚至会让爱学习的学生产生老师故意浪费课堂时间这样的 2 误解 。 为改善这一状况 , 本文基于 V B和 S e e c h S D K 设计了一种课堂随机语音点名系统。该系统采用 p 能够有效控制点名的时间消耗 。 此外 , 将 该 系 统 与 课 堂 提 问 相 结 合, 还能起 完全随机的方式进行点名 , 到活跃课堂气氛 、 提高学习热情的作用 。
: A b s t r a c t A k i n d o f r a n d o m v o i c e r o l l c a l l s s t e m i s d e s i n e d b a s e d o n V B a n d S e e c h S D K. T h e s s - y g p y , t e m c r e a t e s t h e r o l l c a l l l i s t f r o m t h e t e x t f o r m a t l i s t o f s t u d e n t s s e l e c t s a s t u d e n t r a n d o m l a n d r e a d s y , t h e n a m e a n d t h e s t u d e n t n u m b e r a l o u d . I n o r d e r t o a v o i d r e c u r r e n t s e l e c t i o n a k i n d o f d u a l l i s t i s t o s t o r e t h e s e l e c t i o n t e m o r a r i l . T h e o f v o i c e b r o a d c a s t i n o f s t u d e n t n u m b e r i s s o l v e d u s e d r o b l e m p y g p b i n s e r t i n b l a n k i n t o a d a c e n t n u m b e r s . T h e s s t e m h a s b e e n i n t o u s e i n t h e c l a s s r o o m a n d o b u t - y g j y p t a i n e d o o d r e s o n s e . g p : ; ;V K e w o r d sr a n d o m v o i c e c a l l v o i c e b r o a d c a s t i n o f s t u d e n t n u m b e r B; S e e c h S D K g p y

Vb课程设计饭店点菜系统代码

Vb课程设计饭店点菜系统代码

Vb课程设计饭店点菜系统代码Vb课程设计饭店点菜系统代码Dim g As Single Private Sub Command1_Click()Data1.DatabaseName = "d:\菜品\素菜.mdb" Data1.RecordSource = "select * from 素菜" Data1.RefreshEnd SubPrivate Sub Command12_Click()Unload Form2Form4.ShowEnd SubPrivate Sub Command11_Click()End SubPrivate Sub Command13_Click()Unload Form1Form2.ShowEnd SubPrivate Sub Command14_Click()Unload Form1Form2.ShowEnd SubPrivate Sub Command15_Click()Unload Form1Form2.ShowEnd SubPrivate Sub Command2_Click()Data1.DatabaseName = "d:\菜品\荤菜.mdb" Data1.RecordSource = "select * from 荤菜" Data1.RefreshEnd SubPrivate Sub Command3_Click()Data1.DatabaseName = "d:\菜品\酒类.mdb"Data1.RecordSource = "select * from 酒类"Data1.RefreshEnd SubPrivate Sub Command4_Click()Data1.DatabaseName = "d:\菜品\汤类.mdb"Data1.RecordSource = "select * from 汤类"Data1.RefreshEnd SubPrivate Sub Command5_Click()Data1.DatabaseName = "d:\菜品\主食.mdb"Data1.RecordSource = "select * from 主食"Data1.RefreshEnd SubPrivate Sub Command6_Click()MsgBox "尊敬的顾客,恭喜您获得抽奖机会,请到抽奖板块中进行抽奖", vbInformation + vbOKOnly, "恭喜您"Data2.Recordset.AddNewText2.SetFocusData2.Recordset.UpdateCommand8.Enabled = FalseEnd SubPrivate Sub Command7_Click()Dim a, b As Integera = Len(Text1.Text)b = Len(Text2.Text) + Len(Text3.Text) + 1List1.AddItem Text1.Text & Space(18 - a * 2) & Text2.Text & "*" & Text3.Text & Space(18 - b) & Val(Text2) * Val(Text3)Dim c As Singlec = Val(Text2.Text) * Val(Text3.Text)Text5.Text = c + Val(Text5.Text)End SubPrivate Sub Command8_Click()If List1.ListIndex <> -1 Thenx = List1.ListIndexList1.RemoveItem xEnd IfText5 = Val(Text5) - gEnd SubPrivate Sub Form_Load()List1.AddItem " " & "菜名" & " " & "单价" & "*" & "数量" & " " & "总价"Text3.Text = 1MSFlexGrid1.ColWidth(1) = 16Combo1.AddItem "五百元以下"Combo1.AddItem "五百至一千元"Combo1.AddItem "一千至三千元"Combo1.AddItem "三千以上"End SubPrivate Sub List1_Click()If List1.ListIndex <> -1 Thenx = List1.ListIndexEnd IfDim e, f As Stringe = List1.List(x)Text1.Text = Left(e, 8)f = Right(e, 5)g = Val(f)End SubPrivate Sub MSFlexGrid1_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)Text1.Text = MSFlexGrid1.TextMatrix(MSFlexGrid1.Row, 2)Text2.Text = MSFlexGrid1.TextMatrix(MSFlexGrid1.Row, 4)Picture4.Picture = LoadPicture(MSFlexGrid1.TextMatrix(MSFlexGrid1.Row, 6)) End SubPrivate Sub Command9_Click()If Command9.Caption = "确认" ThenCommand9.Caption = "添加"mbookmark = Data3.Recordset.BookmarkData3.Recordset.AddNewText4.SetFocusElseIf Text6.Text = "" ThenMsgBox "留言内容不能为空!"Exit SubEnd IfCommand9.Caption = "确认"Data3.Recordset.UpdateEnd IfEnd SubPrivate Sub Combo1_Click()Select Case Combo1.TextDim intranum As Integer, i As Integer, j As Integer, a As IntegerCase "三千以上"RandomizeFor i = 1 To 1000intranum = Int(3 * Rnd) + 1a = 0For j = 1 To 10000a = a + 1Next jText1.Text = CStr(intranum) Text7.RefreshNext iText7.Text = CStr(intranum) Case "一千至三千元" RandomizeFor i = 1 To 1000intranum = Int(4 * Rnd) + 1a = 0For j = 1 To 10000a = a + 1Next jText1.Text = CStr(intranum) Text7.RefreshNext iText7.Text = CStr(intranum) Case "五百至一千元" Randomize For i = 1 To 1000intranum = Int(5 * Rnd) + 1a = 0For j = 1 To 10000a = a + 1Next jText1.Text = CStr(intranum) Text7.RefreshNext iText7.Text = CStr(intranum) Case "五百元以下" RandomizeFor i = 1 To 1000intranum = Int(6 * Rnd) + 1a = 0For j = 1 To 10000a = a + 1Next jText7.Text = CStr(intranum) Text7.RefreshNext iText1.Text = CStr(intranum) End SelectLabel10.Caption = "恭喜您!" Label10.FontName = "华文行楷" Label10.FontSize = 40Label10.ForeColor = vbRed End SubForm1抽奖Form4。

用vb制作随机点名器

用vb制作随机点名器

用vb制作随机点名器,提供代码及详细制作步骤1.Form的Caption属性可命名为:课堂随机点名2.在界面放入一个Listbox, 一个Label ,一个commandbotton,它们的属性不用改变。

3.右击表单Form,选择“查看代码”4.输入下列代码:Option ExplicitDim flag As BooleanPrivate Sub Command1_Click()With Command1If .Caption = "点名" Then.Caption = "停止"flag = FalsetestElse.Caption = "点名"flag = TrueEnd IfEnd WithEnd SubFunction test()Dim tDo Until flagLabel1.Caption = List1.List(Int(Rnd * List1.ListCount)) t = TimerDo Until Timer - t > 0.05DoEventsLoopDoEventsLoopEnd FunctionPrivate Sub Form_Load()Dim arr, i As IntegerList1.Visible = FalseCommand1.Caption = "点名"With Label1.Caption = "".AutoSize = True.ForeColor = vbRed.FontSize = 24.FontBold = TrueEnd WithOpen App.Path & "\123.txt" For Input As #1 (备注说明:在保存位置同一目录下新建一个123的文本文件,并把名单录入到文本中,一个名字一行。

)Close #1For i = 0 To UBound(arr)If Len(arr(i)) > 0 Then List1.AddItem arr(i)End Sub运行界面如下:。

课程设计教师上课随机点名系统

课程设计教师上课随机点名系统

沈阳航空航天大学课程设计任务书学院:航空宇航工程学院专业:航空维修班级:04030501 学号:2010040305004 题目:教师上课随机点名一、课程设计时间2011年3月12日~18日(第2周),共计1周。

二、课程设计内容教师在每次上课时,需要对学生随机点名,学生信息保存到文本文件或access 数据库中,学生信息至少包括:学号,姓名,点名次数(初始值为0)。

所谓点名,是指将某位同学的姓名和学号显示到屏幕上,则表示该同学被点名一次,并累加点名次数,注意点名的随机性(可使用随机函数)。

用户界面中的菜单至少包括“编辑学生数据”,“开始点名”,“查询学生点名情况”,“退出”4项。

三、课程设计要求程序质量:✧贯彻事件驱动的程序设计思想。

✧用户界面友好,功能明确,操作方便;可以加以其它功能或修饰。

✧用户界面中的菜单至少应包括“编辑学生数据”、“开始点名”、“查询学生点名情况”、“退出”4项。

✧代码应适当缩进,并给出必要的注释,以增强程序的可读性。

课程设计说明书:✧课程结束后,上交课程设计说明书和源程序。

课程设计说明书的内容参见提供的模板。

四、指导教师和学生签字指导教师:________ 学生签名:________五、成绩六、教师评语目录需求分析 (4)设计分析 (4)技术要点 (5)主要界面截图 (9)图(一)学生点名系统主界面 (9)总结 (10)参考文献 (14)需求分析教师在每次上课时,需要对学生随机点名,学生信息保存到文本文件或access数据库中,学生信息至少包括:学号,姓名,点名次数(初始值为0)。

1.运用随机函数从数据库中提取学生的数据。

2.对学生的点名情况进行查询,并在用户界面中显示。

3.对学生的学号和姓名等信息进行编辑,并添加到数据库中。

设计分析(1)概述:通过使用ADO控件建立程序设计与数据库的联系,用SQL语句在数据库中查找,添加和更改数据,运用随机函数,随机地提取学生的数据,体现点名的随机性。

抖音同款课堂点名系统,PyQt5写起来很简单...

抖音同款课堂点名系统,PyQt5写起来很简单...

抖音同款课堂点名系统,PyQt5写起来很简单...刷抖音的时候发现一个老师在用的课堂点名系统。

用PyQt5实现了一下同款,导入学生姓名,测试了一下完美运行。

操作效果展示:完整源代码块还是放在了文章的最后面,有需要直接运行到文末获取下载方式就好了。

使用的时候准备好学生姓名的文件,使用导入数据的按钮直接导入就可以开始点名了。

新建一个文本文档,将姓名设置设置好,姓名文件示例如下。

使用系统库或者第三方库都比较常规,这里就不一一介绍了。

from PyQt5.QtWidgets import *from PyQt5.QtGui import *from PyQt5.QtCore import *from qdarkstyle import load_stylesheet_pyqt5import osimport sysimport timeimport random为了和UI界面的主线程分离开来,我们采用的还是QThread多线程的方式来实现随机点名模块的。

这样做的目的是为了防止主线程阻塞,下面是子线程的实现部分。

class WorkThread(QThread):trigger = pyqtSignal(str)finished = pyqtSignal(bool)def__init__(self, parent=None):super(WorkThread, self).__init__(parent)self.parent = parentself.working = Truedef__del__(self):self.working = Falseself.wait()def run(self):data_list = self.parent.data_listif len(data_list) >= 1:ran = random.randint(20, 40)print('遍历次数:', ran)for a in range(ran):name = random.choice(data_list)self.trigger.emit(name)print(name)time.sleep(0.6)self.finished.emit(True)else:self.trigger.emit('无数据')UI 界面的实现部分也比较常规,下面主要实现部分的代码块。

用VB编写点名系统

用VB编写点名系统

用VB编写点名系统张晓理工六班1.效果图运行前:运行以后:2.创建控件过程首新建工程里,将form的背景插入背景图片。

创建一个命令按钮,名称为Command1,调整其属性,Caption设置为“开始”二字;创建一个命令按钮,名称为Comman21,调整其属性,Caption设置为“退出”二字;创建标签一个,名称为label。

将其属性里的Alignment调整为2-center,目的是将标签里的字居中。

将front设置为楷体。

字体大小为17。

在创建一个按钮名称为timer1,调整其属性,设置间隔,即Timer1.Interval = 50定义名单跳转时间为50ms。

Timer1.Enabled = False。

3.代码Dim a() As StringDim i As IntegerPrivate Sub Command1_Click()If Command1.Caption = "开始" ThenCommand1.Caption = "暂停"Timer1.Enabled = TrueElseIf Command1.Caption = "暂停" ThenCommand1.Caption = "开始"Timer1.Enabled = FalseEnd IfEnd SubPrivate Sub Command2_Click()EndEnd SubPrivate Sub Form_Load()i = 0'定义名单跳转的时间间隔为10msTimer1.Interval = 100Timer1.Enabled = FalseCommand1.Caption = "开始"Label1.Alignment = 2 '字体居中Label1.Font = "微软雅黑" '字体为微软雅黑Label1.FontSize = 17 '设置字体大小'读取名单,注意:名单必须已经放在D盘的1.txt文件内 Open "D:\dianming.txt" For Input As #1Do Until EOF(1)i = i + 1ReDim Preserve a(1 To i) As StringLine Input #1, a(i) '按行读取,所以名单名字必须一行一个 LoopEnd SubPrivate Sub Timer1_Timer()Dim j As IntegerRandomize'i为名单的人数,Rnd为0-1之间的数,不包括0,1j = Int(1 + Rnd * i)Label1.Caption = a(j)End Sub。

2024版6款课堂活动随机点名

2024版6款课堂活动随机点名
2024/1/30
优点
高度随机,可自定义名单 和规则,方便灵活。
缺点
需要计算机或其他智能设 备支持,可能存在技术难 题。
9
工具三:扑克牌抽签法
原理
将学生名单写在扑克牌上,通过洗牌 和抽牌的方式进行点名。
缺点
准备工作繁琐,点名过程可能不够严 谨和公正。
优点
具有娱乐性和互动性,增加课堂趣味 性。
2024/1/30
2024/1/30
19
教师观察及反馈收集
教师们普遍反映,随机点名能够有效地提高学生的注意力和参与度,使得课堂教学 更加生动有趣。
通过观察学生的表现和反应,教师可以及时发现和解决学生在学习中遇到的问题和 困难,从而提高教学效果。
随机点名也为教师提供了一种有效的课堂管理工具,使得课堂秩序更加井然有序。
18
学生参与度提升情况分析
通过随机点名,学生的课堂参与度得 到了显著提升。在点名过程中,学生 们更加专注于课堂活动,积极思考和 回答问题。
在多次实施随机点名后,学生们逐渐 习惯了这种课堂互动方式,变得更加 自信和主动,敢于表达自己的观点和 想法。
随机点名增加了课堂的不确定性和趣 味性,使得学生们更加期待和关注每 一次点名,从而提高了他们的学习兴 趣和动力。
21
05
拓展应用及创新思路
2024/1/30
22
在其他科目或场景中尝试应用
在语言类课程中应用
如英语、法语等语言课程,通过随机点名增加学生口语练习机会。
2024/1/30
在体育课程中应用
通过随机点名选择学生进行运动示范或组队比赛,增加课堂互动和 趣味性。
在艺术课程中应用
如音乐、美术等艺术课程,通过随机点名让学生展示个人才艺或分 享创作思路。

用VBA实现课堂语音点名

用VBA实现课堂语音点名

用VBA实现课堂语音点名作者:梁里宁来源:《电脑爱好者》2013年第05期具体实现方法思路:制作一个点名页面,安排三个操作按钮,分别是“点名”、“缺”、“到”,并分别给这三个按钮赋予相应的VBA程序代码,完成相应的控制或记录任务。

当开始点名时,老师点击“点名”按钮,让电脑按学生花名册信息自动语音点名,如果学生已到课,点击“到”按钮记录,如果学生缺课,点击“缺”记录。

首先要说明的是,Excel中的“文本到语音”功能不是默认安装的。

打开“工具”菜单,选择“语音”项子菜单中的“显示文本到语音工具栏”命令,Excel会自动进行安装。

安装好后,可以弹出“文本到语音”浮动工具栏。

以Excel 2003为例,具体实现步骤如下:1.在工作表Sheet2中输入学生的点名册信息(图1)。

2.适当设置工作表Sheet1中单元格的格式,并在其上添加三个命令按钮,标题分别为“开始”、“缺”和“到”(图2)。

3.为三个命令按钮“开始”、“缺”和“到”编写单击事件过程,输入具体的VBA代码:PrivateSubCommandButton1_Click()'开始With Sheet2Cells(12,1)=.UsedRange.Columns.Count+1Cells(13,1)=.UsedRange.Rows.Count-1'记录点名人数IfCells(13,1)>0 Then.Cells(1,Cells(12,1))=Date'记录点名日期.Cells(1,Cells(12,1)).ColumnWidth=10CommandButton2.Enabled=TrueCommandButton3.Enabled=TrueCommandButton3.ActivateCells(5,3)=.Cells(Cells(13,1)+1,1)'显示学号Cells(8,3)=.Cells(Cells(13,1)+1,2)'显示姓名Application.Speech.SpeakCells(8,3)'语音朗读姓名CommandButton3.ActivateEndIfEndWithEndSubPrivateSubCommandButton2_Click()'缺IfCommandButton2.EnabledThenWith Sheet2.Cells(Cells(13,1)+1,Cells(12,1))="缺" Cells(13,1)=Cells(13,1)-1'点名人数递减IfCells(13,1)=0 ThenMsgBox"点名完毕!"Cells(5,3)="点名请单击"Cells(8,3)="开始按钮"CommandButton1.ActivateCommandButton2.Enabled=FalseCommandButton3.Enabled=FalseElseCells(5,3)=.Cells(Cells(13,1)+1,1) '显示下一个的学生Cells(8,3)=.Cells(Cells(13,1)+1,2) Application.Speech.SpeakCells(8,3)'语音朗读姓名CommandButton3.ActivateEndIfEndWithEndIfEndSubPrivateSubCommandButton3_Click()'到IfCommandButton3.EnabledThenWith Sheet2.Cells(Cells(13,1)+1,Cells(12,1))="" Cells(13,1)=Cells(13,1)-1'点名人数递减IfCells(13,1)=0 ThenMsgBox"点名完毕!"Cells(5,3)="点名请单击"Cells(8,3)="开始按钮"CommandButton1.ActivateCommandButton2.Enabled=FalseCommandButton3.Enabled=FalseElseCells(5,3)=.Cells(Cells(13,1)+1,1)'显示下一个的学生Cells(8,3)=.Cells(Cells(13,1)+1,2)Application.Speech.SpeakCells(8,3)'语音朗读姓名EndIfEndWithEndIfEndSub点名开始前,“开始”命令按钮是可用的,而“缺”和“到”命令按钮都是不可用的。

智能排课系统vb代码

智能排课系统vb代码

Vb核心代码设计一:输入界面与代码(以班级表为例)Dim Conn As New ADODB.Connection '连接变量Dim SqlString As String '查询字符串Dim Connstring As String '连接字符串Dim RS1 As New ADODB.Recordset '记录集变量Dim bm '定义一个变量用来存放添加记录时原来记录的位置Dim tj As BooleanPrivate Sub Command10_Click()Form4.HideForm3.ShowEnd SubPrivate Sub Command1_Click() '移到首记录RS1.MoveFirstCommand1.Enabled = FalseCommand2.Enabled = FalseCommand3.Enabled = TrueCommand4.Enabled = TrueCall DispValue '显示当前记录的值End SubPrivate Sub Command2_Click() '前移RS1.MovePreviousIf RS1.BOF ThenRS1.MoveFirstCommand1.Enabled = FalseCommand2.Enabled = FalseEnd IfCommand3.Enabled = TrueCommand4.Enabled = TrueCall DispValue '显示当前记录的值End SubPrivate Sub Command3_Click() '后移RS1.MoveNextIf RS1.EOF ThenRS1.MoveLastCommand3.Enabled = FalseCommand4.Enabled = FalseEnd IfCommand1.Enabled = TrueCommand2.Enabled = TrueCall DispValue '显示当前记录的值End SubPrivate Sub Command4_Click() '移到末记录RS1.MoveLastCommand3.Enabled = FalseCommand4.Enabled = FalseCommand1.Enabled = TrueCommand2.Enabled = TrueCall DispValue '显示当前记录的值End SubPrivate Sub Command5_Click() '删除记录If (MsgBox("真的要删除该记录吗?", vbQuestion + vbYesNo, "删除提示") = vbYes) Then RS1.Delete '删除RS1.MoveNextIf RS1.EOF Then '如果删除的是末记录RS1.MoveLastEnd IfEnd IfCall DispValue '显示当前记录的值End SubPrivate Sub Command6_Click() '添加记录bm = RS1.Bookmark '用书签记下当前记录位置RS1.AddNew '调用AddNew方法增加新记录Call EditStatus '置按钮和文本框状态Call EmptyText '清空文本框tj = True '是添加新记录End SubPrivate Sub Command7_Click() '修改记录Call EditStatus '置按钮和文本框状态tj = False '不是添加记录,是修改记录End SubPrivate Sub Command8_Click() '确定操作Call SetValue '给各字段赋值RS1.Update '调用Update方法保存Call OkStatus '置按钮和文本框状态MsgBox ("保存成功") '给出保存成功提示End SubPrivate Sub Command9_Click() '取消操作If (MsgBox("真的要取消修改吗?", vbQuestion + vbYesNo)) = vbYes Then RS1.CancelUpdateIf tj Then '如果是增加新记录RS1.Bookmark = bm '把记录指针移动到原来的位置End IfCall DispValue '显示当前记录的值Call OkStatus '置按钮和文本框状态End IfEnd SubPrivate Sub Form_Load()Connstring = "Driver={SQL Server};Server=PC2012110412ewr.;Database=GXPK;" _& "uid =sa;pwd=t123" 'SQL Server普通安全模式建立到Pubs数据库的连接的连接字符串'设置连接字符串With Conn.ConnectionString = Connstring '给ConnectionString属性赋值.ConnectionTimeout = 10.Open '给连接的ConnectionString属性赋值,然后使用求带参数的Open方法打开连接End WithMsgBox ("连接成功")RS1.CursorType = adOpenDynamicRS1.CursorLocation = adUseClient '游标服务的位置、默认值adUseServer。

VB制作随机点名程序源码!

VB制作随机点名程序源码!

VB制作幻灯片随机点名工具大家好,我是、灬尛坏坏"注:此程序适用于学校班级实用,此文是原创,转载请标明岀处,本次教程:这个在powerpoint里,完全和powerpoint结合起来,我简单写了一下,新建一个vb程序,在窗体上放一个label, 一个timer和一个按钮,timer 的interval 设置为1,Enable 设置为False。

源码(不解释,自己研究):Dim a(0 To 9) As StringPrivate Sub Command1_Click()Timer1.Enabled = Not Timer1.EnabledEnd SubPrivate Sub Form_Load()SetHotkey Me.hwnd, 1, 0, vbKeyHome,"Add"a(0)=" 张三"a(1)=" 李四"a(2)=" 王五"a(3)=" 刘六"a(4)=" 牛七"a(5)=" 马八”a(6)=" 杨九"a(7)=" 苟十"a(8)=" 朱----a(9)=" 吕十二”End SubPrivate Sub Form_Unload(Cancel As Integer)SetHotkey Me.hwnd, 1, 0, 0, "Del"End SubPrivate Sub Timer1_Timer()Dim i As Integeri = Int(Rnd * 10)Label1.Caption = a(i)Labell.Tag = iEnd Sub新建一个模块,写入以下代码Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVai hwnd As Long, ByVai nIndex As Long, ByVai dwNewLong As Long) As LongPrivate Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVai hwnd As Long, ByVai nIndex As Long) As LongPrivate Declare Function CallWindowProc Lib "user32" Alias "CallWindowProcA" (ByVaiIpPrevWndFunc As Long, ByVai hwnd As Long, ByVai Msg As Long, ByVai wParam As Long, ByVai iParamAs Long) As LongPrivate Deciare Function RegisterHotKey Lib "user32" (ByVai hwnd As Long, ByVai id As Long, ByVai fskey_Modifiers As Long, ByVai vk As Long) As LongPrivate Deciare Function UnregisterHotKey Lib "user32" (ByVai hwnd As Long, ByVai id As Long)As LongPublic Deciare Function ShowWindow Lib "user32" (ByVai hwnd As Long, ByVai nCmdShow As Long) AsLongPublic Deciare Sub keybd_event Lib "user32" (ByVai bVk As Byte, ByVai Scan As Byte, ByVai dwFiagsAs Long, ByVai dwExtraInfo As Long)Public Deciare Function SendMessageLib "user32" Alias "SendMessageA" (ByVai hwnd As Long, ByVai wMsg As Long, ByVai wParam As Long, iParam As Any) As LongPublic Deciare Function SetForegroundWindow Lib "user32" (ByVai hwnd As Long) As LongConst SW_HIDE = 0Const SW_SHOW = 5Const WM_HOTKEY = & H312Const MOD_ALT = &H1Const MOD_CONTROL = &H2Const MOD_SHIFT = &H4Const GWL_WNDPROC = (-4)'窗口函数的地址Dim FormlsShowing As BooleanDim key_preWinProc As Long ' 用来保存窗口信息Dim key_IsWinAddress As Boolean ' 是否取得窗口信息的判断Function keyWndproc(ByVai hwnd As Long, ByVai Msg As Long, ByVai wParam As Long, ByVai iParamAs Long) As LongIf Msg = WM_HOTKEY ThenSelect Case wParam 'wParam 值就是 key_idHotKeyCase 1 '激活多个热键后,多个热键所对应的操作,大家在其他的程序中,只要修改此处就可以了FormlsShowing = Not FormlsShowingIf FormIsShowing ThenShowWindow hwnd, SW_HIDEElseShowWindow hwnd, SW_SHOW'SendMessage hwnd, & H32, 0, 0SetForegroundWindow hwndEnd If'Case 2'MsgBox "hide"'ShowWindow hwnd, SW_HIDEEnd SelectEnd If'将消息传送给指定的窗口keyWndproc = CallWindowProc(key_preWinProc, hwnd, Msg, wParam, IParam)End FunctionFunction SetHotkey(ByVal hwnd As Long, ByVal KeyId As Long, ByVal keyControlKey As Long, ByVal keyNormalKey As Long, ByVal Action As String)If key_IsWinAddress = False Then ' 判断是否需要取得窗口信息,如果重复取得,再最后恢复窗口时, 将会造成程序死掉'记录原来的window程序地址key_preWinProc = GetWindowLong(hwnd, GWL_WNDPROC)'用自定义程序代替原来的window程序SetWindowLong hwnd, GWL_WNDPROC, AddressOf keyWndprocEnd IfSelect Case ActionCase "Add"RegisterHotKey hwnd, KeyId, keyControlKey, keyNormalKey ' 向窗口注册系统热键key_IsWinAddress = True ' 不需要再取得窗口信息Case "Del"SetWindowLong hwnd, GWL_WNDPROC, key_preWinProc '恢复窗口信息UnregisterHotKey hwnd, KeyId ' 取消系统热键key_IsWinAddress = False ' 可以再次取得窗口信息End SelectEnd Function这样就成了,主要的思路是注册系统热欢迎您的下载,资料仅供参考!致力为企业和个人提供合同协议,策划案计划书,学习资料等等打造全网一站式需求。

课堂随机点名vba代码

课堂随机点名vba代码

课堂随机点名vba代码以下是一个使用 VBA 编写的课堂随机点名代码示例:```vbSub RandomRollCall()'定义学生名单数组Dim Students(1 To 10) As StringStudents(1) = "张三"Students(2) = "李四"Students(3) = "王五"Students(4) = "赵六"Students(5) = "钱七"Students(6) = "孙八"Students(7) = "周九"Students(8) = "吴十"Students(9) = "郑十一"Students(10) = "王十二"'随机生成一个学生编号RandomizeDim RandomNumber As IntegerRandomNumber = Int(Rnd * 10) + 1'显示被点名的学生姓名MsgBox "今天被点名的是:" & Students(RandomNumber)End Sub```在上述代码中,我们首先定义了一个包含学生姓名的数组`Students`。

然后,使用`Randomize`语句初始化随机数生成器,再使用`Int(Rnd * 10) + 1`生成一个介于 1 到 10 之间的随机数。

最后,根据随机生成的学生编号,在消息框中显示被点名的学生姓名。

你可以根据需要修改学生名单数组的内容,或者根据实际情况调整随机数生成的范围和方式。

希望这个示例对你有所帮助!如果还有其他问题,请随时提问。

用VBA实现课堂语音点名 代码

用VBA实现课堂语音点名 代码
.Cells(Cells(13, 1) + 1, Cells(12, 1)) = "缺"
Cells(13, 1) = Cells(13, 1) - 1
'点名人数递减
If Cells(13, 1) = 0 Then
MsgBox "点名完毕!"
'语音朗读姓名
CommandButton3.Activate
End If
End With
End Sub
Private Sub CommandButton2_Click()
'缺
If CommandButton2.Enabled Then
With Sheet2
With Sheet2
.Cells(Cells(13, 1) + 1, Cells(12, 1)) = ""
Cells(13, 1) = Cells(13, 1) - 1
'点名人数递减
If Cells(13, 1) = 0 Then
首先要说明的是,Excel中“文本到语音”的功能不是默认安装的。打开“工具”菜单,选择“语音”项子菜单中的“显示文本到语音工具栏”命令, Excel会自动进行安装。安装好后,可以弹出“文本到语音”浮动工具栏。
以Excel 2003为例,具体实现步骤如下:
1.在工作表Sheet2中输入学生的点名册信息(图1)。
MsgBox "点名完毕!"
Cells(5, 3) = "点名请单击"
Cells(8, 3) = "开始按钮"
CommandButton1.Activate

vb随机点名系统

vb随机点名系统

控件:标签控件命令按钮属性:标签控件命令按钮代码:Private Sub Command1_Click() RandomizeDim a(1 To 43) As Stringa(1) = "白婷"a(2) = "王菲儿"a(3) = "高艳婷"a(4) = "刘巧慧"a(5) = "蒋罗"a(6) = "苏波"a(7) = "张利军"a(8) = "李源"a(9) = "方勃"a(10) = "张俊美"a(11) = "李晓"a(12) = "王鑫"a(13) = "李红红"a(14) = "刘强强"a(15) = "李春荣"a(16) = "王震"a(17) = "方艳芳"a(18) = "刘媛"a(19) = "王智"a(20) = "刘娜"a(21) = "曹小虎"a(22) = "王瑞"a(23) = "高彦榆"a(24) = "杜佳龙"a(25) = "李红艳"a(26) = "孙彪"a(27) = "薛刚"a(28) = "杭彩玲"a(29) = "李婷"a(30) = "刘子伟"a(31) = "曹彦军"a(32) = "李鹏飞"a(33) = "李静"a(34) = "张芹"a(35) = "李天龙"a(36) = "刘艳丽"a(37) = "刘强"a(38) = "李占国"a(39) = "刘占平"a(40) = "李红霞"a(41) = "白刚"a(42) = "张润兵"a(43) = "高建平"Dim i As Integeri = Int(43 * Rnd + 1) Label1.Caption = a(i) End Sub。

智能排课系统vb代码之欧阳术创编

智能排课系统vb代码之欧阳术创编

Vb核心代码设计一:输入界面与代码(以班级表为例)Dim Conn As New ADODB.Connection '连接变量Dim SqlString As String '查询字符串Dim Connstring As String '连接字符串Dim RS1 As New ADODB.Recordset '记录集变量Dim bm '定义一个变量用来存放添加记录时原来记录的位置Dim tj As BooleanPrivate Sub Command10_Click()Form4.HideForm3.ShowEnd SubPrivate Sub Command1_Click() '移到首记录RS1.MoveFirstCommand1.Enabled = FalseCommand2.Enabled = FalseCommand3.Enabled = TrueCommand4.Enabled = TrueEnd SubPrivate Sub Command2_Click() '前移 RS1.MovePreviousIf RS1.BOF ThenRS1.MoveFirstCommand1.Enabled = FalseCommand2.Enabled = FalseEnd IfCommand3.Enabled = TrueCommand4.Enabled = TrueCall DispValue '显示当前记录的值End SubPrivate Sub Command3_Click() '后移 RS1.MoveNextIf RS1.EOF ThenRS1.MoveLastCommand3.Enabled = FalseCommand4.Enabled = FalseEnd IfCommand1.Enabled = TrueCommand2.Enabled = TrueEnd SubPrivate Sub Command4_Click() '移到末记录RS1.MoveLastCommand3.Enabled = FalseCommand4.Enabled = FalseCommand1.Enabled = TrueCommand2.Enabled = TrueCall DispValue '显示当前记录的值End SubPrivate Sub Command5_Click() '删除记录If (MsgBox("真的要删除该记录吗?", vbQuestion + vbYesNo, "删除提示") = vbYes) ThenRS1.Delete '删除RS1.MoveNextIf RS1.EOF Then '如果删除的是末记录RS1.MoveLastEnd IfEnd IfCall DispValue '显示当前记录的值End SubPrivate Sub Command6_Click() '添加记录bm = RS1.Bookmark '用书签记下当前记录位置RS1.AddNew '调用AddNew方法增加新记录Call EditStatus '置按钮和文本框状态Call EmptyText '清空文本框tj = True '是添加新记录End SubPrivate Sub Command7_Click() '修改记录Call EditStatus '置按钮和文本框状态tj = False '不是添加记录,是修改记录End SubPrivate Sub Command8_Click() '确定操作Call SetValue '给各字段赋值RS1.Update '调用Update方法保存Call OkStatus '置按钮和文本框状态MsgBox ("保存成功") '给出保存成功提示End SubPrivate Sub Command9_Click() '取消操作If (MsgBox("真的要取消修改吗?", vbQuestion + vbYesNo)) = vbYes ThenRS1.CancelUpdateIf tj Then '如果是增加新记录RS1.Bookmark = bm '把记录指针移动到原来的位置End IfCall DispValue '显示当前记录的值Call OkStatus '置按钮和文本框状态End IfEnd SubPrivate Sub Form_Load()Connstring = "Driver={SQL Server};Server=PC2012110412ewr.;Database=GXPK;" _& "uid =sa;pwd=t123" 'SQL Server普通安全模式建立到Pubs 数据库的连接的连接字符串'设置连接字符串With Conn.ConnectionString = Connstring '给ConnectionString属性赋值 .ConnectionTimeout = 10.Open '给连接的ConnectionString属性赋值,然后使用求带参数的Open方法打开连接End WithMsgBox ("连接成功")RS1.CursorType = adOpenDynamicRS1.CursorLocation = adUseClient '游标服务的位置、默认值adUseServer。

VB课堂点名回答问题系统的设计与实现

VB课堂点名回答问题系统的设计与实现

VB课堂点名回答问题系统的设计与实现目录中文摘要 (Ⅰ)英文摘要 (Ⅱ)第一章标题 (1)第一节标题 (1)一、 (2)二、 (3)第二节标题·······················一、··························二、··························第二章标题·························第一节标题·······················一、··························二、··························第二节标题·······················一、··························二、··························参考文献··························附录(可选)························致谢····························第一章前言第一节研究背景及目的意义近些年来,我国大学生的整体素质不断下降,一方面是由于政策上的放松,另外一个不可忽视的原因便是大学课堂越来越低的到课率。

Vb课程设计-课堂点名

Vb课程设计-课堂点名

课堂点名设计报告一、设计思路1.要达到的目的①点击“开始”后,开始显示学生信息。

程序实现从Excel工作表中读取学生信息,显示在窗体控件上。

(“开始”按钮变为无效状态,防止反复点击创建多个Excel对象。

)②按下空格键表示出勤、其他键表示缺勤,并用Y/N表示出勤/缺勤,记录到Excel工作表里。

③点击缺勤时,会显示出缺勤人的学号和姓名。

点击出寝室时不会出现数据显示。

④回车键使点名过程暂停/继续。

⑤点击退出,退出点名程序。

2.关键问题的解决①两个事件过程之间的通信。

②在显示过程中要启动延时,延时需要Timer配合。

③在两个事件过程之间通过一个全局的Boolean变量TimeOu他通信④解决对excel对象的应用二、模块之间的调用关系,或程序流程图(无)三、部分程序关键源代码及注释①Dim xlapp As New Excel.ApplicationDim xlbook As Excel.WorkbookDim xlsheet As Excel.Worksheet '声明excel对象Dim reach As Boolean, r As Integer 'reach是否出勤②Set xlapp = CreateObject("Excel.Application") '创建Excel对象Set xlbook = xlapp.Workbooks.Open(App.Path & "\VB名单.xls") '打开名单工作薄xlapp.Visible = False '设置EXCEL对象不可见③Private Sub Command2_Click() '退出Timer1.Enabled = Falsexlbook.Close (True) '关闭工作簿Excel.Application.Quit '结束EXCEL对象EndEnd Sub④Private Sub Form_Initialize()Set xlapp = CreateObject("Excel.Application") '创建Excel对象Set xlbook = xlapp.Workbooks.Open(App.Path & "\VB名单.xls") '打开名单工作薄xlapp.Visible = False '设置EXCEL对象不可见Set xlsheet = xlbook.Worksheets("Sheet1") '设置活动工作薄End Sub⑤Private Sub Option1_Click(Index As Integer)Print Label3Print Text1End Sub⑥Private Sub Timer1_Timer()With xlsheetLabel2.Caption = .Range("C" & r).ValueLabel3.Caption = .Range("A" & r).ValueText1.Text = .Range("B" & r).ValueIf reach Then.Range("D" & r).Value = "Y"Else.Range("D" & r).Value = "N"End IfEnd WithEnd Sub四、设计方案的完善及目前存在的问题1.设计方案要完善的地方①待完善增加缺勤人数总和的统计和缺勤人数占总人数的比例。

随机点名系统(软件详细设计说明书)

随机点名系统(软件详细设计说明书)

1引言 (2)1.1编写目的 (2)1.2背景 (2)1.3定义 (2)1.4参考资料 (3)2程序系统的结构 (3)3程序1(教师记录考勤情况)设计说明 (4)3.1程序描述 (4)3.2功能 (4)3.3性能 (4)3.4输人项 (5)3.5输出项 (5)3.6算法 (5)3.7流程逻辑 (6)3.8接口 (7)3.9存储分配 (7)3.10注释设计 (7)3.11限制条件 (7)3.12测试计划 (7)3.13尚未解决的问题 (8)4程序2(登陆程序)设计说明 (8)4.1程序描述 (8)4.2功能 (8)4.3性能 (8)4.4输入项 (8)4.5输出项 (8)4.6算法 (9)4.7流程逻辑 (10)4.8接口 (11)4.9存储分配 (11)4.10注释设计 (11)4.11限制条件 (11)4.12测试计划 (11)4.13尚未解决的问题 (11)详细设计说明书1引言1.1编写目的在本随机点名系统项目的前一阶段,也就是概要设计阶段中,已经将系统用户对本系统的子模块功能做了详细的阐述,这些模块功能具体设计将在本报告中详尽得以叙述及阐明。

本阶段已在系统的概要设计的基础上,对随机点名系统做详细设计。

主要解决了实现该系统程序模块具体设计问题。

包括确定算法,数据结构,模块接口的使用,数据库的动态操作以及界面设计等。

在以下的概要设计报告中将对在本阶段中对系统所做的所有详细设计进行详细的说明。

在下一阶段的编码过程中,可参考此详细设计报告,在详细设计对随机点名系统所做的算法设计,数据结构以及数据库动态操作的基础上,对系统进行编码。

1.2背景开发软件名称:随机点名系统。

开发者:李昊霖用户:高校教师,学生,教务人员运行环境:个人电脑开发平台:VB平台,Mysql数据库。

1.3定义流程图:反映现行系统各机构的业务处理过程和它们之间的业务分工与联系,以及连接学生,教师和管理员信息流的传递和流通关系,体现现行系统的界限、环境、输入、输出、处理和数据存储等内容。

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

随机点名系统。

综合网上各类小程序,自己修改定制了一款新的小程序。

学生名单.txt 放在同一个目录中。

使用截图如下
Private Declare Sub SetWindowPos Lib "user32" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long)
'定义常量
Const HWND_TOPMOST = -1 'On Top
Const HWND_NOTOPMOST = -2 'No Top
Const SWP_NOACTIV A TE = &H10 '
Const SWP_SHOWWINDOW = &H40 '
'Dim TopOn As Integer
Dim ss, mm, nn
Dim num(1 To 300) As Integer
Dim j, k As Integer
Dim A(500) As String, r As Integer
Dim filename As String
Private Sub Command1_Click()
Dim b As String
Dim t, i As Integer
filename = App.Path & "\" & "学生名单.txt" Open filename For Input As #1
'产生记录总数以内的随机数x
i = 1
While Not EOF(1)
Line Input #1, A(i)
i = i + 1
Wend
c = i
Close #1
Start:
Randomize
t = Int(c * Rnd + 1)
For j = 1 To c
If t = num(j) Then
GoTo Start
End If
Next
Label1.Caption = A(t)
k = k + 1
num(k) = t
If k = c Then
MsgBox "所有人员均已点过!", vbSystemModal Command1.Enabled = False
Command3.Enabled = True
End If
End Sub
Private Sub Command2_Click()
Unload Form1
End Sub
Private Sub Command3_Click()
j = 0
k = 0
For i = 1 To 300
num(i) = 0
Next
Command3.Enabled = False
Command1.Enabled = True
Label1.Caption = "Name"
End Sub
Private Sub Command4_Click()
Timer1.Enabled = True
Command4.Enabled = False
End Sub
Private Sub Data1_Validate(Action As Integer, Save As Integer) End Sub
Private Sub Form_load()
Form1.Height = 500
Form1.Width = 8550
Command3.Enabled = False
Timer1.Enabled = False
mm = 45: ss = 0
Timer1.Interval = 1000
End Sub
Private Sub Timer1_Timer()
Dim M As Integer
SetWindowPos Me.hwnd, HWND_TOPMOST, Me.Left / 15, _
Me.Top / 15, Me.Width / 15, _
Me.Height / 15, SWP_NOACTIV ATE Or SWP_SHOWWINDOW Line1:
If ss < 10 Then
s = "0" & ss
Else
s = ss
End If
If mm < 10 Then
mmm = "0" & mm
Else
mmm = mm
End If
t = mmm & ":" & s
Label2.Caption = t
ss = ss - 1
If nn = 3 Then
ss = 88
End If
If mm = 0 And ss = -1 And nn = 0 Then
MsgBox "休息时间已到,五分钟后继续", vbSystemModal
nn = 1
mm = 5: ss = 0
GoTo Line1
End If
If mm = 0 And ss = -1 And nn = 1 Then
MsgBox "继续上课", vbSystemModal
nn = 2
mm = 45: ss = 0
GoTo Line1
End If
If mm = 0 And ss = -1 And nn = 2 Then
MsgBox "放学咯!", vbSystemModal
Command1.Enabled = False
nn = 3
mm = 88: ss = 88
End If
If ss = -1 And mm > 0 Then mm = mm - 1: ss = 59
If mm = 0 And hh > 0 Then hh = hh - 1: mm = 59 End Sub。

相关文档
最新文档