项目需求之VB

1、VB不区分大小写
2、没有多行注释
3、遇到第一个End Sub、Exit Sub或Return语句结束
4、Sub是一个没有返回值的函数(方法),但不影响他带参。其过程叫做子程序过程或Sub过程
5、Function是有返回值的函数(方法)。其过程叫做函数过程或Function过程
6、Type就是数据类型,用户自定义类型
7、访问性可以是Public、Protected、Friend、Protected Friend、Private
8、如果一行放不下,需要中间换行,则在需要换行的地方,加上 空格 + _ 两个字符,然后回车即可


Type … End Type

'Type ... End Type
Type TSenderParam '创建用户自定义的类型TSenderParam
  devParam As TDeviceParam  '通讯参数
  wmHandle As Long          '应用程序用于接收应答消息的窗体句柄
  wmMessage As Long         '窗体的消息值
  wmLParam As Long          '消息返回时的LParam参数
  notifyMode As Long        '发送过程的消息处理模式
End Type

Sub … End Sub

'Sub ... End Sub
private sub command1_click() '构建
	dim a as string '声明String类型的变量
	a="abc" '赋值
	print a '输出
end sub '结束

For

'Show >> `For` >> `Next` >> MsgBox >> End Sub|Function

Sub forNext()
	Dim i%, j% '`%`相当于 as Integer
	For i = 1 To 100 '以指定次数来重复执行语句,且自带计数器。
		j = j + i
	Next
	MsgBox j
End Sub

Sub forEachTotal()
	Dim i%
	For i = 2 To 10
		Sheet2.Cells(i, 3) = Sheet2.Cells(i, 2) * Sheet2.Cells(i, 1)
	Next '下一个,作用是让循环继续运行
End Sub


Private Sub Form_Load()
	Dim k As Integer
	Show '对于print事件,如果我们没有命令按钮等控件,为了在窗体上显示我们所需要的内容,我们需要加一个show
	For k = 2 To 10 Step 2
		Print k * k
	Next k
End Sub

'For i=1 to 10 '循环初始条件 和循环结束语句
'print i
'next i '循环条件,判断是否继续循环

'for  条件
'  执行for之间的语句
'next  再来一次 跳到for处 判断条件,成立就会再执行语句 
'第三种情况 就是告诉编译器,遇到错误 继续执行下一句

Declare

Declare Function LED_GetBright Lib "TypeTaSed.dll" (Param As TypeTaSed) As Long

' Public Declare Function 函数名 Lib "API DLL文件名" (参数) 返回值

Declare Function outpot Lib "c:\zzf\mydll" Alias "OUTDATA" (ByVal addr1%, ByVal odata%) As Integer
' 首先必须要有特殊的声明,用Declare声明语句在窗体级或模块级或全局模块的代码声明段进行声明,将DLL中的函数声明到VB中 
' Declare Sub 过程名Lib [ Alias " 别名]([ByVal 参数AS类型]),
' Declare Function函数名Lib [Alias " 别名]([ByVal 参数AS类型])
' [Public | Private] Declare Function *name Lib *libname Alias *aliasname

' Public /Private ,可选的,用于声明是公开的还是只能在包含该声明的模块中使用的过程
' Decalare /Sub, 二选一,Sub表示该过程没有返回值。Function表示该过程会返回一个可用于表达式的值
' name, 必需的,任何合法的过程名,注意DLL的入口处(entry points)区分大小写
' Lib, 必需的,知名包含所声明过程的DLL或代码资源
' Alias ,可选的,表示将被调用的过程在DLL中还有另外的名称,当外部过程名与某个关键字重名时,可以使用别名。当DLL的过程与通一范围内的公用变量、常数或任何其他过程的名称相同时,也可以使用Alias。
' 如果该DLL过程中某个字符不符合DLL的命名约定时,也可以使用Alias

'Byte Boolean Integer Long Currency Single Double Decimal目前尚不支持
'Date String只支持变长 Variant 用户定义类型 对象类型


C和VB的比较
比较 C VB
基本数据类型 int \ long \ int \ float \ double \ bool(0:False,Other:True) \ char \ 指针 Byte \ Integer \ Long \ Single \ Double \ Boolean \ Date \ String \ Variant
字符串 字符以单引号(' ')括住
字符串以双引号(" ")括住,以’\0’结束
以双引号(" ")括住
变量定义 数据类型名称 变量名称 (区分大小写)
int i, j;
Dim 变量名称 AS 数据型态名称(大小写不分)
Dim i, j AS Integer
数组 数据型态名称 变量名称[数组大小]
指针从0开始,元素个数=数组大小
Dim 数组名(数组下限,数组上限) AS 数据型态名称
指针从0开始,元素个数=数组上限-数组下限+1
语句结尾 以分号;表示语句结束
不等于 a!=0 a<>0
批注 /* */ REM或 ' 开头
常量 const double PI = 3.1415926273948 DIM Const PI = 3.1415926273948
算术运算符 +,  -,  *,  /,  %,  (modulo),  ++,   -- +,    -,  *,  /,  \,  Mod(modulo),  基数 次方(exponent)
逻辑运算符 $$     ||     ! AND |     OR |         NOT |     Xor
字符串连接 无,靠外部函数
1、sprintf(string,"%s%s",string1,string2)
2、strcat(string1,string2)
&      +
跳出循环语句 break Exit DoExit For
IF语句 if(逻辑表达式){
    复合语句
}else{
    复合语句
}
IF(逻辑表达式) Then
    复合语句
Elseif (逻辑表达式) Then
    复合语句
Else
    复合语句
End IF
FOR语句 for(循环条件初始化;
         逻辑表达式;
         循环重复语句){
    复合语句
}
For 循环变量=起始值 To 终止值
    复合语句
Next 循环变量
FOR IN语句 ForEach 变量 In 对象或数组
复合语句
Next
WHILE语句 while(逻辑表达式){
    复合语句
}
Do While 逻辑表达式
    复合语句
Loop
UNTIL语句 do{
    复合语句
} while (逻辑表达式)
Do
    复合语句
Loop Until 逻辑表达式
SELECT语句 switch(表达式){
    case 表达式:
         复合语句
         break;
    case 表达式:
         复合语句
         break;
    default:
         复合语句
}
Select Case 表达式
    Case 表达式
         复合语句
    Case 表达式
         复合语句
    Case Else
         复合语句
End Select
Function 数据型态 函数名称(数据型态 参数名称){
    复合语句
    return(传回值);
}
Function 函数名称(参数名称 As 数据型态) AS 数据型态
    复合语句
    函数名称 = 传回值
End Function
引用其他程序 #include 程序标头路径 Imports 命名空间.类别名称
Sub Procedure void 子程序名称(数据型态 参数名称){
    复合语句
}
Sub 子程序名称(参数名称 AS 数据型态)
    复合语句
End Sub
自定义数据类型 结构体 类别型态 Class 类别名称
    Inherit 父类别名称
    Implements 接口名称
    方法或属性定义语句
End Class
工程文件
扩展名 描述 扩展名 描述
.bas 基本模块 .frm 窗体文件
.cls 类模块 .frx 二进制窗体文件
.res 资源文件 .vbp Visual Basic 工程文件
.ctx 用户控件的二进制文件 .pgx 二进制属性页文件
.dca 活动的设计器的高速缓存 .ctl 用户控件文件
.ddf 打包和展开向导 CAB 信息文件 .tlb 远程自动化类型库文件
.dep 打包和展开向导从属文件 .vbg Visual Basic 组工程文件
.dob ActiveX 文档窗体文件 .vbl 控件许可文件
.dox ActiveX 文档二进制窗体文件 .dws 部署向导脚本文件
.dsr 活动的设计器文件 .vbr 远程自动化注册文件
.dsx 活动的设计器的二进制文件 .vbw Visual Basic 工程工作空间文件
.log 加载错误的日志文件 .vbz 向导发射文件
.oca 控件类型库缓存文件 .wct WebClass HTML 模板
.pag 属性页文件
扩展描述
扩展名 描述
.dll 运行中的 ActiveX 部件
.exe 可执行文件或 ActiveX 部件
.ocx ActiveX 控件
.vbd ActiveX 文档状态文件
.wct WebClass HTML 模板
对象类型
示例 描述
命令按钮 窗体上的控件,象命令按钮和框架,它们都是对象。
窗体 Visual Basic 工程中的每一个窗体都是独立的对象。
数据库 数据库是对象,并且还包含其他对象,如字段、索引等。
图表 Microsoft Excel 中的图表是对象。

概念
事件(Event) Private Sub对象名_事件名
    (事件内容)
End Sub
方法(Method) 对象名.方法名


部分来源

猜你喜欢

转载自blog.csdn.net/m0_38081159/article/details/89090425