'==============處理數(shù)字變量===================
Private Declare Function JiaFa Lib "FBtoVB.dll" Alias "JIAFA@8" (ByVal a As Long, ByVal b As Long) As Long '數(shù)字例題
'Alias 里的全部是大寫,不管FB里如何,一律大寫
'@8 標(biāo)準(zhǔn)符號(hào),是為了兼容C語(yǔ)言默認(rèn)帶的, 表示有2個(gè)參數(shù),無參數(shù)是 @0 ,1個(gè)參數(shù)為 4 ,幾個(gè)就 幾個(gè)*4
Private Declare Sub Dizi Lib "FBtoVB.dll" Alias "DIZI@4" (ByRef a As Long) '傳地址數(shù)字
'以地址方式傳數(shù)字參數(shù)給FB,F(xiàn)B那里可以修改參數(shù)值了
Private Declare Sub LongShuZhu Lib "FBtoVB.dll" Alias "LONGSHUZHU@8" (ByVal 數(shù)組地址 As Long, ByVal 數(shù)組長(zhǎng)度 As Long) '數(shù)組例題
'FB 和 VB 之間,處理數(shù)組的方式不同,因此無法直接傳數(shù)組,數(shù)組長(zhǎng)度是為了FB那邊知道長(zhǎng)度,不然超邊界了軟件會(huì)崩潰的。
'其它數(shù)字和Long 一樣處理,對(duì)應(yīng)FB那邊類型名是
'VB類型:Byte Integer Single Double
'FB類型:UByte Short Single Double
'==============處理字符串變量===================
Private Declare Function GetStr Lib "FBtoVB.dll" Alias "GETSTR@0" () As String '返回字符串
'從FB里傳來的字符,VB這邊直接使用,無障礙。
Private Declare Function LenDuoStr Lib "FBtoVB.dll" Alias "LENDUOSTR@16" (ByVal a As String, ByVal b As String, ByVal c As String, ByVal d As String) As Long '傳字符串給FB
'傳VB的字符到FB那邊使用。注意,F(xiàn)B那邊中文算2個(gè),英文算1個(gè)。
Private Declare Sub StrShuZhu Lib "FBtoVB.dll" Alias "STRSHUZHU@8" (ByVal 數(shù)組地址 As Long, ByVal 數(shù)組長(zhǎng)度 As Long) '數(shù)組例題
'FB 和 VB 之間,處理數(shù)組的方式不同,因此無法直接傳數(shù)組,數(shù)組長(zhǎng)度是為了FB那邊知道長(zhǎng)度,不然超邊界了軟件會(huì)崩潰的。
'
Private Sub Command4_Click()
Dim a As Long
a = 100
Dizi a
Debug.Print a
End Sub
Private Sub Command5_Click()
Dim a(10) As Long, i As Long
LongShuZhu VarPtr(a(0)), UBound(a) + 1
For i = 0 To 10
Debug.Print a(i),
Next
Debug.Print
End Sub
Private Sub Command6_Click()
Dim a(10) As String, i As Long
a(0) = "dd"
a(2) = ""
StrShuZhu VarPtr(a(0)), UBound(a) + 1
For i = 0 To 10
Debug.Print a(i),
Next
Debug.Print
End Sub
Private Sub Form_Load()
ChDrive App.Path '必須先設(shè)置軟件文件夾,否則,萬(wàn)一不在EXE文件夾開啟軟件,會(huì)發(fā)生找不到DLL文件的錯(cuò)誤
ChDir App.Path
End Sub
Private Sub Command1_Click()
Label1 = JiaFa(10, 20)
End Sub
Private Sub Command2_Click()
Dim b As String
b = GetStr
Label1 = b
Debug.Print b, Len(b)
End Sub
Private Sub Command3_Click()
Dim a As String
a = "w我o"
Label1 = LenDuoStr(a, "p單位c", "", "ddd")
End Sub
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)
點(diǎn)擊舉報(bào)。