学习VB两个星期以来, (其实真正时间也不到两个星期吧 平时有空闲就学习了下 在这里是想告诉大家 VB基本操作不难,)第一个串口调试程序通了 能够实现更改波特率,串口号,接收数据实现字符也十六进制显示,在发送文本框输入数据 电机发送将在接收框内显示 记住将RS232的2和3管脚直接接起来
下面是我测试实际过程
大家也可以和我一样练习练习
下面是我的源代码 可以供大家参考下 也希望高手指点下 (框架就没必要给了) Dim baud As String
Dim text2enbale, asciflag As Boolean '停止显示标志 false将不能显示
Private Sub Check2_Click()
End Sub
Private Sub Combo1_Click()’端口控制
Select Case Combo1.Text
Case "COM1"
MSComm1.CommPort = 1
Case "COM2"
MSComm1.CommPort = 2
Case "COM3"
MSComm1.CommPort = 3
Case "COM4"
MSComm1.CommPort = 4
Case "COM5"
MSComm1.CommPort = 5
Case "COM6"
MSComm1.CommPort = 6
End Select
End Sub
Private Sub Combo2_Click()’波特率控制
If MSComm1.PortOpen = True Then
MSComm1.PortOpen = False
Select Case Combo2.Text
Case "300"
baud = "300"
Case "600"
baud = "600"
Case "1200"
baud = "1200"
Case "2400"
baud = "2400"
Case "4800"
baud = "4800"
Case "9600"
baud = "9600"
Case "19200"
baud = "19200"
Case "38400"
baud = "38400"
End Select
MSComm1.Settings = baud & ",n,8,1"
MSComm1.PortOpen = True
Else
Select Case Combo2.Text
Case "300"
baud = "300"
Case "600"
baud = "600"
Case "1200"
baud = "1200"
Case "2400"
baud = "2400"
Case "4800"
baud = "4800"
Case "9600"
baud = "9600"
Case "19200"
baud = "19200"
Case "38400"
baud = "38400"
End Select
MSComm1.Settings = baud & ",n,8,1"
End If
End Sub
Private Sub Command5_Click()
'Dim s As String
Dim a() As Byte
If MSComm1.PortOpen = False Then
MsgBox "串口未打开,请打开串口", 48, "警告"
End If
'ReDim a(3)
'a(0) = &HF
'a(1) = &HFE
'a(2) = &HDD
'a(3) = &HCC
s = Text3.Text
'a = s
MSComm1.RThreshold = Len(s) ' UBound(a) + 1
If MSComm1.PortOpen = True Then
MSComm1.Output = s
End If
Call Delay(20)
End Sub
Private Sub MSComm1_OnComm()
Dim idata As Variant
Dim arr() As Byte
intInputLen = MSComm1.InBufferCount '不这样将会提示不能给数组赋值
ReDim arr(intInputLen) '和上面一样
Select Case MSComm1.CommEvent
Case comEvReceive '接收成功信息
arr = MSComm1.Input '得到 接收缓冲区数据
If asciflag = True Then
For i = 0 To UBound(arr)
Text2.Text = Text2.Text + Chr$(arr(i))
Next i
Else
For i = 0 To UBound(arr)
Text2.Text = Text2.Text + " " & arr(i)
Next i
End If
MSComm1.InBufferCount = 0
End Select
End Sub
Private Sub Option1_Click()
If Option1.Value = True Then
asciflag = True
End If
End Sub
Private Sub Option2_Click()
If Option2.Value = True Then
asciflag = False
End If
End Sub
Private Sub Timer1_Timer()
Label11.Caption = Time
End Sub
Private Sub uart_open_Click()
MSComm1.PortOpen = Not MSComm1.PortOpen
If MSComm1.PortOpen Then
Shape2.BackColor = &HFF&
uart_open.Caption = "关闭串口"
Else
Shape2.BackColor = &HE0E0E0
uart_open.Caption = "打开串口"
End If
End Sub
Private Sub text2_clr_Click()
Text2.Text = ""
End Sub
Private Sub text2_en_Click()
text2enable = Not text2enbale
End Sub
Private Sub Command6_Click()
End
End Sub
Private Sub Form_Load()
Show '没有show后面的设置焦点将失败 错误
text2enbale = True
Option2.Value = True '默认显示是以16进制显示
MSComm1.CommPort = 1
MSComm1.Settings = "9600,n,8,1"
MSComm1.InputMode = comInputModeBinary '二进制接收数据
MSComm1.InBufferCount = 0
MSComm1.RThreshold = 1 '缓冲区接收到4个字符 就产生一个oncomm事件
Text3.Text = ""
Text3.SetFocus
End Sub
至此 一个简单的小工程就完成了,因为我是电子信息工程专业对高级编程还是很菜鸟的,其实这个功能也是我一直想能够自己实现的,因为之前一直以为学习VB 会花好多时间,就像之前一直在学习ARM一样半天模不着头脑。所以迟迟不敢接触。估计也好多人和我一样,其实学习开始了 也会发现并不是想象中那样。
20xx-7-30
青檐铃风
第二篇:VB学习总结
1.2.1 VB简介
VB:Visual Basic
BASIC:Beginner’s All-Purpose Symbolic Instruction Code
BASIC语言是专门为初学者设计的计算机语言,于19xx年问世。最初只有十几条语句,由于简单易学而受到了用户的欢迎,很快就应用于各个领域。随着计算机科学技术的发展,计算机厂商在原有的基础上不断的添加新的功能,进行扩展强化,各种BASIC版本应运而生,使它成为最常用的计算机程序设计语言。
19xx年Microsoft公司开发了Quick BASIC,它克服了原有BASIC结构化差和运算速度慢的缺点,并且在功能上大为扩展,具有编辑、运行和调试的集成环境。Quick BASIC兼容以前的传统BASIC。
VB是Microsoft公司在Quick BASIC的基础上为开发Windows应用程序而提供的强有力的开发环境和工具,是具有很好的图形用户界面(Graphic User Interface,简称GUI)的程序设计语言。它采用面向对象和事件驱动的程序设计两种新机制,把过程化和结构化编程集合在一起。正是由于它在应用程序开发中的图形化构思,使得开发者能非常容易地创建一个窗口(在VB中称为窗体—Form),然后从VB工具箱选择控件放在窗体内,无需编写程序。就如同目前盖房子所用的门、窗、水泥、钢筋、砖等,都是现成的材料,只要到建筑现场组合就可以了。用VB设计程序就好比现代的建筑师采用现代科技的产品,而用传统DOS(Disk Operating System)下的BASIC的就如同早先的工匠,一砖、一瓦、一木都要自己动手。
Visual Basic for Windows是一种具有良好图形用户界面(GUI)的程序设计语言,同时又是一种完全支持面向对象程序设计的语言。
Visual是指开发图形用户界面(GUI)的方法,不需要编写大量代码去描述界面元素的外观和位置,而只要把预先建立的对象拖放到窗体上即可。这种直观的编程方法,也叫做可视化编程。Visual的意思是“视觉的”或“可视的”,也就是直观的编程方法。就像使用“画图”之类的绘图程序,通过选择画图工具来画图一样。
Basic是指BASIC语言,之所以叫做“Visual Basic”就是因为它使用了BASIC语言作为代码。VB在原有BASIC语言的基础上进一步发展,至今包含了数百条语句、函数及关键词,其中很多与Windows GUI有直接关系。
1.2.2 VB的发展过程
19xx年:为了简化Windows应用程序的开发,Microsoft公司推出了Visual Basic 1.0。 19xx年:Microsoft公司推出了Visual Basic 2.0。
19xx年:Microsoft公司推出了Visual Basic 3.0。
19xx年:随着Windows95的发布,Visual Basic 4.0也随之推出。
19xx年: Microsoft公司开始推出Windows开发工具套件Microsoft Visual Studio 1.0,
其中包括了Visual Basic 5.0。
19xx年:Microsoft公司发布的Microsoft Visual Studio 98则包含了Visual Basic 6.0。 Visual Basic 5.0以前的版本主要应用于DOS和Windows 3.x环境中16位程序的开发,Visual Basic 5.0以后的版本则只能运行在Windows95,Windows98,Windows20xx或Windows NT操作系统下,是一个32位应用程序的开发工具。
1.2.3 VB版本简介
Visual Basic 6.0分为3个版本:学习版、专业版和企业版,分别满足不同人员开发的需要。开发人员可以根据3个版本的功能,选择一种合适的Visual Basic 6.0版本
一、 学习VB程序设计的方法
(1)保持良好的学习心态
1、要有自信,自强,积极主动学习.
2、克服畏难情绪,树立学好程序设计的信心
1. 在看视频的时候,手持一支笔,桌放一张纸。将我们看了不太明白,或讲师介绍的重点注意事项,写下来,不明白的内容课下查询MSDN(这可是个好帮手,里面包括的内容很全面,也很详细,还有示例),讲师强调的注意事项多看看,有的是一些必要的编程习惯,一定要注意。这些习惯在我们以后编写大的程序的时候很有用。 二、
(2)要有良好的学习习惯
1、课前预习,认真听课并适当做些笔记,课后要认真复习消化所学内容,完成作业.
2、VB程序设计的入门学习并不难,但却是一个十分重要的过程,因为程序设计思想就在这时形成的,良好的程序设计习惯也在这个阶段养成.
三、 2. 有时候我们遇到自己不明白的知识点的时候,我们也不要死扣着不放,也许讲师在后面会重点解析,或许当我们放一点时间再看的时候,就会柳暗花明
(3)学习程序设计要注重理解一些重要的概念.
VB程序设计本身并不复杂,翻开一本程序设计学习的书籍,看到的无非就是变量,函数,条件语句,循环语句等概念.但要真正能进行程序设计,需要深入理解这些概念.因此,在 程序入门阶段还是应该重视概念的学习.
四、 . 在看视频的同时,独立的敲打一些代码是很必要的。因为有时候我们自认为自己已经懂了这部分内容,但是在实际操作的时候我们会发现,有很多地方自己还是懵懵懂懂的,不知道如何写代码,只有实际操作后才会将这些知识理解的更深刻。
五、 (4)自己动手编写程序
程序设计入门阶段要经常自己动手抄写或编写一些小程序,亲自动手进行程序设计是创造性思维应用的体现,是培养逻辑思维的好方法.因此一定要多动手编写程序,而且要从小程序开发开始,逐渐提高写程序的能力.
六、 4. 有些时候我们看不懂讲师写的一些代码,如果自己捉摸着去操作一下,我们就会豁然开朗。当遇到自己怀疑的词一定要去查找帮助
(5)阅读,借签别人设计的好程序
多看别人设计好的程序代码,包括教材上的例题程序.在读懂别人程序后,要想他为什
么这么设计能不能将程序修改完成更多的功能 则可以学到别人优秀的东西,帮助自己 提高自身水平.
5. 反复看一些不懂得知识点。俗话说,书读百遍,其义自见。当我们遇到看不懂的程序的时候,一是,我们要查找相关的资料(MSDN或网络),二是,我们多看两遍这个程序,也许看过多遍之后,自己就会理解其中的含义。实在不懂了,也可以跟同学探讨,呵呵。 七、 (6) VB程序设计学习的重点
1、程序设计课是高强度的脑力劳动,不是听会的,也不是看会的,而是练会的.
2、只有自己动手,编写一些程序,才会有成就感,进而对课程产生兴趣,学起来才比较从容.等你在编写大量程序之后,我想过二级肯定没问题,不过能不能做到真知灼见,运用自如我就不敢说了.
3、动手能力的培养是这门课和以往课程最大的不同之处.重点放在思路,算法,编程构思和程序实现上.语句只是表达工具,要求堂上积极思考,尽量当堂学懂,并做到灵活应用. )上机调试程序应注意的几点:
1、上机前应认真把实验题在用纸上做一做(包括窗体界面设计,事件代码的编写等)
2、每次上机后应总结,把没有搞清楚的问题记录下来,请教老师或同学.
3、平时应多抽课余时间多上机调试程序.注意系统的提示信息,遇到问题多问几次为什么.
八、 6. 在遇到一些繁琐的很难理解代码格式的时候,如果我们很难完全理解这些代码,那么我建议大家用自己可以接受的一种方式来理解这些代码,可能我们理解的误区很多,但是我认为这些误区会在我们以后的不断学习和交流中纠正过来。就像编写一个大的程序一样,在一次又一次的编译后,这个大程序逐渐完善
(6)养成良好的编程习惯
1、程序构思要有说明;
2、学会如何调试程序;
3、对运行结果要做正确与否的分析.
九、 7. 在学习的过程中,我们要学会老师经常给我们讲的网络记忆法,其实在vb中有很多的方法,属性或事件的应用都有相似之处,然后将这些知识点结合起来记忆,又省时又有效
二、复习过程简单的说就是细看书,勤做题,最后练上机。
细看书,就是在考试前的一个月内,以看书为主,越细越好(如果你时间紧的话可只重点看些考点涉及的东西),把书上的知识点(最好看几份历年试题,让自己明白考什么。)看懂看透,暂时不明白的或者不理解的先用笔记本记下。这样你的笔记本就有每章你不懂的知识点和题目了,之后可以问同学,问老师……如此反复,半个月下来你的笔试水平考试应该没问题了;下半个月的时间可以一边练习题目,一边练习上机。切不可前一段时间做题,后一段时间上机,那样的话会有很多忘记的知识点。
我们有时希望某个文本框只能输入数字,不能输入字符。有时希望用户在文本框中输入的数
字最大不能超过某个值。这个对于vb.net来说都是太Easy了。
我们可以 通过 在 文本框的 KeyPress 事件 中添加代码就可以非常轻松的实现这种效果。
比如我们希望文本框中只能输入字符 a ,那么我们可以这样写:
Private Sub TextBox1_KeyPress()Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
If e.KeyChar <> "a" Then
e.Handled = True
End If
End Sub
或者
Private Sub TextBox1_KeyPress()Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
If e.KeyChar <> "a" Then
e.KeyChar = ""
End If
End Sub
如果想让文本框只能接受数字,则可以这样写(这个是 C#,但是与vb.net只有语法上的差异):
private void textBox1_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e) {
if(e.KeyChar<="0"|| e.KeyChar>="9")
{
e.KeyChar="";
}
}从前面的两个例子我们我们可以知道。只要将System.Windows.Forms.KeyPressEventArgs 对象的 KeyChar 属性的值清空,就会取消当前的键盘输入。也可以将 System.Windows.Forms.KeyPressEventArgs 对象的Handled属性置成true。来取消当前输入。e.Handled表示当前的输入是否处理过,如果为true,则表示处理过。所以当你用程序将它置成 true,后,系统就不再处理它了,这样,这次输入就被取消了。
自从开了VB课,我就拿梦幻西游来练习,制作梦幻方面的计算器,总结如下:
1:在最初阶段,代码只会 IF THEN ,于是,重复代码一大堆,不过看着能正常使用,很满足。
2:需要用到SSTAB,这是我的第一个难题,我并不知道VB自带的有,于是还到此论坛来询问。
3:用到数组,第一次尝试写function,于是修改了以前的大量if... then ,代码简洁多了。
4:用到文件的读取,这个书本有介绍,结合网上的搜索,不是很难,不过TXT文件按行读取并组成一个数组,每行的文字分开等,也是一个大难题。
5:学习文件打包,控件注册,最终选定steup factory,并制作了一个漂亮的安装界面。
6:由于几乎每天都要更新一些内容,想用到软件的自动更新,于是开始学习VB用FTP 和 HTTP方式下载软件,这方面的学习到现在还是不行,FTP有时候下载不完整,还有怎么判断网络连接,怎么判断和主机的连接,这些都是照抄的网上代码,虽然能下载了,不过感觉还是不完美。
7:由于软件采用自动更新,而我又采用的是发现新版本就把整个安装文件下载重新安装的方法,很明显有些浪费。并且使用STEUP FACTORY进行打包后,安装包比较大,于是开始学习用VB代码去注册控件,这样可以用WINRAR制作成一个压缩包,只有以前的一小半大小。
8:感觉VB自带的软件的界面不好,从网上搜到了一些界面的原码,大多还是看不太明白,不过照抄着做也算成功了。
9:软件的一些设置问题,软件的透明度,软件窗体设置为最前面。这个方面还有一点搞不好,就是怎么样取消软件在最前,SetWindowPos Me.hWnd, -1, 0, 0, 0, 0, 3 这可以设置为最前,那么怎么取消最前呢?
10:软件的托盘和气泡提示正在学习中。
11:软件的注册,采用的是MAC地址的方法,成功!
12:这之间,也修改了很多的细节问题,感觉不是很难