VB程序例子
- 格式:doc
- 大小:16.00 KB
- 文档页数:3
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程序设计实例1.银行存款计算器编写一个程序,可以计算并显示一个银行账户的存款利息。
用户可以输入初始存款金额、年利率以及存款年限。
程序将根据用户的输入计算出最终存款金额,并显示在屏幕上。
```vbModule BankDepositCalculatorSub Main'用户输入初始存款金额、年利率和存款年限Console.WriteLine("请输入初始存款金额:")Dim principal As Decimal = Console.ReadLineConsole.WriteLine("请输入年利率:")Dim interestRate As Decimal = Console.ReadLineConsole.WriteLine("请输入存款年限:")Dim years As Integer = Console.ReadLine'计算最终存款金额Dim finalAmount As Decimal = principal * (1 + interestRate) ^ years'显示最终存款金额Console.WriteLine("最终存款金额为:" & finalAmount)Console.ReadLineEnd SubEnd Module```2.温度转换器编写一个程序,可以将摄氏温度转换为华氏温度或将华氏温度转换为摄氏温度。
用户可以选择要进行的转换类型并输入相应的温度值。
程序将根据用户的选择进行温度转换,并显示转换结果。
```vbModule TemperatureConverterSub Main'用户输入转换类型和温度值Console.WriteLine("请选择转换类型(1-摄氏转华氏,2-华氏转摄氏):")Dim conversionType As Integer = Console.ReadLineConsole.WriteLine("请输入温度值:")Dim temperature As Decimal = Console.ReadLine'进行温度转换Select Case conversionTypeDim fahrenheit As Decimal = temperature * 9 / 5 + 32Console.WriteLine("转换结果为:" & fahrenheit & "华氏度")Case 2Dim celsius As Decimal = (temperature - 32) * 5 / 9Console.WriteLine("转换结果为:" & celsius & "摄氏度")Case ElseConsole.WriteLine("无效的转换类型")End SelectConsole.ReadLineEnd SubEnd Module```3.数字猜猜猜游戏编写一个程序,模拟一个数字猜猜猜游戏。
一、导入到Xls文件并打印Sub OnLButtonUp(ByVal Item, ByVal Flags, ByVal x, ByVal y)Dim a,fsoa=HMIRuntime.Tags("fileName").ReadSet fso = CreateObject("scripting.filesystemobject")If fso.FileExists("C:\Model.xls") ThenDim objExcelAppSet objExcelApp = CreateObject("Excel.Application")objExcelApp.Visible = FalseobjExcelApp.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").readobjExcelApp.Cells(10, 11).Value = HMIRuntime.Tags("NewTag1_5").read objExcelApp.ActiveWorkbook.SaveAs("C:\Report\"&CStr(a)&".xls")objExcelApp.ActiveWorkbook.PrintOutobjExcelApp.Workbooks.CloseobjExcelApp.QuitSet objExcelApp = NothingMsgBox "文件已经成功导出/Export Successful"ElseMsgBox "Excel模板文件不存在"End ifEnd Sub二、从Xls文件导入或者查询Sub OnLButtonUp(Byval Item, Byval Flags, Byval x, Byval y) Dim a,fsoa=HMIRuntime.Tags("FileName").ReadSet fso = CreateObject("scripting.filesystemobject")If fso.FileExists("C:\Report\"&CStr(a)&".xls") ThenDim objExcelAppSet objExcelApp = CreateObject("Excel.Application") objExcelApp.Visible = FalseobjExcelApp.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).ValueHMIRuntime.Tags("NewTag1_5").Write objExcelApp.Cells(10, 11).Value objExcelApp.ActiveWorkbook.SaveobjExcelApp.Workbooks.CloseobjExcelApp.QuitSet objExcelApp = NothingMsgBox "导入数据成功/Import Successful"ElseMsgBox "文件不存在/file is not existing"End ifEnd Sub3、WinCC如何实现带确认的按钮操作网上多是介绍C脚本实现的方法,其实VB脚本的实现更简单,代码如下:Sub OnLButtonUp(Byval Item, Byval Flags, Byval x, Byval y) If MsgBox("提示内容",1,"提示标题")=1 ThenHMIRuntime.Tags("TestTag").Write 1ElseHMIRuntime.Tags("TestTag").Write 0End IfEnd Sub说明MsgBox("提示内容",1,"提示标题")中的1为消息窗口中按钮的类型0=vbOKonly1=vbOKCancel2=vbAbortRetryIgnore3=vbYesNoCancel4=vbYesNo一、将WinCC变量导出到TEXT文件Sub OnLButtonUp(ByVal Item, ByVal Flags, ByVal x, ByVal y) Dim fso,FileDim aa=HMIRuntime.Tags("FileName").ReadConst ForWriting = 2Set 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.CloseMsgBox "文件已经成功导出/Export Successful"End Sub二、从TXT文件中读取数据到WinCC变量Sub OnLButtonUp(ByVal Item, ByVal Flags, ByVal x, ByVal y)Dim fsoDim txtfileDim aa=HMIRuntime.Tags("FileName").ReadSet fso = CreateObject("scripting.filesystemobject")If fso.FileExists("D:\\Export&Import\\"&CStr(a)&".txt") ThenSet txtfile = fso.OpenTextFile("D:\\Export&Import\\"&CStr(a)&".txt") HMIRuntime.Tags("Var_1").Write txtfile.ReadLineHMIRuntime.Tags("Var_2").Write txtfile.ReadLineHMIRuntime.Tags("Var_3").Write txtfile.ReadLineHMIRuntime.Tags("Var_4").Write txtfile.ReadLineHMIRuntime.Tags("Var_5").Write txtfile.ReadLineMsgBox "导入数据成功/Import Successful"txtfile.CloseElseMsgBox "文件不存在/File is not existing"End ifEnd Sub。
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中,选择“生成”菜单并点击“发布”选项。
'-------------------------------------------------' 题目:( 事件) 单击窗体。
' ( 响应) 求从100 到1000 之间所有是 3 的倍数的数之' 和,当和大于3000 时,停止计算并输出和。
请将结果输' 出到窗体上, 并存入所给变量SUM中。
使用for...next 语' 句完成程序'-------------------------------------------------Dim sum As Integersum = 0Dim i As IntegerFor i = 100 To 1000If i Mod 3 = 0 Thensum = sum + iEnd IfIf sum > 3000 ThenExit ForEnd IfNext iPrint sum题目(事件)点击窗体(响应)求1!+2!+3!+,,,,,,, +10! 的值,并在窗体上输出,结果存入变量L 中Dim l as longDim p as longp=1Fori=1to10p=p*il=l+pnext iprint l3 题目点击窗体求100 以内偶数的和,并将结果输出在窗体上,将结果存入变量sum 中Dim sum as integerFor i=0 to 100 step2Sum=sum+iNext iPrint sum题目:单击窗体求1+2+3+4+5+,,,,,, .+100 的值并将结果输入在窗体上,结果存入变量sum 中Dim sum as integerFor i=0 to 100Sum=sum+iNextPrint sum题目双击窗体求1+5+10+15+,,,,, ..+500 的和,并将结果输出在窗体上,将结果存入变量sum 中Dim sum as longSum=0For i=0 to 500 step 5Sum=sum+iNextPrint sum' 题目:( 事件) 单击窗体。
以下是一个简单的 程序设计案例,用于实现一个计算器应用程序:打开 Visual Studio,创建一个新的 Windows Forms 应用程序项目。
在 Form1 上添加以下控件:两个 Label 控件,分别命名为 lblNum1 和 lblNum2,用于显示输入的两个数字。
两个 TextBox 控件,分别命名为 txtNum1 和 txtNum2,用于输入两个数字。
四个 Button 控件,分别命名为 btnAdd、btnSubtract、btnMultiply 和 btnDivide,用于执行加、减、乘、除运算。
一个 Label 控件,命名为 lblResult,用于显示运算结果。
为 btnAdd、btnSubtract、btnMultiply 和 btnDivide 按钮分别添加 Click 事件处理程序。
在每个 Click 事件处理程序中,获取 txtNum1 和 txtNum2 中输入的两个数字,并执行相应的运算操作。
将结果显示在 lblResult 中。
以下是一个示例代码:vbPublic Class Form1Private Sub btnAdd_Click(sender As Object, e As EventArgs) Handles btnAdd.Click Dim num1 As Double = CDbl(txtNum1.Text)Dim num2 As Double = CDbl(txtNum2.Text)Dim result As Double = num1 + num2lblResult.Caption = result.ToString()End SubPrivate Sub btnSubtract_Click(sender As Object, e As EventArgs) Handles btnSubtract.ClickDim num1 As Double = CDbl(txtNum1.Text)Dim num2 As Double = CDbl(txtNum2.Text)Dim result As Double = num1 - num2lblResult.Caption = result.ToString()End SubPrivate Sub btnMultiply_Click(sender As Object, e As EventArgs) Handles btnMultiply.ClickDim num1 As Double = CDbl(txtNum1.Text)Dim num2 As Double = CDbl(txtNum2.Text)Dim result As Double = num1 * num2lblResult.Caption = result.ToString()End SubPrivate Sub btnDivide_Click(sender As Object, e As EventArgs) Handles btnDivide.ClickDim num1 As Double = CDbl(txtNum1.Text)Dim num2 As Double = CDbl(txtNum2.Text)If num2 <> 0 ThenDim result As Double = num1 / num2lblResult.Caption = result.ToString()ElseMessageBox.Show("除数不能为0")End IfEnd SubEnd Class这个简单的计算器应用程序可以让用户输入两个数字,并选择执行加、减、乘、除运算操作。
vb简单程序例子VB(Visual Basic)是一种简单且易于学习的编程语言,下面是一个简单的VB 程序示例,以便更好地理解和学习编程的基本概念。
这是一个计算圆的面积的VB程序示例:```vbModule Module1Sub Main()Dim radius As DoubleConst pi As Double = 3.14Dim area As DoubleConsole.Write("请输入圆的半径:")radius = Convert.ToDouble(Console.ReadLine())area = pi * radius * radiusConsole.WriteLine("圆的面积为:" & area)Console.ReadLine()End SubEnd Module```在这个程序中,我们首先声明了变量`radius`(圆的半径),`pi`(圆周率)和`area`(圆的面积)。
`radius`和`pi`的数据类型为Double,这意味着它们可以存储小数值。
接下来,我们通过使用`Console.Write`语句提示用户输入圆的半径。
然后,我们使用`Convert.ToDouble`函数将用户输入的值从字符串转换为Double类型,并将其赋值给`radius`变量。
通过使用圆的面积公式`area = pi * radius * radius`,我们计算出圆的面积,并将其存储在`area`变量中。
最后,使用`Console.WriteLine`语句将结果输出到控制台上,并使用`Console.ReadLine`语句等待用户按下任意键来结束程序的执行。
通过运行这个简单的VB程序示例,你可以通过输入圆的半径来计算出圆的面积。
这个示例程序展示了VB编程中变量的声明和使用、用户输入的处理、数学计算以及输出结果的基本方法。
希望这个简单的VB程序示例能够帮助你更好地理解和学习VB编程的基础知识!。
VB循环程序例题附答案1.素数1. [100,999]范围内同时满足以下两个条件的十进制数. ⑴其个位数字与十位数字之和除以10所得的余数是百位数字;⑵该数是素数; 求有多少个这样的数?15n = 0For i = 100 To 999a = i \ 100b = i \ 10 Mod 10c = i Mod 10If (c + b) Mod 10 = a Thenx = 0For j = 2 To i - 1If i Mod j = 0 Then x = 1: Exit ForNext jIf x = 0 Then n = n + 1End IfNext iPrint n2. [300,800]范围内同时满足以下两个条件的十进制数. ⑴其个位数字与十位数字之和除以10所得的余数是百位数字;⑵该数是素数;求满足上述条件的最大的三位十进制数。
761 For i = 300 To 800a = i \ 100b = i \ 10 Mod 10c = i Mod 10If (c + b) Mod 10 = a Thenx = 0For j = 2 To i - 1If i Mod j = 0 Then x = 1: Exit ForNext jIf x = 0 Then s = iEnd IfNext iPrint s3. 除1和它本身外,不能被其它整数整除的正整数称为素数(注:1不是素数,2是素数)。
若两素数之差为2 ,则称两素数为双胞胎数,问[31,601]之间有多少对双胞胎数。
22n = 0For i = 31 To 601 - 2x = 0If i Mod j = 0 Then x = 1: Exit ForNext jIf x = 0 Theny = 0For j = 2 To Sqr(i + 2)If (i + 2) Mod j = 0 Then y = 1: Exit ForNext jIf y = 0 Then n = n + 1End IfNext iPrint n4. 数学家哥德巴赫曾猜测:任何大于6的偶数都可以分解成两个素数(素数对)的和。
实验报告11实验报告2:实验题目1:设计窗体。
参考界面如下:运行前运行后要求:1)在窗体上添加一个标签,通过属性窗囗设置标签格式:Caption:字体格式Alignment:2—Center(居中)BorderStyle :1—Fixed Single(有边框)Backstyle:0—Tansparent(背景透明)2)运行时,单击“字号”,将标签内容的字号设置为30;单击“加粗”,将标签内容加粗;单击“下划线”,则在标签内容下加下划线。
提示:字号FontSize、加粗FontBold、下划线FontUnderline实验题目1源程序代码:Private Sub Command1_Click()Label1.FontSize = 30End SubPrivate Sub Command2_Click()Label1.FontBold = trueEnd SubPrivate Sub Command3_Click()Label1.FontUnderline = TrueEnd Sub实验题目2:设计一个计算器。
参考界面如下:要求:1)实现算术运算(+、-、*、/)的功能;2)实现清除和结束的功能;3)实现清除后,将焦点移到第一个文本框中。
实验题目2源程序代码:Private Sub Command1_Click()Text3.Text = Val(Text1.Text) + Val(Text2.Text)End SubPrivate Sub Command2_Click()Text3.Text = Val(Text1.Text) - Val(Text2.Text)End SubPrivate Sub Command3_Click()Text3.Text = Val(Text1.Text) * Val(Text2.Text)End SubPrivate Sub Command4_Click()Text3.Text = Val(Text1.Text) / Val(Text2.Text)End Sub实验题目3:设计一个能够统计某学生三门课程成绩总分和平均分的程序。
VB实例源码(完整资料).doc【最新整理,下载后即可编辑】课前体验Private Sub Form_Click()For i = 1 To 10For j = 1 To iPrint "* ";Next jPrintNext iEnd Sub【例3-1】Private Sub Form_Click()c1$ = Chr$(13) + Chr$(10)msg1$ = "请输入您的名字: "msg2$ = "输入后按回车键"msg3$ = "或单击“确定”按钮"msg$ = msg1$ + c1$ + msg2$ + c1$ + msg3$ name$ = InputBox(msg$, "InputBox 函数示例", "张三") Print name$End Sub【例3-2】Private Sub Form_Click()Msg1$=”Are you Continue to?”msg2$=”Operation Dialog Box”r=MsgBox(msg1$,34,msg2$)Print rEnd Sub【例3-3】编写程序,用MsgBox函数判断是否继续执行。
Private Sub Form_Click()msg$ = "请确认此数据是否正确"Title$ = "数据检查对话框"x = MsgBox(msg$, 19, Title$)If x = 6 ThenPrint x * xElseIf x = 7 ThenPrint "请重新输入"End IfEnd Sub【例3-5】Private Sub Form_Click()Print: PrintFontName = "隶书"FontSize = 16Print " 姓名"; Tab(8); "年龄"; Tab(16); "职务";Print Tab(24); "单位"; Tab(32); "籍贯"PrintPrint "吴大明"; Tab(8); 25; Tab(16); "职员"; Tab(24); "人事科"; Tab(32); "北京"End Sub【例3-6】Private Sub Form_Click()X = InputBox("请输入成绩", "学生成绩录入", "00")Print xEnd Sub【例3-7】Private Sub Form_Click()Dim x As Single, y As Singlex=InputBox(“请输入x的值”)If x>0 Then y=1 ElseIf x=0 Then y=0 Else y=-1Print “x=”; x ,”y=” ; yEnd Sub【例3-8】Private Sub Form_Click()Dim msg, UserInputmsg = "请输入一个字母或0~9之间的数字."UserInput = InputBox(msg) ‘输入一个字母或数字If Not IsNumeric(UserInput) Then ‘判断是否是数字If Len(UserInput) = 1 Then ‘不是数字时,判断输入的字符串长度是否为1Select Case Asc(UserInput) ‘判断输入字母的ASCII 码值Case 60 To 90 '在60-90之间为大写字母msg = "你输入的是一个大写字母'"msg = msg & Chr(Asc(UserInput)) & "'。
我们知道,GIF类型的图像格式支持透明显示,而BMP类型的图像格式不支持透明显示。
然而,在VB中,我们只需通过简单的编程就能实现位图透明显示。
透明位图与透明GIF 图像相比有一个很大的优点,即:GIF图像格式最大支持256种颜色,位图却可以支持真彩色。
下面,我们以将一幅飞鸟前景图象透明显示于天空背景为例来说明VB中编程显示透明位图的方法。
在VB中新建工程,在Form1窗体上放置控件:
名称类型属性
Command1 CommandButton Caption: 用对象方法绘图
Command2 CommandButton Caption: 用API函数绘图
Text1 TextBox Text: 0
Text2 TextBox Text: 0
Picture1 PictureBox picture: 载入蓝天的位图Clouds.bmp
Picture2 PictureBox picture: 载入飞鸟的位图hawks.bmp
Label1 Label Caption: Top
Label2 Label Caption: Left
一、使用VB对象方法:
VB中为PictureBox控件对象提供了Point和PSet方法,前者用于取得指定点上的RGB颜色值,后者用于将对象上的点设置为指定颜色。
使用这两个方法,从前景图中读取各像素点的RGB颜色值,滤除设置成透明颜色的点,再重绘于背景图上,即可实现位图透明显示的效果。
双击窗体,填写代码,将PictureBox对象坐标的度量单位设为象素:Private Sub Form_Load()
Picture1.ScaleMode = vbPixels
Picture2.ScaleMode = vbPixels
wid = Picture2.ScaleWidth
hei = Picture2.ScaleHeight
End Sub
单击Command1显示透明位图,其代码如下:
Private Sub Command1_Click()
bgcol = Picture2.Point(1,1) ’以位图(1,1)处的象素的颜色为透明色
px = Text1.Text
py = Text2.Text
For i = 0 To wid - 1
For j = 0 To hei - 1
If Picture2.Point(i,j) <> bgcol Then
Picture1.PSet (px + i,py + j),Picture2.Point(i,j)
End If
Next j
Next i
End Sub
二、使用API函数:
尽管用Point和PSet方法就可以很容易达到目的,但如果要有更快运行速度,则应该考虑使用Windows API 函数GetPixel和PutPixel:
声明部分:
Private Declare Function GetPixel Lib "gdi32" (ByV al hdc As Long,ByV al x As Long,ByV al y As Long) As Long
Private Declare Function SetPixel Lib "gdi32" (ByV al hdc As Long,ByV al x As Long,ByV al y As Long,ByV al crColor As Long) As Long
Command2调用API函数来显示透明位图:
Private Sub Command2_Click()
bgcol = GetPixel(Picture2.hdc,1,1)
px = Text1.Text
py = Text2.Text
For i = 0 To wid - 1
For j = 0 To hei - 1
fgCol = GetPixel(Picture2.hdc,i,j)
If fgCol <> bgcol Then
temp = SetPixel(Picture1.hdc,px + i,py + j,fgCol)
End If
Next j
Next i
End SUB。