2010年1月21日 星期四

新知識-函數

Split
  用Split可以把字串分成陣列,例:
Private Sub Form_Load()
    Label1.Caption = "德 本 立"
    A = Split(Label1.Caption)
End Sub
結果:A(0) = "德",A(1) = "本",A(2) = "立"
Private Sub Form_Load()
    Label1.Caption = "德,本,立"
    A = Split(Label1.Caption, ",")
End Sub
結果:A(0) = "德",A(1) = "本",A(2) = "立"
Private Sub Form_Load()
    Label1.Caption = "德本立"
    A = Split(Label1.Caption, "")
End Sub
結果:A(0) = "德本立"



Replace
Replace:取代字串
Function Replace(Expression As String, Find As String, Replace As String, [Start As Long = 1], [Count As Long = -1], [Compare As VbCompareMethod = vbBinaryCompare]) As String

取代後的字串=Replace(原字串,要被取代的字串,取代成的字串,[開始搜索位置],[取代的次數],[文字比較的模式])

e.g
Dim strtxt As String
strtxt = "hello"
strtxt = Replace(strtxt, "ll", "AA")
Print strtxt 'heAAo

UCase、LCase
  利用Ucase和LCase可以將字串大小寫轉換:
Text1.Text = UCase("abcDEF123") '結果 = "ABCDEF123"
Text1.Text = LCase("abcDEF123") '結果 = "abcdef123"
全形字元則沒有影響

InStr、InStrRev
利用InStr和InStrRev可以搜尋字串位置:
a = InStr("abcdefg", "c") 'a取得傳值,"abcdefg"是搜索範圍,"c"是要被搜尋的字串
Print a '結果a=3,即是"c"在字串中的第三個字完
利用InStrRev,我們還可以倒轉找尋字串
a = InStrRev("acacacacaca", "c") 'a取得傳值,"c"是要被搜尋的字串
Print a '結果a=10,即是"c"在字串中的從後數上第二個字完
如果找不到字串,將會傳回0


Space
  這個是用來格空格的函數:
Print "a" & Space(11) & "b" & Space(6) & "c" '結果 = a           b      c


引用自

VB範例網--VB函數

http://www.vbex.net/

2 則留言:

  1. 隊長好,
    這樣寫寫vb的內容,很好哦。
    不過呢,像這樣的函數之類的,平常使用可以,但是,很多時候,比賽的場合,會禁止使用的。
    要試著想,這樣的內定函數,如果不用,還可以怎麼自己寫自定函數來達成呢。

    回覆刪除
  2. '如何在執行中新增物件,-->動態產生控制項
    Private Sub Command1_Click()
    Dim x(20) As TextBox
    For i = 1 To 20
    Set x(i) = Text1(i)
    Load x(i)
    x(i).Visible = True
    x(i).Text = Int(Rnd() * 100)
    x(i).Left = Int(Rnd() * 1000)
    x(i).Top = Int(Rnd() * 1000)
    Next i
    End Sub
    '在form1中要加入text1()陣列型態,但是索引不能重複

    回覆刪除