用vb制作随机点名器
VB写的随机点名器代码
不是我写的,在其它网页上粘贴来的。
看了李冬梅老师的信息及其特征这堂课发现原来一个小小的点名器可以很好的让学生集中注意力,跟着老师的思路走,所以学一下。
VB写的随机点名器代码''+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'1、新建一个工程;'2、在窗体Form1内放入La bel1、Timer1、Com mand1、Comm and2四个控件;'3、把以下代码直接复制到你的工程里;'4、在工程所在的文件夹里新建一个文本文件“N.t xt”,把名字写入文件,一行一个名字。
'+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''代码虽简单,'为你解忧烦,'写码伤脑筋,'占用我一晚;'每每向钱看,'钱包总受伤,'拷完顶一顶,'就算帮个忙。
(这是编程的作者写的,前面挺押韵,也挺有意思,呵呵。
)'Op tionExpli citD im Te mp As Stri ng Dim Name Txt(5000)As St ring'存储从“N.txt”中逐行读取的内容,如果大于5000条记录请更改为更大的数字。
Dim i As L ong Di m LcAs Lo ng 'N.txt中的记录总数(文本行数) Dimx AsLong ' 存储随机数Pr ivate SubComma nd1_C lick() i =0 Lc = 0 x = 999999 Ope n App.Path & "\N.txt" For Inpu t As#1 '数一数“N.tx t”中有几个记录。
基于VB和SpeechSDK的课堂随机语音点名系统设计_刘杰
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
随机点名器的设计
右边按钮的“点击”事件代码为
thisform.timer2.enabled=.t. bel1.caption=" "
Timer1的Timer事件代码
s=thisform.edit1.value &&读取编辑框到字符串s n=occurs(chr(13),s) &&统计编辑框中的总行数 k=int(rand()*n)+1 &&产生随机数k:1...n if k>1
左边按钮的“点击”事件代码为
if this.caption=="开始(\<S)" thisform.timer1.enabled=.t. this.caption="停止(\<S)"
else thisform.timer1.enabled=.f. this.caption="开始(\<S)" endif
thisform.edit1.setfocus
mand1.enabled=.f.
endif
else
if thisform.width>370 &&设表单收拢到宽度370
thisform.width=thisform.width-10 &&收拢窗体右边
else
this.enabled=.f.
&&收拢停止
this.tag="0"
&&设已收拢标志
mand2.caption="输入名单"
s=thisform.edit1.value &&读取编辑框到字符串s
n=occurs(chr(13),s) &&统计编辑框ed=.t.
VB编写的课堂随机点名小程序代码
随机点名系统。
综合网上各类小程序,自己修改定制了一款新的小程序。
学生名单.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 TopConst HWND_NOTOPMOST = -2 'No TopConst SWP_NOACTIV A TE = &H10 'Const SWP_SHOWWINDOW = &H40 ''Dim TopOn As IntegerDim ss, mm, nnDim num(1 To 300) As IntegerDim j, k As IntegerDim A(500) As String, r As IntegerDim filename As StringPrivate Sub Command1_Click()Dim b As StringDim t, i As Integerfilename = App.Path & "\" & "学生名单.txt" Open filename For Input As #1'产生记录总数以内的随机数xi = 1While Not EOF(1)Line Input #1, A(i)i = i + 1Wendc = iClose #1Start:Randomizet = Int(c * Rnd + 1)For j = 1 To cIf t = num(j) ThenGoTo StartEnd IfNextLabel1.Caption = A(t)k = k + 1num(k) = tIf k = c ThenMsgBox "所有人员均已点过!", vbSystemModal Command1.Enabled = FalseCommand3.Enabled = TrueEnd IfEnd SubPrivate Sub Command2_Click()Unload Form1End SubPrivate Sub Command3_Click()j = 0k = 0For i = 1 To 300num(i) = 0NextCommand3.Enabled = FalseCommand1.Enabled = TrueLabel1.Caption = "Name"End SubPrivate Sub Command4_Click()Timer1.Enabled = TrueCommand4.Enabled = FalseEnd SubPrivate Sub Data1_Validate(Action As Integer, Save As Integer) End SubPrivate Sub Form_load()Form1.Height = 500Form1.Width = 8550Command3.Enabled = FalseTimer1.Enabled = Falsemm = 45: ss = 0Timer1.Interval = 1000End SubPrivate Sub Timer1_Timer()Dim M As IntegerSetWindowPos 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 Thens = "0" & ssElses = ssEnd IfIf mm < 10 Thenmmm = "0" & mmElsemmm = mmEnd Ift = mmm & ":" & sLabel2.Caption = tss = ss - 1If nn = 3 Thenss = 88End IfIf mm = 0 And ss = -1 And nn = 0 ThenMsgBox "休息时间已到,五分钟后继续", vbSystemModalnn = 1mm = 5: ss = 0GoTo Line1End IfIf mm = 0 And ss = -1 And nn = 1 ThenMsgBox "继续上课", vbSystemModalnn = 2mm = 45: ss = 0GoTo Line1End IfIf mm = 0 And ss = -1 And nn = 2 ThenMsgBox "放学咯!", vbSystemModalCommand1.Enabled = Falsenn = 3mm = 88: ss = 88End IfIf ss = -1 And mm > 0 Then mm = mm - 1: ss = 59If mm = 0 And hh > 0 Then hh = hh - 1: mm = 59 End Sub。
抖音同款课堂点名系统,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编写点名系统张晓理工六班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。
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这样就成了,主要的思路是注册系统热欢迎您的下载,资料仅供参考!致力为企业和个人提供合同协议,策划案计划书,学习资料等等打造全网一站式需求。
VB中随机函数Rnd的应用-王敏
(一)情景创设,引入新课
[教师活动]展示实验要求:抛掷一枚骰子,观察出现的点数
[学生活动]六名学生分成三组.每组1人掷骰子,1人记录点数,每组分别测试10次
[师生互动]根据各组的实验数据得出结论,导出本节所学内容Rnd函数.
结论1:出现1点、2点……6点是基本事件
结论2:点数大于6点,是不可能事件
③思考现实生活中有哪些方面体现了随机性?
二、学习目标
(一)知识与能力
1、理解VB中Rnd函数的功能
2、掌握利用Rnd函数产生某范围内随机整数的方法
3、应用Rnd函数进行程序设计,解决实际问题
(二)过程与方法
1、通过实例演练,体验VB应用程序中代码编写、程序调试与保存的过程
2、通过VB程序的界面设计,强化各生在掌握知识的同时,也感受到在学习与生活中融入信息用互联网.
4、VB中随机函数Rnd是一个实用性很强的函函数求得随机整数解决实际问题.为此在教学中我采用任务驱动形式,注重培养学生的动手实践能力与逻辑思维分析能力.但在真正授课过程中,仍出现一些问题:
④使用Rnd函数之前,使用Randomize语句初始化随机数发生器,该发生器使用系统时钟的秒数作为随机数种子
2、通过实例体会Rnd函数的格式、功能与注意事项
[实例]在窗体中创建一个文本框和一个命令按钮.在命令按钮的Click事件中输入代码,生成随机数
代码如下:
Private Sub Command1_Click<>
无论使用任何编程语言,都有一个随机数,用来产生随机的种子,稍微对代码进行改良,就可以得到所想要的在一定范围之内的随机数.VB中随机函数Rnd是中等职业学校教学用书〔计算机技术专业〕《Visual Basic程序设计》〔第3版〕第三章第四节内容.
课堂随机点名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 之间的随机数。
最后,根据随机生成的学生编号,在消息框中显示被点名的学生姓名。
你可以根据需要修改学生名单数组的内容,或者根据实际情况调整随机数生成的范围和方式。
希望这个示例对你有所帮助!如果还有其他问题,请随时提问。
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制作课堂随机点名器作者:汪思帆来源:《发明与创新.教育信息化》2015年第03期一、情境需求课堂提问是一种最直接、最基本的教学活动形式。
然而低年级学生在课堂上比高年级学生要活跃,低年级学生更能积极主动地参与课堂。
但随着学生年龄的增大,课堂上能主动回答问题的同学越来越少,需由老师来点名回答,这样的课堂显得单调而沉闷。
也有些同学认为老师偏心,总让一些成绩好的同学来回答问题。
久而久之,学生会对课程和老师产生厌恶。
为了解决此问题,我尝试引入类似抽奖的游戏机制进入课堂来解决学生点名的问题。
在教学业余时间我用VB软件制作了一个课堂随机点名器,在课堂上用它来随机抽取学生回答问题。
我发现随机点名游戏机制的应用不仅活跃了课堂气氛,增加了趣味性,而且还体现了学生回答问题的公平和公正,让每个同学都有机会参与课堂回答问题。
二、程序设计思路1. 首先读取学生名单,学生的名单以格式化的文本文件的形式存储,然后通过随机函数来调用学生名单。
2. 其次通过时间控件来控制,每一次时间控件的执行则运行一次调用学生名单的随机函数。
3. 最后通过开始和停止来控制程序的运行。
三、程序的功能特点1. 程序容量小,界面美观,简洁。
2. 操作简单,适用性广。
3. 抽取的名单具有随机性。
下面我们用VB软件来制作这个程序,实现上述功能。
四、程序的制作方法(一)制作程序界面打开VB6.0软件,方法如下:新建一个“标准EXE”文件,即建立一个窗体Form1,在窗体Form1上添加以下几个控件。
在左边的控件栏里拖入两个按钮Command1和Command2,再拖入一个文本框控件Text1,最后再拖入一个时间控件Timer1。
并设置好各控件的大小和排好位置如图一所示。
(二)准备一个班的学生名单,用记事本来保存,并且使每个学生的姓名占一行。
如文件名为“name.txt”。
如图二所示。
(三)要想使其产生效果,还必须添加一些程序代码。
1. 先来添加两个按钮的代码。
VB课堂点名回答问题系统的设计与实现
VB课堂点名回答问题系统的设计与实现目录中文摘要 (Ⅰ)英文摘要 (Ⅱ)第一章标题 (1)第一节标题 (1)一、 (2)二、 (3)第二节标题·······················一、··························二、··························第二章标题·························第一节标题·······················一、··························二、··························第二节标题·······················一、··························二、··························参考文献··························附录(可选)························致谢····························第一章前言第一节研究背景及目的意义近些年来,我国大学生的整体素质不断下降,一方面是由于政策上的放松,另外一个不可忽视的原因便是大学课堂越来越低的到课率。
《VB程序设计》实例教学
259教法研究2020年第10期作为一名计算机科学与技术本科毕业的学生,对于程序设计的学习深有体会。
大学的程序设计教学,老师总是会一开始就给你讲枯燥乏味、长篇累牍的数据类型、运算符、表达式等,往往一下子就把部分学生的学习热情浇灭了,学习的兴趣没了,接下去更复杂的程序结构、数组、函数、数据结构……,更是越学越糟糕。
对于所有的学习,兴趣才是首要,也是最重要的。
新课程明确了计算思维是计算机科学技术的核心,本文结合自己在《VB程序设计》实例教学中的一些作法,和大家一起来交流探讨。
1 趣味实例,兴趣盎然VB作为一个可视化的编程工具,比C++和其他的一些纯代码界面的程序设计软件,我认为对于初学程序设计的学生来说,还是比较容易上手的。
但可视化如果不能启发兴趣,学生可能还是无法喜欢并学好。
因为可视化毕竟大部分程序的实现还是需要写代码。
启发学生的学习兴趣就显得尤其重要。
在第一节课,我就给学生展示了一个VB程序制作的简易计算器,并把这个“计算器”软件发给学生自己体检,学生都很好奇激动。
问学生想不想自己也能做出一个计算器呢?学生的回答都很肯定,也很有激情。
VB最大的特点也就是它友好的窗体界面,要学好VB,首先就是来认识窗体,认识窗体不能像讲word那样,介绍各窗体工具栏的名称。
我就通过实例让学生明白窗体的作用、工具栏的作用等。
比如用一个简单的窗体输出实例,一行的代码,简单易上手,让学生明白两个知识点,窗体的作用可以显示,窗体的输出命令是“print”。
2 控件知识,融会贯通VB的控件对于程序的实现有很大的作用,各控件的作用各不相同,如果纯理论讲解,命令按钮是实现鼠标点击(Click)事件,学生也是听得云里雾里。
给学生讲一个程序,按下命令按钮实现改变窗体的大小,让学生体会,原来命令按钮就像一个开关,按下这个开关,就能让程序实现我想要做的事情——改变窗体大小。
文本框的作用,我用了最经典的简单加法计算器来讲解,拖出五个文本框和一个命令按钮,其中两个个文本框用来输入加数,两个用来显示加号和等号,按下命令按钮后,在和的文本框中得到并显示结果。
VBA快速生成随机姓名与地址的实用方法
VBA快速生成随机姓名与地址的实用方法在许多情况下,我们需要在Excel电子表格或其他Microsoft Office应用程序中快速生成随机的姓名和地址。
这种需求可以是为了模拟测试数据、创建假数据集或生成样本文件。
在这篇文章中,我们将探索一种实用且高效的方法,使用VBA编程语言来实现快速生成随机姓名和地址的功能。
一、生成随机姓名在开始编写VBA代码之前,我们需要准备一个包含常用姓氏和名字的列表。
这个列表可以是一个Excel电子表格,其中每一行包含一个姓氏和名字的组合。
你可以根据实际需求,选择任意数量的姓名。
在VBA编辑器中,我们将使用Randomize函数、Rnd函数和Cells函数来实现随机生成姓名的功能。
下面是一个示例代码:```vbaSub GenerateRandomName()Dim lastRow As Long, randomIndex As LonglastRow = Sheets("姓名列表").Cells(Rows.Count,1).End(xlUp).RowrandomIndex = Int((lastRow - 1 + 1) * Rnd + 1)Dim randomName As StringrandomName = Sheets("姓名列表").Cells(randomIndex,1).Value & " " & Sheets("姓名列表").Cells(randomIndex,2).ValueMsgBox randomName, vbInformation, "随机姓名"End Sub```以上代码假设姓名列表位于名为“姓名列表”的工作表中的A列和B列。
你可以根据实际情况修改代码中的工作表名称和数据列。
执行这段代码后,将会在一个消息框中显示随机生成的姓名。
Vb随机产生姓名的函数
Vb随机产生姓名的函数Public Function randxm() As VariantDim x() As Variantx = Array( _"赵", "钱", "孙", "李", "周", "吴", "郑", "王", "冯", "陈", "楮", "卫", "蒋", "沈", "韩", _"杨", "朱", "秦", "尤", "许", "何", "吕", "施", "张", "孔", "曹", "严", "华", "金", "魏", _"陶", "姜", "戚", "谢", "邹", "喻", "柏", "水", "窦", "章", "云", "苏", "潘", "葛", "奚", _"范", "彭", "郎", "鲁", "韦", "昌", "马", "苗", "凤", "花", "方", "俞", "任", "袁", "柳", _"酆", "鲍", "史", "唐", "费", "廉", "岑", "薛", "雷", "贺", "倪", "汤", "滕", "殷", "罗", _"毕", "郝", "邬", "安", "常", "乐", "于", "时", "傅", "皮", "卞", "齐", "康", "伍", "余", _"元", "卜", "顾", "孟", "平", "黄", "和", "穆", "萧", "尹", "姚", "邵", "湛", "汪", "祁", _"毛", "禹", "狄", "米", "贝", "明", "臧", "计", "伏", "成", "戴", "谈", "宋", "茅", "庞", _"熊", "纪", "舒", "屈", "项", "祝", "董", "梁", "杜", "阮", "蓝", "闽", "席", "季", "麻", _"强", "贾", "路", "娄", "危", "江", "童", "颜", "郭", "梅", "盛", "林", "刁", "锺", "徐", _"丘", "骆", "高", "夏", "蔡", "田", "樊", "胡", "凌", "霍", "虞", "万", "支", "柯", "昝", _"管", "卢", "莫", "经", "房", "裘", "缪", "干", "解", "应", "宗", "丁", "宣", "贲", "邓", _"郁", "单", "杭", "洪", "包", "诸", "左", "石", "崔", "吉", "钮", "龚", "程", "嵇", "邢", "滑", "裴", "陆", "荣", "翁", "荀", "羊", "於", "惠", "甄", "麹", "家", "封", "芮", "羿", _"储", "靳", "汲", "邴", "糜", "松", "井", "段", "富", "巫", "乌", "焦", "巴", "弓", "牧", "隗", "山", "谷", "车", "侯", "宓", "蓬", "全", "郗", "班", "仰", "秋", "仲", "伊", "宫", _"宁", "仇", "栾", "暴", "甘", "斜", "厉", "戎", "祖", "武", "符", "刘", "景", "詹", "束", "龙", "叶", "幸", "司", "韶", "郜", "黎", "蓟", "薄", "印", "宿", "白", "怀", "蒲", "邰", _"从", "鄂", "索", "咸", "籍", "赖", "卓", "蔺", "屠", "蒙", "池", "乔", "阴", "郁", "胥", "能", "苍", "双", "闻", "莘", "党", "翟", "谭", "贡", "劳", "逄", "姬", "申", "扶", "堵", _"冉", "宰", "郦", "雍", "郤", "璩", "桑", "桂", "濮", "牛", "寿", "通", "边", "扈", "燕", "冀", "郏", "浦", "尚", "农", "温", "别", "庄", "晏", "柴", "瞿", "阎", "充", "慕", "连", _"茹", "习", "宦", "艾", "鱼", "容", "向", "古", "易", "慎", "戈", "廖", "庾", "终", "暨", "居", "衡", "步", "都", "耿", "满", "弘", "匡", "国", "文", "寇", "广", "禄", "阙", "东", _"欧", "殳", "沃", "利", "蔚", "越", "夔", "隆", "师", "巩", "厍", "聂", "晁", "勾", "敖", "融", "冷", "訾", "辛", "阚", "那", "简", "饶", "空", "曾", "毋", "沙", "乜", "养", "鞠", _"须", "丰", "巢", "关", "蒯", "相", "查", "后", "荆", "红", "游", "竺", "权", "逑", "盖", "益", "桓", "督", "琴", "岳", "帅", "缑", "亢", "况", "后", "有", "仉", "晋", "楚", "公", _"阎", "法", "汝", "鄢", "涂", "归", "商", "牟", "佘", "佴", "伯", "赏", "墨", "哈", "谯", "笪", "年", "爱", "阳", "佟", "海", "钦", _"万俟", "司马", "上官", "欧阳", "夏侯", "诸葛", "闻人", "东方", "赫连", "皇甫", "尉迟", "公羊", "澹台", "公冶", "宗政", "濮阳", "淳于", "单于", "太叔", "申屠", "公孙", "仲孙", "轩辕", _"令狐", "锺离", "宇文", "长孙", "慕容", "鲜于", "闾丘", "司徒", "司空", "丌官", "司寇", "子车", "颛孙", "端木", "巫马", "公西", "漆雕", "乐正", "壤驷", "公良", "拓拔", "夹谷", "宰父", _"谷梁", "段干", "百里", "东郭", "南门", "呼延", "南宫", "羊舌", "微生", "梁丘", "左丘", "东门", "西门")Randomizea = Int(501 * Rnd + 1)b = Int(442 * Rnd + 1) randxm = x(a) & x(b) End Function。
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这样就成了,主要的思路是注册系统热欢迎您的下载,资料仅供参考!致力为企业和个人提供合同协议,策划案计划书,学习资料等等打造全网一站式需求。
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、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
用vb制作随机点名器,提供代码及详细制作步骤
1.Form的Caption属性可命名为:课堂随机点名
2.在界面放入一个Listbox, 一个Label ,一个commandbotton,它们的属性不用改变。
3.右击表单Form,选择“查看代码”
4.输入下列代码:
Option Explicit
Dim flag As Boolean
Private Sub Command1_Click()
With Command1
If .Caption = "点名" Then
.Caption = "停止"
flag = False
test
Else
.Caption = "点名"
flag = True
End If
End With
End Sub
Function test()
Dim t
Do Until flag
Label1.Caption = List1.List(Int(Rnd * List1.ListCount)) t = Timer
Do Until Timer - t > 0.05
DoEvents
Loop
DoEvents
Loop
End Function
Private Sub Form_Load()
Dim arr, i As Integer
List1.Visible = False
Command1.Caption = "点名"
With Label1
.Caption = ""
.AutoSize = True
.ForeColor = vbRed
.FontSize = 24
.FontBold = True
End With
Open App.Path & "\123.txt" For Input As #1 (备注说明:在保存位置同一目录下新建一个123的文本文件,并把名单录入到文本中,一个名字一行。
)
Close #1
For i = 0 To UBound(arr)
If Len(arr(i)) > 0 Then List1.AddItem arr(i)
End Sub
运行界面如下:。