首页 vb学习大全

vb学习大全

举报
开通vip

vb学习大全计算球的表面积和体积 求圆的面积和周长    第一步:设计程序界面:在窗体上摆放标签框、文本框、按钮。 第二步:设置对象属性:通过设置对象属性,可以让对象显示合适的文字、具有合适的大小,外观 对象 属性 设置 窗口 caption 计算圆面积和周长 窗口 Maxbutton False 窗口 Icon 一个图标文件 label1 caption 半径 label2 caption 周长 label3 caption 面积 label4 caption 空 label5 caption 空 text1 text 空 ...

vb学习大全
计算球的 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 面积和体积 求圆的面积和周长    第一步: 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 程序界面:在窗体上摆放标签框、文本框、按钮。 第二步:设置对象属性:通过设置对象属性,可以让对象显示合适的文字、具有合适的大小,外观 对象 属性 设置 窗口 caption 计算圆面积和周长 窗口 Maxbutton False 窗口 Icon 一个图标文件 label1 caption 半径 label2 caption 周长 label3 caption 面积 label4 caption 空 label5 caption 空 text1 text 空 command1 caption 计算 command2 caption 清空 command3 caption 结束 另外,还可以用鼠标拖动,设置窗口的大小,最后效果如下图所示: 第三步:编写代码:切换到代码编写窗口,然后选择合适的对象和事件,在相应的事件过程中编写代码。 简单文本编辑器 题目: 用VB设置一个简单的文本编辑器,它能自动适应窗体的大小,同时能进行一些文本编辑时常见的操作,如删除,插入,拷贝等操作。示例 程序运行时效果 能进行一些简单的编辑操作: 放大缩小窗口时,文本窗口可以自动适应窗口的大小。 分析 定性数据统计分析pdf销售业绩分析模板建筑结构震害分析销售进度分析表京东商城竞争战略分析 (1)在运行时,让用户输入信息,这可以用文本框实现。文本框本身支持右键单击并能弹出相应的菜单,所以并不需要对右键单击等功能进行编程!(这么强大的功能居然不需要编码!!)。 (2)文本框自动适应窗口的大小。用事件驱动的方式描述为:当窗口的大小发生改变时,文本框的大小发生改变。窗口大小发生改变的事件为窗口的resize事件。所以需要对窗口的resize事件编写相应代码。 编写过程 第一步:界面设计 在窗体上放置一个文本框对象。 第二步:属性设置 对象名 属性 设置 Form1 Caption 简易文本编辑器 Form1 MaxButton False Form1 Icon 一个图标文件 Text1 Text 空 Text1 MultiLine True Text1 ScrollBars 3-Both 设置后的效果为: 第三步:代码编写 Private Sub Form_Resize()     text1.Width = form1.Width - 200     text1.Height = form1.Height - 500     text1.Left = 0     text1.Top = 0 End Sub  注册 任务: 上节课我们做了一个计算器程序。取得了很大的成功,用户众多。为了保障开发者的利益,要求使用者使用正版软件,进行注册。 程序示例: 单击“注册”按钮,出现输入注册码窗口: 输入正确注册码(假设为haohaoxuexi): 输入错误注册码:   运行程序  制作过程: 添加对象 1、添加“注册”按钮     在第一个窗体(form1)上添加一个按钮,假设这个按钮的名字为:command7。设置其caption为:“注册” 2、在工程资源管理器上用鼠标右键单击窗体,在弹出菜单中选择“添加”→“添加窗体”。 添加第二个窗体(form2)。在第二个窗体上摆放一个标签框(label1)。 (2)设置第二个窗体 设置第二个窗体的样子如下图所示: 假设在这个窗体中,文本框的名字为:Text1,按钮的名字为:command1和command2. 编写代码 Private Sub Command1_Click() If Text1.Text = "haohaoxuexi" Then     MsgBox ("谢谢您使用正版软件,您的支持是我们前进的动力!")     Form2.Hide Else     MsgBox ("注册号码错误")     Text1.Text = ""     Text1.SetFocus End If End Sub Private Sub Command2_Click() Text1.Text = "" Form3.Hide End Sub 注:SetFoucus是一个方法,其作用是:将焦点移至指定的控件或窗体; Show也是一个方法,显示窗体;相反方法Hide是隐藏窗体。 MsgBox是消息框语句。 它的语法是: MsgBox (“要显示的字符串”)  成绩评定 题目: 编写一个程序,根据用户输入的分数,给出相应的优、良、及格、不及格评定。示例 成绩评定的 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 是:     >=85    优     >=75并且<85 良     >=60并且<75 及格     <60    不及格 任务分析: 在这个任务中,不是简单是判断出两种结果,而是比较复杂的判断,可能要判断多次。 给出一个成绩chengji,怎样通过程序给一个相应的等级呢?可以考虑如下的方法:     if chengji>=85 then         dengji="优"     elseif chengji>=75 then         dengji="良"     elseif chengji>60 then         dengji="及格"     else         dengji="不及格"     end if 想一想,你还能想出其他判断方法吗? 程序编写过程 一、设计界面和属性 在窗口中添加如下的对象,并设置属性,使显示效果如下: 二、编写代码 假设“评定”按钮的名称为:command1。输入成绩的文本框名称为:text1。显示等级的标签名称为:label3 Private Sub Command1_Click()     得到用户输入的成绩     chengji = Val(Text1.Text)     '根据成绩设置等级     If chengji >= 85 Then        dengji = "优"     ElseIf chengji >= 75 Then        dengji = "良"     ElseIf chengji > 60 Then        dengji = "及格"     Else        dengji = "不及格"     End If     '显示等级    Label3.Caption = dengji End Sub     颜色随机变 题目: 如下图,单击按钮时,文字的背景和文字的颜色都能发生随机的改变。 演示   分析:     要用到RGB函数来合成颜色,而要生成随机的颜色,只要让RGB函数的三原色的分量都是随机的,那么合成的颜色也是随机的。     可以把文字放到一个标签框中,那么改变文字的背景就是改变标签框的背景属性BackColor,而改变文字的颜色就是改变标签的Forecolor属性 制作方法: 1.在窗体上放置合适的对象,并设置属性。比如设置标签框的文本大小等。 2.假设:“变背景颜色”按钮的名字为Command1,而“变文字颜色”按钮的名字为Command2.那么两个按钮的单击事件过程为: Private Sub Command1_Click() Label1.BackColor = RGB(Rnd * 255, Rnd * 255, Rnd * 255) End Sub Private Sub Command2_Click() Label1.ForeColor = RGB(255 * Rnd, 255 * Rnd, 255 * Rnd) End Sub 制作电子时钟  演示 (一)第一版本:     下面我们来做一个电子时钟。为了做一个电子时钟,我们需要能取得系统当前的时间,然后把取得的时间显示在文字框中即可。     为了取得系统的时间,可以使用time函数。这个程序可以做成以下样子: 代码只需在按钮的单击事件过程中写一行: Private Sub Command1_Click()     Label1.Caption = Time End Sub 单击按钮时,就可以查看当前的时间了。如下图:             程序示例     这个程序有个很明显的不足:它显示的时间不是变化的。如果我们要查看当前的最新时间,需要再单击一下“查看时间”按钮。为什么会这样?因为取得当前时间并显示出来的代码是写在按钮单击事件过程中的,只有按钮的单击事件发生,才会执行这些代码。如果你想像通过的电子时钟一样,看到它每秒都随时变化,那么对不起,请每秒钟单击一下按钮!!!!     如果有办法让“取时间并显示的代码”的代码每秒钟都执行一下,就不用我们如此的劳累了。Vb已经为大家准备好了一个定时工具--Timer对象。 (二)改进版本     Timer是哪里?工具箱中有一个控件,它的图标就是一个秒表。双击这个图标,就可以把Timer对象添加到窗体上。     (注意:Timer对象在程序运行的时候是不显示出来的,所以没有必要调整它的大小及位置,放在哪儿就可以)     把这个对象放在窗体上,运行是,它每过一定时间,就会自动发生一个Timer事件。间隔时间由它的属性Interval指定。所以如果把Interval设置为1000(单位为毫秒),并把上面的代码写到它的Timer事件中,就可以每过一秒执行一次了,更像一个实用的电子时钟了。     滚动字幕特效 任务: 做一个字幕滚动特效,文字从窗口的右边慢慢滚动到窗体的左边,然后再从窗体的右边出现。  示例 分析: 我们已经知道,每个Windows窗口都有一个坐标系,对象在窗口中的位置是通过其属性Left和Top来标识的。 如下图所示:     当我们移动对象时,它的Left和Top属性会发生变化。同样,当我们改变其Left或Top属性时,对象的位置也会相应的属性变化。     要让一个对象向左移动,只要不断地减小它的left属性就可以了。比如要让标签框向左移动:     Label1.Left = Label1.Left - 50     每次执行这个语句,标签都会向左移动一点。而如果把这个语句放到时钟的时钟事件中,标签就可以不断向左移动了。     为了让标签从窗口左边消失后,再次从窗口的右边出现,只要添加如下一个判断就可以了:     If (Label1.Left + Label1.Width <= 0) Then         Label1.Left = Form1.Width     End If 制作方法: 在窗体上放置一个标签和时钟对象,设置相应的属性。 把以下这些代码写到Timer事件过程中,每过一定时间执行一次标签的移动操作就可以了。 代码如下: Private Sub Timer1_Timer()     Label1.Left = Label1.Left - 50     If (Label1.Left + Label1.Width <= 0) Then         Label1.Left = Form1.Width     End If End Sub   鼠标技能测试 任务: 编写“鼠标技能测试”程序,程序运行时,一个按钮在窗体上随机跑动。当用鼠标单击它时,显示文字表扬一下用户,比如:"你好棒哦!",如果没有点中,也给出提示,如:“哎呀,没有点着(-_-)”。示例 编写思路: 一、怎样让按钮在窗口范围内随机移动 让按钮的Left和Top属性取随机值就可以了。Left的随机值的范围是:(0,窗口宽度-按钮宽度),按钮Top的随机值的范围是:(0,窗口高度-按钮高度) 二、在按钮被击中时,怎样显示信息 在按钮的单击事件中,设置标签的Caption属性为相应的提示信息。 三、怎样判断鼠标没有击中按钮 没有击中按钮,一定是点到了窗体上啦!! 四、没有点中按钮怎样处理 在窗体的单击事件中,显示相应的提示信息 制作过程: 一、在窗体上放置一个标签、一个按钮、一个时钟,假设按钮的名称为:Command1,标签的名称为:Label1,窗体的名称为:Form1,时钟的名称为:Timer1 二、编写如下的代码: Private Sub Command1_Click() Label1.Caption = "你好棒哦!" End Sub Private Sub Form_Click() Label1.Caption = "哎呀,没点着(-_-)" End Sub Private Sub Timer1_Timer() Command1.Left = Rnd * (Form1.Width - Command1.Width) Command1.Top = Rnd * (Form1.Height - Command1.Height) End Sub     加法练习器 任务: 做一个两位数的加法练习器,能随机出题并能判断对错。示例 分析: 在这个作品中,主要解决两个问题: 1、怎样随机产生一个两位数 2、怎样判断用户输入的答案是否正确 对第一个问题: 两位数,就是在区间[10,99]之间的数。根据公式:Fix(Rnd*(b-a+1))+a,可知通过Fix(Rnd*90)+10,可以得到。 对第二个问题: 只要判断前两个标签框的数的各是否等于文本框的数,就可以了。 制作过程: 1、放置对象: 在窗体上放置如下的一些对象: 2、设置属性 让界面看起来如下: 在上图中,为了让标签看起来有“凹”下去看感觉,只要设置它的BorderStyle=1就可以了。 3、编写代码 Private Sub Command1_Click()     a = Fix(Rnd * 90 + 10)     b = Fix(Rnd * 90 + 10)     Label1.Caption = a     Label3.Caption = b End Sub Private Sub Command2_Click()     If Val(Label1.Caption) + Val(Label3.Caption) = Val(Text1.Text) Then         Label5.Caption = "正确!"     Else          Label5.Caption = "再检查一下!"     End If End Sub   空中娇子 任务描述: 画面上每过1秒,自动随机显示不同的图片。示例 任务分析: 一、图片放在哪里 把图片分别放到image框中,如果有9张,则它们的名字分别为:Image1,Image2,Image3,Image4,……Image9 把这些图片的Visible属性全部设置为False,让它们在程序运行时看不见。 二、在哪里写代码 因为每过一定时间自动显示不同图片,显然需要在Timer对象的Timer事件中编写代码。 三、怎样随机选图 每次Timer事件发生时,怎样从9张图片中随机挑选一张显示出来呢? 我们可以随机产生一个[1,9]区间内的随机整数。 x=Fix(Rnd*9)+1 当产生的数是1时,则显示第1张图片;为2时,则显示第2张图片……。 它的代码模式为: x=Fix(Rnd*9)+1 if  x=1 then     显示第一张图片 end if if  x=2 then     显示第2张图片 end if …… …… 四、图片怎样显示 在窗体上放置一个Image10,它就是显示图片的地方。 显示第1张图片,就是Image10.Picture=Image1.Picture 显示第2张图片,就是Image10.Picture=Image2.Picture …… …… 完成任务: 一、设置界面 在窗体上放置9个Image,假设它们的名字分别是: Image1,Image2,Image3,…………,Image9。在这些Image中分别放置图片,因为这些Image不直接显示出来,只是作为图片的“仓库”使用,所以不必太在意它们的位置与大小等。 在窗体上放置一个Image框,假设名字为Image10。为它设置合适的大小和位置。 如下图所示: 二、设置属性 对象名 属性 设置值 form1 caption 空中娇子 form1 borderstyle 1-fixed single image1 visiable false image2 visiable false …… …… …… image9 visiable false Image10 Stretch True Timer1 Interval 1000 三、编写代码 拍蚊子程序 任务描述: 制作一个拍蚊子的小游戏,程序运行时,一只蚊子在屏幕上每过一定时间位置随机变化。游戏者用鼠标击中这只蚊子,可以加1分。在1分钟的时间内,看你能得多少分。 示例 任务分析: 在这个任务中,显示图片,判断是否击中等都已经很容易实现,但怎样才能实现加分操作和倒计时呢?得分和倒计时。这些数据在窗口打开的过程中都是有效的,所以它们是一个模块级的全局变量。只要把这些数据保存在全局变量中,并在相应的事件中用n=n-1形式的计数算法(累加算法的一种特例)即可。 任务实现: 一、设置界面 在窗体上放置相应的对象,用来保存得分和剩余时间等。在窗体上放置两个image框,用来保存两张图片,一张是活蚊子,一张是死蚊子。把两个image都设置为隐藏。放置一个timer对象,用来控制图片移动和倒计时。 二、编写代码 Dim m   '保存打中次数 Dim t   '保存倒计时 '再玩一次 Private Sub Command1_Click()     Command1.Visible = False     m = 0     t = 60     Timer1.Enabled = True End Sub   '没有打着(单击到窗体了!) Private Sub Form_Click()     If m > 0 Then m = m - 1     '减分     Label3.Caption = "没有打着!"     Label3.Visible = True End Sub   '窗体加载时,对全局变量进行初始化 Private Sub Form_Load()     t = 60     m = 0 End Sub '打中了蚊子   Private Sub Image1_Click()     Beep  'PC喇叭响一声       m = m + 1 '计分     '隐藏活蚊子,并在活蚊子的位置显示出死蚊子的图片     Image1.Visible = False     Image2.Left = Image1.Left     Image2.Top = Image1.Top     Image2.Visible = True     '显示相应提示信息     Label3.Caption = "真棒!"     Label3.Visible = True End Sub '时钟事件发生时 Private Sub Timer1_Timer()     '隐藏死蚊子     Image2.Visible = False        '产生蚊子下一次出现的位置并设置     X = Rnd * (Form1.Width - Image1.Width)     Y = Rnd * (Form1.Height - Image1.Height)     Image1.Left = X     Image1.Top = Y     '在新位置显示活蚊子     Image1.Visible = True     '更新信息     Label3.Visible = False     Label2.Caption = m     '倒计时     t = t - 1     Label5.Caption = t     If t = 0 Then         Timer1.Enabled = False         Command1.Visible = True     End If End Sub   倒计时 程序 任务描述: 编程程序实现倒计时功能,如下图所示:示例 任务分析: 这个程序的界面很简单,主要就是怎样保存倒计时的数据。因为这个数据在窗体打开的整个过程中都要使用,而且在窗体加载中要预先设置值,即需要在多个过程中使用这个变量,所以需要设计为模块级全局变量。 任务实现: 一、设计界面: 二、编写代码: Dim t '设置全局变量 Private Sub Form_Load() t = 4 '置初值 End Sub Private Sub Timer1_Timer() t = t - 1 '把t减1 '判断各种情况 If t = 0 Then Timer1.Enabled = False Form1.Show Form2.Hide Else If t = 1 Then Label1.Caption = "go!" Else Label1.Caption = t End If End If Form2.BackColor = RGB(Rnd * 255, Rnd * 255, Rnd * 255) End Sub   滚动标题效果 任务描述: 制作一个程序,其标题文字做左右滚动的效果。示例 分析 标题向右滚动,可以看作标题前面的空格增加了。标题向左滚动,可以看作标题前面的空格减少了一些。 把标题滚动到最右边时的字符串记为: S="                       滚动标题效果"  (前面有许多的空格,其数量与窗体的宽度有关) 从S的右边取6个字符作为窗口标题,为:“滚动标题效果”。然后反复做以下的事件 1、从S的右边每次多取1个字符作为窗口标题,直到取出的字符串长度等于S的字符串长度 2、从S的右边每次少取1个字符作为窗口标题,直到取出的字符串长度等于5。 上述的1、2步可以合并为1步。也就是每次多取dir个,当滚动到最左边时,令dir=1,当滚动到最右边时,令dir=-1。 制作过程: 在窗体上添加一个Timer对象,设置Interval为200。编写如下的代码: 滚动标题效果 任务描述: 制作一个程序,其标题文字做左右滚动的效果。示例 分析 假设窗体上有一个标签框,设置好文字后,刚好等于窗体的宽度,当然,如果文字不够长,就在后面加空格,直到它放在标签框中的长度等于窗体的宽度。假设这个字符串为S。 每次从S字符串的第n个字符处,把S分成两个部分,S1,S2。 S1|S2 把S1和S2的位置互换,作为一个新的字符串并放置在标签框中。如果每次n的值增加1,就可以看到标签框中的文字滚动了起来。 比如: 假设这个字符串S="我们的祖国是花园!             "。 第1次n=1,结果为:"们的祖国是花园!            我" 第2次n=2,结果为:"的祖国是花园!            我们" 第3次n=3,结果为:"祖国是花园!            我们的" ……………………………… 原理演示PPT 制作过程: 在窗体上添加一个Timer对象和一个标签,设置标签的文字和大小。在里面输入一些文字,并在后面加一些空格,让标签的宽度大约等于窗体的宽度。下面的代码中,s变量的值,就是标签框中的字符串。 月历 任务描述: 编写一个程序,能查询每月天数。示例 分析 基本上,每月的天数是固定的,如1,3,5,7,8,10,12为31天。4,6,9,11为30天。二月可以认为为28天,闰年为29天。所以可以把这些数据保存在一个数组中,数组的下标就是月份,相应的数据就是这月的天数。在显示各月天气时,就很简单了。只要取出数组中相应下标的数据就可以了。 参考代码:   空中娇子 任务描述: 画面上每过1秒,自动随机显示不同的图片。示例 任务分析: 一、图片放在哪里 先在窗体上放置一个Image框,假设叫Image1。复制并Image1框,Vb会提示: 选择“是”,创建控件数组。 按同样的方法,粘贴另外7个Image1,它们的名字分别为:Image1(0),Image1(1),Image1(2),Image1(3),……Image1(8)。分别为它们设置图片。 把这些Image框的Visible属性全部设置为False,让它们在程序运行时看不见。   二、在哪里写代码 因为每过一定时间自动显示不同图片,显然需要在Timer对象的Timer事件中编写代码。 三、怎样随机选图 每次Timer事件发生时,怎样从9张图片中随机挑选一张显示出来呢? 我们可以随机产生一个[0,8]区间内的随机整数。 x=Fix(Rnd*9) 当产生的数是1时,则显示第1张图片;为2时,则显示第2张图片……。 它的代码模式为: x=Fix(Rnd*9) Image2.Picture=Image1(x).Picture 四、图片怎样显示 在窗体上再添加一个Image框,它就是显示图片的地方。假设为Image2,设置它的Stretch为True 显示第3张图片,就是Image2.Picture=Image1(3).Picture 完成任务: 一、设置界面 在窗体上放置1个Image,假设它的名字为Image1,复制并粘贴,建立控件数组,名字分别是: Image1(0),Image1(1),Image1(2),…………,Image1(8)。在这些Image中分别放置图片,因为这些Image不直接显示出来,只是作为图片的“仓库”使用,所以不必太在意它们的位置与大小等。 设置它们的Visible=False 在窗体上再放置一个Image框,假设名字为Image2。为它设置合适的大小和位置。设置它的Stretch=True 在窗体上放置一个Timer,设置Interval=1000 如下图所示: 二、设置属性 对象名 属性 设置值 Form1 Caption 空中娇子 Form1 Borderstyle 1-fixed single Image1(0) Visiable False Image1(1) Visiable False …… …… …… Image1(8) Visiable False Image2 Stretch True Timer1 Interval 1000 三、编写代码 Private Sub Timer1_Timer()     x = Fix(Rnd * 9)     Image2.Picture = Image1(x).Picture End Sub   石头剪刀布 一、运行截图: (单击上图可以看结果) 二制作过程 设计界面对象:     放置一个图像框,假设为Image1,通过复制-粘贴,得到另外两个Image框,假设名字为:Image1(0)、Image1(1)、Image1(2)。用来存放三个切换图片 另外放置一个Image2框,用来显示选中的图片。 两个按钮:Command1、Command2用来启动关闭时钟 一个时钟:Timer1. 设置对象属性:    对象 属性 属性值 窗体:Form1 Caption 图片切换 BackColor 黑色 BorderStyle 1-Fixed Single 按钮Command1,Command2 Caption 分别为“开始”“结束” Font 宋体小四 时钟:Timer1 Interval 200 Enabled False 图像框:Image1(0),Image1(1),Image1(2) Picture 分别存放“锤”“剪”“布”的图片 图像框:Image2 Picture 空 编写代码: 当范伟遇到赵本山 任务描述: 制作一个图片切换的程序,利用图片讲述一个故事。如下图所示: 查看效果   下载源代码 任务分析: 这样的程序大家以前做过,每次要显示一个图片时,都要把其他的image隐藏起来,显示恰当的信息,代码非常长。如果改用数组和控件数组,则代码可以变得很短小。 把image做成控件数组,把要显示的文字信息也放到数组中。用计数算法来依次得到要显示的图片序号和对应的信息 n = n + 1 If n = 15 Then n = 1 '显示当前的图片及相应的文字信息 Image1(n).Visible = True Label1.Caption = dialog(n) 任务实现: 一、设计界面 先在窗口上放置一个image对象,假设其名字为image1,用复制粘贴的方式,制作控件数组image1(1),image1(2)……image1(14)。并为每个图像框指定一张图片。把它们的Visiable=False。 在窗体上现添加一个image2对象,调整好它的位置和大小,把它的Stretch设置为True 在窗体上放置一个Timer对象,设置它的Interval=2000 在窗体上放置其他所需的对象。 二、编写代码: 看一看,代码是否是很简单了呢? 思考: 在上面的代码中, n = n + 1 If n = 15 Then n = 1 也可以用以下一行代码来代替,想一想为什么: n=(n+1) mod 14 +1 身份证号末位验证码 任务描述: 从1999年10月1日开始,公民身份证号码由15位数字增至18位。(18位身份证号码简介)。升级方法为: 1、把15位身份证号码中的年份由2位(7,8位)改为四位。 2、最后添加一位验证码。验证码的计算 方案 气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载 :     将前 17 位分别乘以对应系数 (7 9 10 5 8 4 2 1 6 3 7 9 10 5 8 4 2) 并相加,然后除以 11 取余数,0-10 分别对应 1 0 X 9 8 7 6 5 4 3 2。 请编写一个程序,用户输入15位身份证号码,程序生成18位身份证号码。如下图所示:效果示例 分析: 首先,要分析一下,用户输入的原始身份证号码是否是15位,如果不是应提醒并不再计算(已经没有意义) 其实,要把7,8位年份换成四位的年份,也就是在7,8位之前插入“19”。这个可以用replace函数完成。 计算最后一位验证码,可以把对应系统分别放到一个数组中,然后取出17位(已经17位了,是吗?)身份证号的各位,与相应系数相乘,得到总和。最后计算除11的余数,并根据对应关系得到验证码。 制作过程: 一,添加对象和设置属性 假设15位身份证号所在的文本框为text1,18位所在的文本框为text2。 对象名 属性 设置值 Form1 Caption 15位身份证号转18位身份证号 Form1 BorderStyle 3 Form1 Icon 一个图标 Text1 Text 空 Text2 Text 空 Text2 Locked True command1 caption Go... 参考代码: 打字游戏 任务描述: 制作一个打字练习的游戏,程序运行时,共有6个字母从窗口顶部向下落。当使用者按了相应的字母时,窗口上相应的字母消失,并从窗口顶部其他地方重新产生一个新的字母。如下图所示: 当有任意字母落到窗口下部,则游戏结束。 查看效果 源文件下载 任务分析: 让字母向下落,和字幕的实现相似。需要使用时钟对象,在时钟对象中设置标签对象的top值不断增大。但因为窗口中共有6个字母在下落,所以需要6个标签框。因为各个标签框的作用(下落,查找用户是否按下了相应按钮)相似,所以最好使用控件数组。这样可以方便地利用循环处理各个标签。 任务实现: 一、设计界面 在窗体上放置一个标签,设置它的字体为“小二,粗体”。然后复制-粘贴,在出现的对话框中选择“是”。如下图所示: 这样就建立了标签控件数组。接着再粘贴4个标签框。 在窗体的顶部放置两个标签框,假设名称分别为:label2 和label3。用来放置消除的字符数量和当前的等级。 在窗体上再放置一个时钟对象。 二、编写代码 Dim clearCharNum Dim Level '窗口打开时初始化程序 Private Sub Form_Activate() Randomize For i = 0 To 5 Label1(i) = Chr(Fix(Rnd * 26) + 97) '产生一个小写字母 Label1(i).Left = Rnd * (Form1.Width - Label1(i).Width) '随机设置它的位置 Label1(i).Top = 0 '设置标签顶部为0 Next i clearCharNum = 0 Level = clearCharNum \ 50 Timer1.Interval = 500 * (0.7) ^ Level Label2.Caption = "消除字符数:" & clearCharNum Label3.Caption = "当前等级:" & Level + 1 End Sub '当有热键发生时,看是否按键是窗口上有的字母 '如果有,重新设置这个标签中的字母和它的位置 Private Sub Form_KeyPress(KeyAscii As Integer) For i = 0 To 5 If KeyAscii = Asc(Label1(i).Caption) Then Label1(i).Caption = Chr(Fix(Rnd * 26) + 97) Label1(i).Left = Rnd * (Form1.Width - Label1(i).Width) Label1(i).Top = 0 clearCharNum = clearCharNum + 1 Level = clearCharNum \ 50 Timer1.Interval = 500 * 0.7 ^ Level Label2.Caption = "消除字符数:" & clearCharNum Label3.Caption = "当前等级:" & Level + 1 Exit For '跳出当前循环 End If Next i End Sub '时钟事件,设置标签下落,当有一个标签落到了最下面,最结束程序 Private Sub Timer1_Timer() For i = 0 To 5 Label1(i).Top = Label1(i).Top + 50 If Label1(i).Top > Form1.Height - Label1(i).Height - 600 Then MsgBox "熟能生巧!,多加练习" End End If Next i End Sub               读取进程条 一、运行效果:   HYPERLINK "http://211.68.73.209/program/07shape/example/读取进度1/读取进度条.exe" (单击上图可以看结果) 二、制作过程 设计界面对象:      一个窗体Form1,一个标签Label1,一个矩形图形Shape1,一个时钟Timer1 设置对象属性:    对象 属性 属性值 窗体:Form1 Caption 进度读取 BackColor 黑 BorderStyle 1-Fixed Single 标签:Label1 Caption 清空 BorderStyle 1-Fixed Single 图形:Shape1 Shape 0-Rectangle FillStyle 0-Solid FillColor 红色 Width 0 时钟Timer1 Imterval 200 编写代码: 弹子球 任务描述: 一个球在窗体内运动,碰到边时会反弹回来。示例 分析: 窗体上的球,可以是一个Shape对象。要让它定时在窗体上移动位置,可以使用Timer对象。另外,球在窗体上斜着移动,可以看作球既水平移动,也竖直移动的一种“运动的合成”。 制作过程: 一、设计界面:      一个窗体Form1,一个时钟Timer1,一个形状图形Shape1,两个按钮:Command1,Command2 二、设置属性:    对象 属性 属性值 窗体:Form1 Caption 弹子球 Icon 一个小球图标 BackColor 黑 BorderStyle 1-Fixed Single 图形:Shape1 Shape 3-Circle FillStyle 0-Solid FillColor 粉色 时钟:Timer1 Interval 50 Enabled Fasle Command1,Command2 Caption 分别为“走”“停” 三、编写代码:   弹子球_桌球 任务描述: 10个球在窗体内运动,碰到边时会反弹回来。示例 分析: 窗体上的球,可以是10个Shape对象,假设把它们设置成控件数组,名称分别为:Shape1(0),Shape1(1)....Shape1(9)。球在窗体上斜着移动,可以看作球既水平移动,也竖直移动的一种“运动的合成”。每个小球都有不同的水平速度和竖直速度,所以可以把每个小球的水平速度和竖直速度也保存在数组中。 制作过程: 一、设计界面:      一个窗体Form1,一个时钟Timer1,一个形状图形Shape1,通过复制-粘贴,制作一个包含10个对象的Shape控件数组,两个按钮:Command1,Command2 二、设置属性:    对象 属性 属性值 窗体:Form1 Caption 弹子球 Icon 一个小球图标 BackColor 黑 BorderStyle 1-Fixed Single 10个Shape对象 Shape 3-Circle FillStyle 0-Solid FillColor 可以为每个Shape对象设置不同的颜色 时钟:Timer1 Interval 50 Enabled Fasle Command1,Command2 Caption 分别为“走”“停” 三、编写代码: 读取进度 一、运行效果: (单击上图可以看结果) 二、制作过程 设计界面对象:      一个窗体Form1,一个标签Label1,一个时钟Timer1 设置对象属性:    对象 属性 属性值 窗体:Form1 Caption 进度读取 BackColor 黑 BorderStyle 1-Fixed Single 标签:Label1 Caption "正在读取数据" 时钟Timer1 Imterval 500 编写代码:     虫虫大部队_列队 描述: 单击“列队”按钮,显示几十名虫虫兵。单击“解散”按钮,隐藏几十名虫虫兵。 (单击上图可运行示例) 分析 图片可以放在image框中。显示图片可以通过设置Visible属性实现。比如: Image1.Visible=True Image2.Visible=True Image3.Visible=True ………… Image54.Visible=True 但是,因为有几十个image,如果一个一个写,需要很长的代码,写起来麻烦,也给以后修改程序带来不便 通过上面代码可以看到,这些重复的语句可以写成如下的形式: ImageX.Visible=True 只是每次X的值增加1而己。怎样能通过数字来使用不同的image对象呢。对了,可以使用控件数组。 假设控件数组的名字为Image1(0)、Image1(1)、Image1(2)、……Image1(53)。代码变为: Image1(x).Visible=True 但是,仍然要写几十行代码。怎样让下标x每次自动增加1,并执行代码呢: 可以使用For循环语句: For i = 0 To 53 Step 1     Image1(i).Visible = True Next i “解散”按钮的代码如此类似。 制作过程: 一、设置界面 在窗体上放置一个image框,假设其名字为Image1. 设置它的图片为一只虫子,设置它的Visible属性为False。 通过复制_粘贴,创建控件数组。放置余下的53只虫子图片并摆放整齐。 添加两个按钮,一个的Caption为“队列”,一个Caption为“解散”。 二、编写代码 参考代码如下:   虫虫大部队_点兵 描述: 单击“报数”按钮,显示有多少只虫虫兵。   (单击上图可运行示例)   分析 图片可以放在Image控件数组中。 想一想,平时我们报数的方法,就是在前一个人报数的基础上增加一个数.累计到最后,就是总和。这种方法叫“累加”算法。前面学过累加语句,形如: S=S+X 它的作用是让S的值增加X。 令X为1,多次执行上面的语句,就能知道语句执行的次数。它是“累加”算法的特例,叫“计数”算法。 如果循环所有的image框,每循环一个就计一次数,最后就是所有Image框的总数。 制作过程: 一、设置界面 在窗体上放置一个image框,假设其名字为Image1. 设置它的图片为一只虫子,设置它的Visible属性为True。 通过复制_粘贴,创建控件数组。放置余下的53只虫子图片并摆放整齐。 添加一个按钮,它Caption为“报数”。 添加一个标签对象,清空它的Caption。 二、编写代码 参考代码如下:   虫虫大部队_点兵 描述: 在一个窗口中排列中许多“区域”,每个区域可能有雷。用鼠标单击这些区域,如果没有雷,则区域消失;如果有雷,则显示出所有雷区。单击“撤退”结束程序。   (单击上图可运行示例)   分析 每个区域可以是一个按钮。为了让按钮能显示图片,需要把它的Style设置为1-Graphical。按钮是否有地雷的信息,可以保存在它的Tag属性中。 ●当单击一个按钮时 当单击一个按钮,如果它的Tag表示没有雷,只要设置它的Visible为False,就可以了。 当单击一个按钮,如果它的Tag表示有雷,就要把所有区域一个一个检查一次,看是否有雷,如果有雷,就显示有雷的图片。 像这种把所有可能的情况都列举出来,并逐一检查的方法叫做“穷举”法。因为计算机的运算速度很快,所以这种方法在程序设计中使用很普遍。 ●怎样随机布置 可以在窗体的Form_load事件中,循环控件数组所有按钮,对每一个按钮,产生一个随机数,如果大于0.85(也就是15%的可能性是雷),则它就是雷,设置它的tag属性为“地雷!” 制作过程: 一、设置界面 在窗体上放置一个Command按钮,假设其名字为Command1。设置它的Style为1-Graphical。为它设置合适大小,设置它的Caption属性为空。 通过复制_粘贴,创建控件数组。放置余下的200个按钮并摆放整齐。 另外添加一个按钮,它Caption设置为“撤退”。 添加一个Image框,设置它的Picture为一个地雷的图片。 二、编写代码 参考代码如下:   信息加密 任务描述: 做一个信息加密解密程序。当在“输入信息”文本框中输入字符串后,单击“加密”按钮,会对字符串的小写英文字符进行变换,变换的规则为替换为当前字母在字母表的后数两个字母;单击“解密”能根据加密后的信息,还原出本来的信息。 示例   (单击图片可运行示例) 分析: 加密变换原理: 因为在计算机中,字符都通过ASCII码编码(通过函数asc可以得到字符的ASCII码)。所以一个字符的后数两个字符,在它的ASCII码加2就可以得到。然后再把变换后的ASCII码转换为字符就可以了。 加密过程: 首先,这个任务需要取出输入的信息,然后循环从第1个字符到最后一个字符,逐个取出并分析其是否是小写字符,如果是则按一定的规则变换它。 编程过程: 一、添加对象并设置相应属性 在窗体上添加两个文本框和两个按钮,三个标签,并设置属性,使窗体看上去如下图所示: 假设窗体的名称为Form1,文本框的名称分别为Text1和Text2,标签名称为Label1,按钮名称为Command1,Command2 二、编写代码 思考: 不用Ascii码表,而用一些辅助数组,能实现这个加密程序吗。试一试。 吃包子问题 问题: 有一群学生吃包子,男生一人吃7个,女生一人吃5个。最后刚好吃了100个包子,请问可能有男、女同学各多少人。 示例 分析: 假设有男同学x人,女同学y人。则可以列出以下的方程: 7×x+5×y=100 这是一个二元一次方程,因为方程数目少于未知数,所以是一个不定方程,是没有确定解的。但是利用计算机运算速度快的特点,可以把所有可能的答案都选出来。 女生的人数y可能是是0~20人(想一想,为什么?)。 男生的人数可用如下表达式计算:x=(100-5*y)/7 如果x是一个整数的话,那么就找到了一组解。判断x是整数,可以用如下的式子: x=Fix(x) 即如果一个数去掉小数和原来数一样,就应该是一个整数了。 参考代码: 利用循环,尝试所有可能的解: 这种利用循环,尝试所有可能解的方法,叫做“穷举”法。这种方法利用了计算机计算速度快的特点,简化了程序的编写量。   上例还可以利用双重循环(即循环中嵌套一个循环): 假设有男生x人,女生y人。那么如果满足: 7×x+5×y=100 就是可能的解。   通常把循环体内不含有循环语句的循环称为单层循环,而把循环体内含有循环语句的循环称为多重环。例如在一个循环体内含有一个循环语句的称为二重循环。多重循环又称循环的嵌套。 ●对于循环的嵌套,要注意以下事情: (1)内循环变量与外循环变量不能同名(比如上例中一个为y,一个为x); (2)外循环必须完全包含内循环,不能交叉; 累加算法 题目: 计算1+2+3+……+100的和。示例 分析: (当年高斯因为快速算出答案而为后世称道,现在,让我们编程来解决这类问题) 如果一般人来算,比较“笨”的方法如下: 用S表示和,最开始设置为0; 第1次:S=S+1     得1 第2次:S=S+2     得3 第3次:S=S+3     得6 第4次:S=S+4     得10 ……………… 可以看到,我们是在一直做以下的算式,只不过每次让i的值增加 S=S+i 这样,这个问题转变成了循环。只要在循环中让i的值从1变化到100就可以了。 参考代码: Private  Sub  command1_Click() S=0 For  i = 1  To  100     s = s + i Next  i Print s End  Sub 在编写程序过程中,累加是循环语句的典型用法,它在循环体内设置一个加法算式。格式为: S=S+i 如果把Print s放到了Next i前面,会出现什么现象,试一试。为什么会出现这样的情况。 如果把S=0放到了For循环里面,会出现什么情况,为什么? 累乘算法 题目: 计算1×2×3×……×10的乘积    示例 源文件 参考代码: 和累加算法相似,单击按钮时的代码如下:     s = 1     For i = 1 To 10         s = s * i     Next i     Label2.Caption = s 累乘也是循环语句的一个典型用法,它在循环域内设置一个乘法算式。 S=S*i 改变i的值,就可以计算所有这些i的乘积。 注意: ●累乘前要预置S=1;想一想,为什么? ●S=1不能放到For循环里面
本文档为【vb学习大全】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_143359
暂无简介~
格式:doc
大小:1MB
软件:Word
页数:72
分类:
上传时间:2011-06-09
浏览量:101