VB编程实例
- 格式:doc
- 大小:21.00 KB
- 文档页数:6
vb教程编程实例详解VB教程编程实例详解VB(Visual Basic)是一种面向对象的编程语言,它可以用于开发Windows应用程序。
在这里,我们将详细解释一些VB 编程实例,以帮助初学者更好地理解和掌握这门语言。
编程实例1:计算器首先,让我们创建一个计算器的VB程序。
我们将使用VB的窗体和按钮来实现这个功能。
首先,我们需要在窗体上添加一些按钮,如"1"、"2"、"+"、"="等。
然后,我们需要用一个文本框来显示计算结果。
在窗体上双击"+"按钮并添加以下代码:```Private Sub ButtonPlus_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonPlus.ClickDim num1 As IntegerDim num2 As IntegerDim result As Integernum1 = Integer.Parse(TextBoxNum1.Text)num2 = Integer.Parse(TextBoxNum2.Text)result = num1 + num2TextBoxResult.Text = result.ToString()End Sub```在这个代码中,我们首先定义了三个变量:num1、num2和result,用于存储计算结果。
然后,我们使用Integer.Parse方法将文本框中输入的文本转换为整数类型,并将其赋值给num1和num2。
接下来,我们将num1和num2相加,将结果赋值给result,并使用result.ToString()方法将结果转换为字符串类型并显示在结果文本框中。
编程实例2:学生成绩管理系统接下来,让我们创建一个学生成绩管理系统的VB程序。
VB小程序设计实例引言VB(Visual Basic)是一种广泛应用于Windows平台的编程语言,它具有简单易学的特点,因此非常适合初学者入门。
本文将以一个实际的VB小程序设计实例为例,介绍如何使用VB语言进行简单的程序开发。
项目背景我们的目标是创建一个简单的VB小程序,用于管理学生信息。
该程序将允许用户添加、删除和修改学生的基本信息,例如姓名、年龄和班级。
此外,用户还可以根据特定条件检索学生信息,并显示学生列表。
设计步骤1. 创建VB项目首先,打开Visual Studio并选择“创建新项目”,然后选择“Visual Basic”作为项目类型。
接下来,选择“Windows Forms应用程序”作为模板,并给项目命名。
点击“确定”按钮以创建新的VB项目。
2. 设计用户界面在VB中,用户界面是通过拖放控件来创建的。
在“工具箱”中选择所需的控件,例如按钮、文本框和标签,并将它们放置在窗体上。
使用控件的属性面板可以更改它们的外观和行为。
3. 编写代码现在,我们需要为各个控件添加相应的事件处理程序。
例如,当用户点击一个按钮时,我们需要执行特定的操作。
首先,选择要添加事件处理程序的控件,然后在属性面板中找到“事件”部分。
在相应的事件上双击以创建并打开处理程序。
4. 实现学生信息管理功能在代码中,我们需要定义学生类和学生信息管理类。
学生类包含学生的属性,例如姓名、年龄和班级。
学生信息管理类包含对学生信息进行增删改查的方法。
我们可以使用集合类来存储学生对象,并使用LINQ进行查询操作。
在事件处理程序中调用适当的方法以实现相应的功能。
5. 运行和测试程序在完成代码的编写之后,我们可以点击“运行”按钮来启动程序。
通过与程序交互,测试各个功能是否按预期工作。
如果发现问题,可以调试程序并对代码进行调整。
6. 部署和发布程序一旦我们满意了程序的功能和性能,我们可以将程序部署和发布给其他人使用。
在Visual Studio中,选择“生成”菜单并点击“发布”选项。
VB编程实例4(单个数据库表应用程序) 1.打开工程vblx,添加一个窗口Form1,修改Form1的属性,名称(Nam e)为:fxs,Caption(窗口标题)为: 学生档案,保存在你的目录下.在fm ain中添加水平菜单(m3):数据库,添加下拉菜单(m31): 学生档案,其单击代码为:fxs.Show 2.准备好access数据库xs.m db,有两个表xs,cj,在数据源中添加系统DSN,选择驱动程序为Microsoft Access Driver,名称为lx,数据库指向你的xs.m db 添加ADO部件(Mi crosoft ADO Data Control 6.0)和DataGrid 部件(Microsoft DataGrid Control 6.0). 3.在窗体上放一个框架Fram e1,去掉Caption,设BorderStyle为0-None,在Fram e1上放一个Fram e2, 去掉Caption,设BorderStyle为0-None,在Fram e2上放置Adodc1,设其ConnectionString属性为DNS=lx, RecordSource的命令类型为2-adCm dTable,表名为xs,在Fram e2上放置命令按钮数组Comm and1(0~3),Caption分别为:添加,保存,删除,关闭在Fram e1上放一个Fram e3,去掉Caption,在Fram e3上放置标签数组zdm(0~7),设置字体,颜色, Caption分别为序号,登录名,姓名,性别,生日,电子邮件,电话,住址,放置文本框数组zdz(0~7), DataSource为Adodc1,DataField分别为xh,dlm,xm,xb,sr,eml,dh,dz 4.在窗体上放一个DataGrid1,设其DataSource为Adodc1,右击DataGrid1选择检索字段, 再右击调出属性页,在通用页设置允许添加,删除,更新,在列页设置各列的标题分别为: 序号,登录名,姓名,性别,生日,电子邮件,电话,住址,在布局页设置各列的宽和对齐方式5.响应Form的Load事件,添加如下代码: Left = (Screen.Width - Width) \ 2 Top = (Screen.Height - Height) \ 2'窗口居中 Fram e1.Left = 0: Fram e1.Top = 0 Fram e1.Width = ScaleWidth Fram e1.Height = ScaleHeight / 4 Fram e2.Left = (ScaleWidth -Fram e2.Width) \ 2 Fram e3.Left = (ScaleWidth - Fram e3.Width) \ 2 DataGrid1.Top = ScaleHeight / 4: DataGrid1.Left = 0 DataGrid1.Width = ScaleWidth DataGrid1.Height = ScaleHeight * 3 / 4 Adodc1.Refresh 响应Form的Resize事件,添加如下代码: If WindowState = 1 Then Exit Sub'最小化时不执行代码If WindowState = 0 Then Left = (Screen.Width - Width) \ 2 Top = (Screen.Height - Height) \ 2'正常窗口居中End If Fram e1.Left = 0: Fram e1.Top = 0 Fram e1.Width = ScaleWidth Fram e1.Height = ScaleHeight / 4 Fram e2.Left = (ScaleWidth - Fram e2.Width) \ 2 Fram e3.Left = (ScaleWidth - Fram e3.Width) \ 2 DataGrid1.Top = ScaleHeight / 4: DataGrid1.Left = 0 DataGrid1.Width = ScaleWidth DataGrid1.Height = ScaleHeight * 3 / 4 响应Form的Unload事件,添加如下代码: Adodc1.Recordset.Close 响应Comm and1的Click事件Select Case Index Case 0 Adodc1.Recordset.AddNew Case 1 Adodc1.Recordset.Update Case 2 Adodc1.Recordset.Delete Case 3 Unload fxs End Select。
vb顺序结构程序实例
以下是一个简单的VB顺序结构程序实例:
程序功能:计算输入两个数的和,并在屏幕上输出结果。
程序代码如下:
'VB顺序结构程序示例
Sub Main()
Dim num1 As Integer '定义第一个数
Dim num2 As Integer '定义第二个数
Dim sum As Integer '定义和
'读取用户输入的两个数
num1 = InputBox("请输入第一个数:")
num2 = InputBox("请输入第二个数:")
'计算两个数的和
sum = num1 + num2
'在屏幕上输出结果
MsgBox "两数之和为:" & sum
End Sub
以上程序是一个简单的VB顺序结构程序,它首先定义了要用到的变量,然后读取用户输入的两个数,并计算它们的和,在屏幕上输出结果。
注意,在编写程序时,要注意代码的格式和缩进,这对于程序的可读性和易维护性非常重要。
浅谈用VB6.0 编写木马程序现在网络上流行的木马软件基本都是客户机/服务器模式也就是所谓的C/S 结构,目前也有一些开始向B/S 结构转变,在这里暂且不对B/S 结构进行详谈,本文主要介绍C/S 结构其原理就是在本机直接启动运行的程序拥有与使用者相同的权限。
因此如果能够启动服务器端(即被攻击的计算机)的服务器程序,就可以使用相应的客户端工具客户程序直接控制它了。
下面来谈谈如何用VB 来实现它。
首先使用VB 建立两个程序,一个为客户端程序Client,一个为服务器端程序systry。
在Client 工程中建立一个窗体,加载WinSock 控件,称为tcpClient,协议选择TCP,再加入两个文本框,用以输入服务器的IP 地址或服务器名,然后建立一个按钮,按下之后就可以对连接进行初始化了,代码如下:Private Sub cmdConnect_Click()If Len(Text1.Text) = 0 And Len(Text2.Text) = 0 ThenMsgBox ("请输入主机名或主机IP 地址。
")Exit SubElseIf Len(Text1.Text) > 0 ThentcpClient.RemoteHost = Text1.TextElsetcpClient.RemoteHost = Text2.TextEnd IfEnd IftcpClient.ConnectTimer1.Enabled = TrueEnd Sub连接建立之后就可以使用DataArrival 事件处理所收到的数据了。
在服务器端systry 工程也建立一个窗体,加载WinSock 控件,称为tcpServer,协议选择TCP,在Form_Load 事件中加入如下代码:Private Sub Form_Load()tcpServer.LocalPort = 1999tcpServer.ListenEnd Sub准备应答客户端程序的请求连接,使用ConnectionRequest 事件来应答户端程序的请求,代码如下:Private Sub tcpServer_ConnectionRequest(ByVal requestID As Long)If tcpServer.State < > sckClosed ThentcpServer.Close…检查控件的State 属性是否为关闭的。
vb6.0开发实例-回复学习VB6.0开发实例VB6.0是一种经典的编程语言,它被广泛应用于Windows平台的软件开发中。
本文将以VB6.0开发实例为主题,详细介绍学习VB6.0开发的步骤和方法。
第一步:了解VB6.0在开始学习VB6.0开发之前,我们需要先了解一些基本的概念和知识。
VB 是Visual Basic的缩写,是一种基于WINDOWS的可视化编程语言,它简单易学,功能强大,并且具有直观的用户界面。
VB6.0是VB语言的第六个版本,也是最后一个版本。
第二步:安装VB6.0在学习VB6.0开发之前,我们需要先安装VB6.0开发环境。
你可以通过购买正版的VB6.0安装光盘,或者从网络上下载VB6.0安装文件。
安装VB6.0的过程比较简单,只需要按照提示一步一步进行即可。
第三步:创建第一个VB6.0应用程序一旦安装完成,我们就可以开始创建我们的第一个VB6.0应用程序了。
打开VB6.0开发环境,点击“新建项目”按钮,选择“标准Exe”模板,然后点击“打开”按钮。
这时,一个空白的窗体将会出现在我们面前。
第四步:设计用户界面在VB6.0中,我们可以通过拖拽控件的方式来设计应用程序的用户界面。
在工具箱中选择需要的控件,然后将其拖拽到窗体上即可。
你可以选择文本框、按钮、标签等控件来构建一个交互式的用户界面。
第五步:添加事件处理程序一旦我们设计好了用户界面,就需要为控件添加相应的事件处理程序。
在VB6.0中,我们可以通过双击一个控件来自动创建其点击事件的处理程序。
在事件处理程序中,我们可以编写代码来实现相应的功能,例如响应按钮的点击事件,进行数据的处理和显示等。
第六步:编写VB6.0代码VB6.0采用的是基于事件驱动的编程模型,我们可以通过编写代码来实现不同的功能。
在VB6.0中,采用的是基于对象的编程方式,我们可以通过操作对象的属性和方法来改变对象的状态和行为。
通过编写VB6.0代码,我们可以实现数据的处理、文件的读写、网络的通信等功能。
ExcelVBA编程实例(150例)主要内容和特点《ExcelVBA编程入门范例》主要是以一些基础而简短的VBA实例来对ExcelVBA中的常用对象及其属性和方法进行讲解,包括应用程序对象、窗口、工作簿、工作表、单元格和单元格区域、图表、数据透视表、形状、控件、菜单和工具栏、帮助助手、格式化操作、文件操作、以及常用方法和函数及技巧等方面的应用。
这些例子都比较基础,很容易理解,因而,很容易调试并得以实现,让您通过具体的实例来熟悉ExcelVBA编程。
■ 分16章共14个专题,以具体实例来对大多数常用的ExcelVBA对象进行讲解;■ 一般而言,每个实例都很简短,用来说明使用VBA实现Excel某一功能的操作;■ 各章内容主要是实例,即VBA代码,配以简短的说明,有些例子可能配以必要的图片,以便于理解;■ 您可以对这些实例进行扩充或组合,以实现您想要的功能或更复杂的操作。
VBE编辑器及VBA代码输入和调试的基本知识在学习这些实例的过程中,最好自已动手将它们输入到VBE编辑器中调试运行,来查看它们的结果。
当然,您可以偷赖,将它们复制/粘贴到代码编辑窗口后,进行调试运行。
下面,对VBE编辑器界面进行介绍,并对VBA代码输入和调试的基本知识进行简单的讲解。
激活VBE编辑器一般可以使用以下三种方式来打开VBE编辑器:■ 使用工作表菜单“工具——宏——Visual Basic编辑器”命令,如图00-01所示;■ 在Visual Basic工具栏上,按“Visual Basic编辑器”按钮,如图00-02所示;■ 按Alt+F11组合键。
图00-01:选择菜单“工具——宏——Visual Basic编辑器”命令来打开VBE编辑器图00-02:选择Visual Basic工具栏上的“Visual Basic编辑器”命令按钮来打开VBE编辑器此外,您也可以使用下面三种方式打开VBE编辑器:■ 在任一工作表标签上单击鼠标右键,在弹出的菜单中选择“查看代码”,则可进入VBE编辑器访问该工作表的代码模块,如图00-03所示;■ 在工作簿窗口左上角的Excel图标上单击鼠标右键,在弹出的菜单中选择“查看代码”,则可进入VBE编辑器访问活动工作簿的ThisWorkbook代码模块,如图00-04所示;■ 选择菜单“工具——宏——宏”命令打开宏对话框,若该工作簿中有宏程序,则单击该对话框中的“编辑”按钮即可进行VBE编辑器代码模块,如图00-05所示。
现在大多数语言都支持客户-服务器模式编程,其中VB给我们提供了很好的客户-服务器编程方式。
下面我们用VB来实现TCP/IP网络编程。
TCP/ IP协议是In ternet 最重要的协议。
VB提供了Win Sock控件,用于在TCP/ IP 的基础上进行网络通信。
当两个应用程序使用Socket 进行网络通信时,其中一个必须创建Socket 服务器侦听,而另一个必须创建Socket 客户去连接服务器。
这样两个程序就可以进行通信了。
1.创建服务器,首先创建一个服务端口号。
并开始侦听是否有客户请求连接。
建立一窗体,并向其增加一个Winsock 控件(可在工程菜单中的部件项来添加此控件),添加两文本框Text1,Text2,和一按钮Command1Private Sub Form_Load()SockServer.LocalPort = 2000 '服务器端口号,最好大于1000SockServer 丄iste n '开始侦听End SubPrivate Sub Form_Unload(Cancel As Integer) SockServer.CloseEnd SubPrivate Sub SockServer_Close()SockServer.CloseEnd SubPrivate Sub SockServer_ConnectionRequest(ByVal requestID As Long)SockServer.CloseSockServer.Accept requestID '表示客户请求连接的ID号End Sub'当客户向服务器发送数据到达后,产生DataArrival事件,在事件中接收数据,GetData方法接收数据。
Private Sub SockServer_DataArrival(ByVal bytesTotal As Long)Dim s As StringSockServer.GetData sText1.Text = sEnd Sub当我需要向客户发送数据时,只需调用Se ndData方法。
VB经典案例1输入3个数,输出最大的数X=valtext1y=valtext2z=valtext3if x>=y thenif x>=z then print xelse print zend ifelse if y>=z then print yend if2有一元二次方程:aX2+bX+c=0,依次输入a,b,c,判断此方程是否有实根a=valtext1b=valtext2c=valtext3If bb-4ac>=0 then print “有实根”else print “无实根”end if3输入一个成绩,若大于等于60,则用消息框显示“恭喜成绩通过”,若小于60,则弹出消息框显示“抱歉成绩没有通过”N=val text1if n>=60 then msgbox”恭喜成绩通过”else msgbox “抱歉成绩没有通过”end if4输入一年份,判断它是否为闰年,并显示有关信息判断闰年的条件是:年份能被4整除但不能被100整除,或者能被400整除y=valtext 1if y mod 4 =0 and y mod 100 = 0 then print “y是闰年”else print y “不是闰年’”end if5输入学生的百分制成绩,转换输出为五级制成绩,90~100分转换为优秀,80~89转换为良好,70~79转换为中等,60~69转换为及格,0~60转换为不及格;If mark >=90 then grade= ‘优’else If mark >=80 then grade =‘良’else If mark >=70 then grade =‘中’else If mark >=60 then grade =‘及格’else grade=”不及格”6随机产生一个三位正整数,然后逆序输出,产生的数与逆序数同时显示;例如,产生246,输出是642;n=intr n d 900+100dim x%,a%,b%,c%a=x mod 10b=intx mod 100/10c=intx/100print x;a100+b10+c7 输入两个整数,求它们的最大公约数;Function gcd %by val m%,by val n%if m<n then t=m : m=n:n=tR= m mod ndo while r< > 0m=n : n=r :r= mod nloop gcd =nend function8 编程求200--400范围内5的倍数或7的倍数之和;dim s%,i%s=0For i =200 to 400if i mod 5 =0 or i mod 7 =0 then s=s+iend ifnext iprint s9 计算100~300之间所有能被3和7整除的数之和dim s%,i%s=0for i=100 to 300If i mod 3 =0 and i mod 7 =0 then s=s+iend ifnext iprint “s=” &s10 分别统计1-100中,满足3的倍数、7的倍数的数各有多少;Dim n1%,n2% ,i%n1=0:n2=0For i=1to 100if i mod 3=0 then n1=n1+1if i mod 7=0 then n2=n2+1next iprint n1,n211 某次歌曲大奖赛,有7个评委;如果分别输入7个评委对某个参赛者的打分数,按照去掉一个最高分和一个最低分的计算办法,求出该参赛者的平均得分;Dim a6 as integer i%,max%,min%,sum%a0=val 省略a6=valsum=a0+a1+a2+a3+a4+a5+a6max=a0min=a0for i =1 to 6 if min>ai then min=aiIf max<ai then max=aisum=sum+ainext iprint “平均分”;sum-min -max/512 输入一串字符,统计其中字母A出现的次数;dim s$,i%,n%s=text1n=0for i=1 to lensc=mids,i,1If c=”A” OR c=”a” then n=n+1next iprint n13 我国目前有13亿人口,按人口年增长率%计算,多少年后我国人口将超过26亿;x=13n=0do while x<26x=x n=n+1loopprint “年数为:”;n;”人数为:”;xm=log2/logif intm<>m then m= intm+1print m14 小猴有桃若干,第一天吃掉一半多一个;第二天吃剩下桃子的一半多一个;以后每天都吃尚存桃子的一半多一个,到第7天只剩一个,问小猴原有桃多少Dim n%,i%x=1for i=6 to 1 step -1x =2x+1print xnext i15 求100以内的素数Dim m%,i%,tag as booleanfor m=3 to 100 step 2tag=truefor i=2 to m-1if m mod i=0 Then tag=falsenext iIf tag=true then print m&”是素数”else print m&”不是素数”End ifnext m16 百元买百鸡问题;假定小鸡每只5角,公鸡每只2元,母鸡每只3元,编程求解购鸡案; Dim x%,y%,z%,n%n=0print “母鸡”,”公鸡”,”小鸡’for x = 0 to 33for y=0 to 50Z=100-x-yn=n+1if 3x+2y+z=100 then print x,y,znext ynext x17 编程求斐波那契数列前11项;斐波那契数列:F0=f1=1, Fn=Fn-1+Fn-2 n>=2Dim x as integer dim i%n=16redim xn-1x0=1x1=1for i=2 to n-1Xi=xi-1+xi-2next ifor i=0 to n-1print xi,if i+1mod 5=0 then printnext18 将输入的字符串以反序显示;例如:输入“ASDFGT”,显示“TGFDSA”Dim i,a,b, n as stringn=inputbox“输入字符”i=lennfor a=1 to i/2b=midn,a,1Midn,a,1=midn,i+1-a,1midn,i+1-a,1=bnext aprint n19 随机产生10个30,100内的整数,求最大值及所对应的下标Dim a0 to 9 as integer i% ,max%, imax%for i=0 to 9ai=int r n d 71 +30print ai;next imax=a0imax=0for i = 1 to 9If ai> max then max =ai:imax =inext iprint “max=”; max,”imax=”;imax20 随机产生10个30,100内的整数,求最大值、最小值和平均值;Dim a0 to 9 as integer i% ,max%, min% ,averfor i=0 to 9ai=int r n d 71 +30Next imin=a0max=a0aver=a0for i=1 to 9if ai>max then max=aiIf ai<min then main=aiaver=aver+ainext ifor i=0 to 9print ai;next iprintPrint “max=”;max,”min=”;min, “aver=”;aver/1021 随机产生10个30,100内的整数,求最小值及所对应的下标;Dim a0 to 9 as integer i% ,min%, imin%for i=0 to 9ai=int r n d 71 +30print ai;next imin=a0imin=0for i = 1 to 9If ai< min then min=ai : imin =inext iprint “min=”; min,”imin=”;imin22 随机生成一个整型的二维数组,范围在10,20之间,以下三角形式输出该数组;Dim a4,4 as integerfor i=0 to 4for j=0 to 4ai,j=intr nd11+10next jnext iFor i=0 to 4for i=0 to 4print ai,j;next jprintnext i23 随机产生10个1~100的正整数放入数组,显示产生的数,求最大值、最小值、平均值; Dim a1 to 10 as integer,i%,max%,min%,aver%for i=1 to 10ai=intr n d100+1next iMin=a1max=a1aver=a1for i=2 to 10if ai>max then max=aiIf ai<minthen Min=aiaver=aver+ainext iprintprint “max=”;max,”min=”;min,”aver=”;aver/1024 利用随机函数生成一个4×4的矩阵的二维矩阵,范围是20,50内的整数,输出该矩阵所有数据之和Dim a2,3,sum%for i=0 to 3for j=0 to 3ai,j=intr n d31+20next inext jFor i =0 to 3for j=0 to 3print ai,j;next jprintnext ifor i=0 to 3for j=0 to 3Sum=sum+ai,jnext jnext iprint ”sum=”;sum25已知有序数组a,编程插入xx的值为14;数组a中的元素分别为{12,6,4,89,75,63,100,20,31}; Dim a,i%,k%,x%,n%a=array12,6,4,89,75,63,100,20,31n=uboundax=valtext1for k=0 to nif x<ak then exit fornext kredim preserve an+1for i=n to k step -1ai+1=ainext iak=xfor i=0 to n+1print ai;next i26 编写一函数,计算Double类型一维数组所有元素的平均值;Function avg a as doubledim i%,s m%,n%s=0m=Lbounda;n=uboundafor i=m to ns=s+ainext iAvg=s/n-m+1end function27用函数过程求表达式1+1/2+1/3+1/4+…+1/n的和;Function sum n% as singledim i%sS=0for i=1 to nS=s+1/inext isum=send function28 编一子过程ProcMin,求一维数组a中的最小值,子过程的形参自己确定;Dim a1 to 10,amin,i%for i=1 to 10ai=-intr n d101+300print ai;next iCall sa,aminprintprint”最小值”;aminend subsub sb,mindim i%min=b1For i=2 to 9if bi<min then min=binext i29 编一个函数,求一维数组a中的最大值,函数的形参自己确定;Function amaxa as integerdim i%,max %max=aLboundafor i =Lbounda+ uboundaif ai>max then max=ainext iamax= maxend function30 编写一个程序,计算并输出区间100,1000内所有素数的和;要求:判断素数使用过程函数或子过程来实现;然后调用该过程求范围内各素数的和;Function s%dim m% ,tag as blooean,i%M=valxtag=tureFor i =2 to n-1if n mod i=0 then tag=falsenext iIf tag then s=xend functionPrivateDim i%,k%for i =101 to1000If si then iNext iSum=0For k=0 tosum =sum+valknext kLabel1=”100,1000内所有素数和为:”&sum。
VS2008——VB编程实例(入门教程)1. VB(Visual Basic)的发展微软公司在1991年推出了建立在Window开发平台基础上的开发工具——Visual Basic 1.0。
随着Window操作平台的不断完善,微软公司也相继推出了Visual Basic2.0 、Visual Basic3.0和Visaul Basic4.0,这些版本主要用于在Window3.x环境中的16位计算机上开发应用程序。
1997年微软公司推出了Visual Basic5.0可以在Window9x或者Window NT环境中32位计算机上开发应用程序。
1998年又推出Visual Basic6.0,它的功能更加完善。
2.VB语言的基础1.关键字:关键字是指系统使用的具有特定含义的字符。
常用的关键字有:Dim、Private , Sub , Public , End , If , Else , Form , Me , Single , As , Integer , Unload , Do , While , MessageBox , For , Next等。
2.标识符:标识符是指编写代码时定义的名称。
在VB中所有的常量、变量、模块、函数、类、对象及其属性都有各自的名称,这些名称就是标识符。
例如:工程1:一个工程的标识符。
Form1:一个窗体的标识符。
Class1:一个类模块的标识符。
Module1:一个模块的标识符。
4.常用数据类型:4.1字符型(String)Public Class Form1Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.LoadDim strA As StringstrA = "Hello world"Label1.Text = strAEnd SubEnd Class上面代码是在VS2008-VB类里建立了Window窗体应用程序,并在窗体上添加一个标签控件(Label1),用关键字Dim 声名一个字符型变量 strA 并赋值“Hello world”,再把它赋给标签(Label1)。
一、导入到Xls文件并打印
Sub OnLButtonUp(ByVal Item, ByVal Flags, ByVal x, ByVal y)
Dim a,fso
a=HMIRuntime.Tags("fileName").Read
Set fso = CreateObject("scripting.filesystemobject")
If fso.FileExists("C:\Model.xls") Then
Dim objExcelApp
Set objExcelApp = CreateObject("Excel.Application")
objExcelApp.Visible = False
objExcelApp.Workbooks.Open "C:\Model.xls"
objExcelApp.Cells(2, 3).Value = HMIRuntime.Tags("NewTag1_1").read objExcelApp.Cells(4, 5).Value = HMIRuntime.Tags("NewTag1_2").read objExcelApp.Cells(6, 7).Value = HMIRuntime.Tags("NewTag1_3").read objExcelApp.Cells(8, 9).Value = HMIRuntime.Tags("NewTag1_4").read
objExcelApp.Cells(10, 11).Value = HMIRuntime.Tags("NewTag1_5").read objExcelApp.ActiveWorkbook.SaveAs("C:\Report\"&CStr(a)&".xls")
objExcelApp.ActiveWorkbook.PrintOut
objExcelApp.Workbooks.Close
objExcelApp.Quit
Set objExcelApp = Nothing
MsgBox "文件已经成功导出/Export Successful"
Else
MsgBox "Excel模板文件不存在"
End if
End Sub
二、从Xls文件导入或者查询
Sub OnLButtonUp(Byval Item, Byval Flags, Byval x, Byval y) Dim a,fso
a=HMIRuntime.Tags("FileName").Read
Set fso = CreateObject("scripting.filesystemobject")
If fso.FileExists("C:\Report\"&CStr(a)&".xls") Then
Dim objExcelApp
Set objExcelApp = CreateObject("Excel.Application") objExcelApp.Visible = False
objExcelApp.Workbooks.Open "C:\Report\"&CStr(a)&".xls"
HMIRuntime.Tags("NewTag1_1").Write objExcelApp.Cells(2, 3).Value HMIRuntime.Tags("NewTag1_2").Write objExcelApp.Cells(4, 5).Value HMIRuntime.Tags("NewTag1_3").Write objExcelApp.Cells(6, 7).Value HMIRuntime.Tags("NewTag1_4").Write objExcelApp.Cells(8, 9).Value
HMIRuntime.Tags("NewTag1_5").Write objExcelApp.Cells(10, 11).Value objExcelApp.ActiveWorkbook.Save
objExcelApp.Workbooks.Close
objExcelApp.Quit
Set objExcelApp = Nothing
MsgBox "导入数据成功/Import Successful"
Else
MsgBox "文件不存在/file is not existing"
End if
End Sub
3、WinCC如何实现带确认的按钮操作
网上多是介绍C脚本实现的方法,其实VB脚本的实现更简单,代码如下:
Sub OnLButtonUp(Byval Item, Byval Flags, Byval x, Byval y) If MsgBox("提示内容",1,"提示标题")=1 Then
HMIRuntime.Tags("TestTag").Write 1
Else
HMIRuntime.Tags("TestTag").Write 0
End If
End Sub
说明
MsgBox("提示内容",1,"提示标题")中的1为消息窗口中按钮的类型0=vbOKonly
1=vbOKCancel
2=vbAbortRetryIgnore
3=vbYesNoCancel
4=vbYesNo
一、将WinCC变量导出到TEXT文件
Sub OnLButtonUp(ByVal Item, ByVal Flags, ByVal x, ByVal y) Dim fso,File
Dim a
a=HMIRuntime.Tags("FileName").Read
Const ForWriting = 2
Set fso = CreateObject("Scripting.FileSystemObject")
Set File = fso.OpenTextFile("D:\Export&Import\"&CStr(a)&".txt", ForWriting, True) File.WriteLine(HMIRuntime.Tags("Var_1").read)
File.WriteLine(HMIRuntime.Tags("Var_2").read)
File.WriteLine(HMIRuntime.Tags("Var_3").read)
File.WriteLine(HMIRuntime.Tags("Var_4").read)
file.WriteLine(HMIRuntime.Tags("Var_5").read)
File.Close
MsgBox "文件已经成功导出/Export Successful"
End Sub
二、从TXT文件中读取数据到WinCC变量
Sub OnLButtonUp(ByVal Item, ByVal Flags, ByVal x, ByVal y)
Dim fso
Dim txtfile
Dim a
a=HMIRuntime.Tags("FileName").Read
Set fso = CreateObject("scripting.filesystemobject")
If fso.FileExists("D:\\Export&Import\\"&CStr(a)&".txt") Then
Set txtfile = fso.OpenTextFile("D:\\Export&Import\\"&CStr(a)&".txt") HMIRuntime.Tags("Var_1").Write txtfile.ReadLine
HMIRuntime.Tags("Var_2").Write txtfile.ReadLine
HMIRuntime.Tags("Var_3").Write txtfile.ReadLine
HMIRuntime.Tags("Var_4").Write txtfile.ReadLine
HMIRuntime.Tags("Var_5").Write txtfile.ReadLine
MsgBox "导入数据成功/Import Successful"
txtfile.Close
Else
MsgBox "文件不存在/File is not existing"
End if
End Sub。