VB的学习及使用总结

 
引言
        在最近的一个需求当中,因为要用到VB的缘故,所以有机会了解了一下VB, 老实讲,我不喜欢这样的学习,本人是在一家银行从事外包工作的,主要从事Java 开发, 工作中就是负责好几个项目的运维,因为这些项目做的时间久了一点,再加上客户这边IT也不是很规范,每个系统、项目用到的技术和架构都是不一样的,可以说是百花齐放,所以有时候在一个项目中,你必须得会好几种语言,而且往往你花了很大的精力和时间学会的一门新的技术和语言,只是为了解决一个很小的问题! 当然这次也不例外,需要将一个Java的DEC加密算法改用VB实现。往往在问题解决之后,你也就没有多少机会再用到这门技术或语言,所以我不喜欢,这就是投入大,回报小!  但是我觉得我应该把这个过程记录下来!
 
开发工具
        在这次开发中,因为编码量比较少,所以我是用 Office 2007 里的Excel来开发的,VB版本是 VB6.5,  具体使用如下:
 
一. 首先调出Excel(以Office2007为例)自带的VB开发工具
打开Excel选项
 
常用 --->  选中“在功能区显示"开发工具"选项卡
 
确定保存后,可以在Excel功能区看到"开发工具"选项卡
 
点击"Visual Basic"打开VB的工发工具
 
二. VB代码的运行调试
1. 运行子过程/用户窗体 (F5) 
    将鼠标放到需要运行的子过程上,按“F5 ”可以直接运行。
2. 逐行运行 (F8)
    将鼠标放到需要运行的子过程上,按“F8 ”可以逐行运行代码,如图:
 
3. F9 可以添加/移除断点
 
4. 在调试中,用鼠标选中要查看的对象,可以查看该对象的值
 
三: VB部分语法总结
1. VB中逻辑代码块
VB 的逻辑代码块分: 子过程(Sub) 及 函数过程(Function)
Private Sub TestSub()
    Call TestFun
End Sub
 
Public Function TestFun()
    Dim n As Integer
    n = 123456
    TestFun = n
End Function
注意: 过程和函数的主要区别是:过程没有返回值,相当于对象中的方法,只不过程没有经过封装成对象;函数有返回值.
 
2. 变量定义及作用域
 
3. VB 数组的定义
数组的定义有两种形式
第一种:Dim ArrayName(n) As Type。这种形式中,数组变量是从ArrayName(0)~ArrayName(n),共n+1个元素。
第二种:Dim ArrayName(Lower To Upper) As Type。这种形式中可以定义数组上界和下界,比如Dim iA(4 To 14) as Integer。这样就可以对应从iA(4)到iA(14)的赋值
 
所以如果要定义一个长度为 64 的一维数组就不能像 Java 那样了..
Dim ArrayName(1 To 64) As Type  或者 Dim ArrayName(63) As Type 都表示长度为 64 的数组。
 
二维数组的定义如下
Dim ArrayName(0 To 63, 0 To 63) As Type
 
使用Array 函数初使化数组
Dim a
a = Array(10, 25, 45, 12)  
注意:通过Array函数初使化数组,数组中值的类型为 Variant,在后面使用的时候还需要进行类型转换,否则会报错!
 
4. VB字符串处理函数
LEN字串長度函數:計算字串的長度。 函數運算式 結果 
len("abcd") 4 
len("中文字") 3 
len(abc中文) 5

MID取部份字串函數:依開始位置擷取固定長度字串。 函數運算式 結果 
mid("vbscript",3,3) scr 
mid("vbscript",3) script 
mid("vbscript",1,2) vb

LEFT字串開頭取部份字串函數:將某一字串由開頭擷取固定長度。 函數運算式 結果 
left("vbscript",2) vb 
left("vbscript",5) vbscr

RIGHT字串結尾取部份字串函數:將某一字串由結尾擷取固定長度。 函數運算式 結果 
right("vbscript",2) pt 
right("vbscript",6) script

LCASE轉大寫函數:將字串中的大寫字母變成小寫。 函數運算式 結果 
lcase("VBScript") vbscript 
lcase("VBScript程式") vbscript程式

UCASE轉小寫函數:將字串中的小寫字母變成大寫。 函數運算式 結果 
ucase("VBScript") VBSCRIPT 
ucase("VBScript程式") VBSCRIPT程式

TRIM刪除頭及尾空白字元函數:將字串開頭及結尾的空白字元刪除。 
LTRIM刪除開頭空白函數:將字串開頭的空白字元刪除。 
RTRIM刪除結尾空白函數:將字串結尾的空白字元刪除。 函數運算式 結果 
trim(" VBScript ") VBScript 
ltrim(" VBScript ") VBScript 
rtrim(" VBScript ") VBScript

REPLACE替代字串函數:將字串中的某字串用另一字串代替。 函數運算式 結果 
replace("VBScript","VB","JAVA") JAVAScript

INSTR是否包含另一字串函數:傳回子字串在字串中的第一次出現位置。 函數運算式 結果
instr("ABCabc","a") 4 
instr("ABCabc","BC") 2

SPACE空白字元函數:產生N個空白字元。 函數運算式 結果 
space(10)

STRING產生字串函數:產生N個字元。 函數運算式 結果 
string(5,"*") ***** 
string(3,65) AAA

STRREVERSE反轉字串函數:將字串內容前後反轉。 函數運算式 結果 
strreverse("VBScript") tpircSBV 
strreverse("中文字") 字文中

SPLIT分割字串函數:將長字串依某字元分割並放於陣列中。 函數運算式 結果 
arr=split("張三&李四&王五","&") 
arr(0)="張三" 
arr(1)="李四"

将String类型的对象转换为 Integer 类型
Dim n As Integer
Dim s As Integer
s = "123456"
n = Cint(s)
n = Val(s)
以下两种方法均可.
 
5. VB 循环逻辑
Dim n As Integer
For n = 0 to 5
    ......
Next n
将从0 -- 5 循环6 次..
6. VB 条件判断
Dim n As Integer
n = 1
If(n > 0) Then
    .....
Else
    ...
End If
 
6. VB中断代码执行
Public Function setParameter(s As String)
    Dim userpwd, pwd1, pwd2 As String
    userpwd = s
    '字符串比较,相同=0,不相同=1
    If (StrComp(userpwd, "") = 0) Then
        g_strEncryPassWord = userpwd
        Exit Function    
    Else
        userpwd = UCase(userpwd)
    End If
    g_strEncryPassWord = pwd1 + pwd2
End Function
当代码执行到一个地方,不想执行以下的代码时,可能通过 Exit Function完成,这类似于Java中的 return ;
 
暂到此..........
 
 
整理背景: 港交行做華潤聯營卡需求時記錄 [2012-11-26]
 

     

    posted @ 2012-12-03 22:43  戴眼镜的码农  阅读(1532)  评论(0编辑  收藏  举报