03-07-2009, 11:10 PM
Code:
Public Function SendFunction(ByVal RemoteFunction As String, Optional ByVal Data1 As Variant = vbNullString, Optional ByVal Data2 As Variant = vbNullString, Optional ByVal Data3 As Variant = vbNullString, Optional ByVal Data4 As Variant = vbNullString, Optional ByVal Data5 As Variant = vbNullString, Optional ByVal Data6 As Variant = vbNullString, Optional ByVal Data7 As Variant = vbNullString, Optional ByVal Data8 As Variant = vbNullString, Optional ByVal Data9 As Variant = vbNullString, Optional ByVal Data10 As Variant = vbNullString _
, Optional ByVal Data11 As Variant = vbNullString, Optional ByVal Data12 As Variant = vbNullString, Optional ByVal Data13 As Variant = vbNullString, Optional ByVal Data14 As Variant = vbNullString, Optional ByVal Data15 As Variant = vbNullString, Optional ByVal Data16 As Variant = vbNullString, Optional ByVal Data17 As Variant = vbNullString, Optional ByVal Data18 As Variant = vbNullString, Optional ByVal Data19 As Variant = vbNullString, Optional ByVal Data20 As Variant = vbNullString)
Dim AmountOfByvals As Integer
Dim data As String
AmountOfByvals = 0
If Data1 vbNullString Then AmountOfByvals = AmountOfByvals + 1
If Data2 vbNullString Then AmountOfByvals = AmountOfByvals + 1
If Data3 vbNullString Then AmountOfByvals = AmountOfByvals + 1
If Data4 vbNullString Then AmountOfByvals = AmountOfByvals + 1
If Data5 vbNullString Then AmountOfByvals = AmountOfByvals + 1
If Data6 vbNullString Then AmountOfByvals = AmountOfByvals + 1
If Data7 vbNullString Then AmountOfByvals = AmountOfByvals + 1
If Data8 vbNullString Then AmountOfByvals = AmountOfByvals + 1
If Data9 vbNullString Then AmountOfByvals = AmountOfByvals + 1
If Data10 vbNullString Then AmountOfByvals = AmountOfByvals + 1
If Data11 vbNullString Then AmountOfByvals = AmountOfByvals + 1
If Data12 vbNullString Then AmountOfByvals = AmountOfByvals + 1
If Data13 vbNullString Then AmountOfByvals = AmountOfByvals + 1
If Data14 vbNullString Then AmountOfByvals = AmountOfByvals + 1
If Data15 vbNullString Then AmountOfByvals = AmountOfByvals + 1
If Data16 vbNullString Then AmountOfByvals = AmountOfByvals + 1
If Data17 vbNullString Then AmountOfByvals = AmountOfByvals + 1
If Data18 vbNullString Then AmountOfByvals = AmountOfByvals + 1
If Data19 vbNullString Then AmountOfByvals = AmountOfByvals + 1
If Data20 vbNullString Then AmountOfByvals = AmountOfByvals + 1
Select Case AmountOfByvals
Case 0
data = RemoteFunction & "()" & SEP_CHAR2 & END_CHAR
Call SendData(data)
Case 1
data = RemoteFunction & "(" & Data1 & ")" & SEP_CHAR2 & END_CHAR
Call SendData(data)
Case 2
data = RemoteFunction & "(" & Data1 & SEP_CHAR2 & Data2 & ")" & SEP_CHAR2 & END_CHAR
Call SendData(data)
Case 3
data = RemoteFunction & "(" & Data1 & SEP_CHAR2 & Data2 & SEP_CHAR2 & Data3 & ")" & SEP_CHAR2 & END_CHAR
Call SendData(data)
Case 4
data = RemoteFunction & "(" & Data1 & SEP_CHAR2 & Data2 & SEP_CHAR2 & Data3 & SEP_CHAR2 & Data4 & ")" & SEP_CHAR2 & END_CHAR
Call SendData(data)
Case 5
data = RemoteFunction & "(" & Data1 & SEP_CHAR2 & Data2 & SEP_CHAR2 & Data3 & SEP_CHAR2 & Data4 & SEP_CHAR2 & Data5 & ")" & SEP_CHAR2 & END_CHAR
Call SendData(data)
Case 6
data = RemoteFunction & "(" & Data1 & SEP_CHAR2 & Data2 & SEP_CHAR2 & Data3 & SEP_CHAR2 & Data4 & SEP_CHAR2 & Data5 & SEP_CHAR2 & Data6 & ")" & SEP_CHAR2 & END_CHAR
Call SendData(data)
Case 7
data = RemoteFunction & "(" & Data1 & SEP_CHAR2 & Data2 & SEP_CHAR2 & Data3 & SEP_CHAR2 & Data4 & SEP_CHAR2 & Data5 & SEP_CHAR2 & Data6 & SEP_CHAR2 & Data7 & ")" & SEP_CHAR2 & END_CHAR
Call SendData(data)
Case 8
data = RemoteFunction & "(" & Data1 & SEP_CHAR2 & Data2 & SEP_CHAR2 & Data3 & SEP_CHAR2 & Data4 & SEP_CHAR2 & Data5 & SEP_CHAR2 & Data6 & SEP_CHAR2 & Data7 & SEP_CHAR2 & Data8 & ")" & SEP_CHAR2 & END_CHAR
Call SendData(data)
Case 9
data = RemoteFunction & "(" & Data1 & SEP_CHAR2 & Data2 & SEP_CHAR2 & Data3 & SEP_CHAR2 & Data4 & SEP_CHAR2 & Data5 & SEP_CHAR2 & Data6 & SEP_CHAR2 & Data7 & SEP_CHAR2 & Data8 & SEP_CHAR2 & Data9 & ")" & SEP_CHAR2 & END_CHAR
Call SendData(data)
Case 10
data = RemoteFunction & "(" & Data1 & SEP_CHAR2 & Data2 & SEP_CHAR2 & Data3 & SEP_CHAR2 & Data4 & SEP_CHAR2 & Data5 & SEP_CHAR2 & Data6 & SEP_CHAR2 & Data7 & SEP_CHAR2 & Data8 & SEP_CHAR2 & Data9 & SEP_CHAR2 & Data10 & ")" & SEP_CHAR2 & END_CHAR
Call SendData(data)
Case 11
data = RemoteFunction & "(" & Data1 & SEP_CHAR2 & Data2 & SEP_CHAR2 & Data3 & SEP_CHAR2 & Data4 & SEP_CHAR2 & Data5 & SEP_CHAR2 & Data6 & SEP_CHAR2 & Data7 & SEP_CHAR2 & Data8 & SEP_CHAR2 & Data9 & SEP_CHAR2 & Data10 & SEP_CHAR2 & Data11 & ")" & SEP_CHAR2 & END_CHAR
Call SendData(data)
Case 12
data = RemoteFunction & "(" & Data1 & SEP_CHAR2 & Data2 & SEP_CHAR2 & Data3 & SEP_CHAR2 & Data4 & SEP_CHAR2 & Data5 & SEP_CHAR2 & Data6 & SEP_CHAR2 & Data7 & SEP_CHAR2 & Data8 & SEP_CHAR2 & Data9 & SEP_CHAR2 & Data10 & SEP_CHAR2 & Data11 & SEP_CHAR2 & Data12 & ")" & SEP_CHAR2 & END_CHAR
Call SendData(data)
Case 13
data = RemoteFunction & "(" & Data1 & SEP_CHAR2 & Data2 & SEP_CHAR2 & Data3 & SEP_CHAR2 & Data4 & SEP_CHAR2 & Data5 & SEP_CHAR2 & Data6 & SEP_CHAR2 & Data7 & SEP_CHAR2 & Data8 & SEP_CHAR2 & Data9 & SEP_CHAR2 & Data10 & SEP_CHAR2 & Data11 & SEP_CHAR2 & Data12 & SEP_CHAR2 & Data13 & ")" & SEP_CHAR2 & END_CHAR
Call SendData(data)
Case 14
data = RemoteFunction & "(" & Data1 & SEP_CHAR2 & Data2 & SEP_CHAR2 & Data3 & SEP_CHAR2 & Data4 & SEP_CHAR2 & Data5 & SEP_CHAR2 & Data6 & SEP_CHAR2 & Data7 & SEP_CHAR2 & Data8 & SEP_CHAR2 & Data9 & SEP_CHAR2 & Data10 & SEP_CHAR2 & Data11 & SEP_CHAR2 & Data12 & SEP_CHAR2 & Data13 & SEP_CHAR2 & Data14 & ")" & SEP_CHAR2 & END_CHAR
Call SendData(data)
Case 15
data = RemoteFunction & "(" & Data1 & SEP_CHAR2 & Data2 & SEP_CHAR2 & Data3 & SEP_CHAR2 & Data4 & SEP_CHAR2 & Data5 & SEP_CHAR2 & Data6 & SEP_CHAR2 & Data7 & SEP_CHAR2 & Data8 & SEP_CHAR2 & Data9 & SEP_CHAR2 & Data10 & SEP_CHAR2 & Data11 & SEP_CHAR2 & Data12 & SEP_CHAR2 & Data13 & SEP_CHAR2 & Data14 & SEP_CHAR2 & Data15 & ")" & SEP_CHAR2 & END_CHAR
Call SendData(data)
Case 16
data = RemoteFunction & "(" & Data1 & SEP_CHAR2 & Data2 & SEP_CHAR2 & Data3 & SEP_CHAR2 & Data4 & SEP_CHAR2 & Data5 & SEP_CHAR2 & Data6 & SEP_CHAR2 & Data7 & SEP_CHAR2 & Data8 & SEP_CHAR2 & Data9 & SEP_CHAR2 & Data10 & SEP_CHAR2 & Data11 & SEP_CHAR2 & Data12 & SEP_CHAR2 & Data13 & SEP_CHAR2 & Data14 & SEP_CHAR2 & Data15 & SEP_CHAR2 & Data16 & ")" & SEP_CHAR2 & END_CHAR
Call SendData(data)
Case 17
data = RemoteFunction & "(" & Data1 & SEP_CHAR2 & Data2 & SEP_CHAR2 & Data3 & SEP_CHAR2 & Data4 & SEP_CHAR2 & Data5 & SEP_CHAR2 & Data6 & SEP_CHAR2 & Data7 & SEP_CHAR2 & Data8 & SEP_CHAR2 & Data9 & SEP_CHAR2 & Data10 & SEP_CHAR2 & Data11 & SEP_CHAR2 & Data12 & SEP_CHAR2 & Data13 & SEP_CHAR2 & Data14 & SEP_CHAR2 & Data15 & SEP_CHAR2 & Data16 & SEP_CHAR2 & Data17 & ")" & SEP_CHAR2 & END_CHAR
Call SendData(data)
Case 18
data = RemoteFunction & "(" & Data1 & SEP_CHAR2 & Data2 & SEP_CHAR2 & Data3 & SEP_CHAR2 & Data4 & SEP_CHAR2 & Data5 & SEP_CHAR2 & Data6 & SEP_CHAR2 & Data7 & SEP_CHAR2 & Data8 & SEP_CHAR2 & Data9 & SEP_CHAR2 & Data10 & SEP_CHAR2 & Data11 & SEP_CHAR2 & Data12 & SEP_CHAR2 & Data13 & SEP_CHAR2 & Data14 & SEP_CHAR2 & Data15 & SEP_CHAR2 & Data16 & SEP_CHAR2 & Data17 & SEP_CHAR2 & Data18 & ")" & SEP_CHAR2 & END_CHAR
Call SendData(data)
Case 19
data = RemoteFunction & "(" & Data1 & SEP_CHAR2 & Data2 & SEP_CHAR2 & Data3 & SEP_CHAR2 & Data4 & SEP_CHAR2 & Data5 & SEP_CHAR2 & Data6 & SEP_CHAR2 & Data7 & SEP_CHAR2 & Data8 & SEP_CHAR2 & Data9 & SEP_CHAR2 & Data10 & SEP_CHAR2 & Data11 & SEP_CHAR2 & Data12 & SEP_CHAR2 & Data13 & SEP_CHAR2 & Data14 & SEP_CHAR2 & Data15 & SEP_CHAR2 & Data16 & SEP_CHAR2 & Data17 & SEP_CHAR2 & Data18 & SEP_CHAR2 & Data19 & ")" & SEP_CHAR2 & END_CHAR
Call SendData(data)
Case 20
data = RemoteFunction & "(" & Data1 & SEP_CHAR2 & Data2 & SEP_CHAR2 & Data3 & SEP_CHAR2 & Data4 & SEP_CHAR2 & Data5 & SEP_CHAR2 & Data6 & SEP_CHAR2 & Data7 & SEP_CHAR2 & Data8 & SEP_CHAR2 & Data9 & SEP_CHAR2 & Data10 & SEP_CHAR2 & Data11 & SEP_CHAR2 & Data12 & SEP_CHAR2 & Data13 & SEP_CHAR2 & Data14 & SEP_CHAR2 & Data15 & SEP_CHAR2 & Data16 & SEP_CHAR2 & Data17 & SEP_CHAR2 & Data18 & SEP_CHAR2 & Data19 & SEP_CHAR2 & Data20 & ")" & SEP_CHAR2 & END_CHAR
Call SendData(data)
End Select
End Function
Code:
Sub HandleData(ByVal Index As Integer, data As String)
Dim NoStuff As Boolean
NoStuff = True
AmountOfByvals = 0
Arguments = Split(data, "(")
'Arguments(0) is the function, and Arguments(1) are the byvals
TheFunction = Arguments(0)
AllByvals = Arguments(1)
Label1.Caption = data
AllByvals = Left(AllByvals, Len(AllByvals) - 2)
Byvals = Split(AllByvals, SEP_CHAR2)
'If InStr(AllByvals, SEP_CHAR2) Then
' NoStuff = False
' Byvals = Split(AllByvals, SEP_CHAR2)
'
'For i = 0 To UBound(Byvals)
' If Byvals(i) vbNullString Then
' AmountOfByvals = AmountOfByvals + 1
' End If
' Next i
'Else
' If AllByvals "" Then
' AmountOfByvals = 1
' Else
' AmountOfByvals = 0
' End If
'End If
If Left(TheFunction, 1) = SEP_CHAR2 Then TheFunction = Right(TheFunction, Len(TheFunction) - 1)
Select Case UBound(Byvals) + 1
Case 0
Call CallByName(Me, TheFunction, VbMethod, Index)
Exit Sub
Case 1
Call CallByName(Me, TheFunction, VbMethod, AllByvals, Index)
Exit Sub
Case 2
Call CallByName(Me, TheFunction, VbMethod, Byvals(0), Byvals(1), Index)
Exit Sub
Case 3
Call CallByName(Me, TheFunction, VbMethod, Byvals(0), Byvals(1), Byvals(2), Index)
Exit Sub
Case 4
Call CallByName(Me, TheFunction, VbMethod, Byvals(0), Byvals(1), Byvals(2), Byvals(3), Index)
Exit Sub
Case 5
Call CallByName(Me, TheFunction, VbMethod, Byvals(0), Byvals(1), Byvals(2), Byvals(3), Byvals(4), Index)
Exit Sub
Case 6
Call CallByName(Me, TheFunction, VbMethod, Byvals(0), Byvals(1), Byvals(2), Byvals(3), Byvals(4), Byvals(5), Index)
Exit Sub
Case 7
Call CallByName(Me, TheFunction, VbMethod, Byvals(0), Byvals(1), Byvals(2), Byvals(3), Byvals(4), Byvals(5), Byvals(6), Index)
Exit Sub
Case 8
Call CallByName(Me, TheFunction, VbMethod, Byvals(0), Byvals(1), Byvals(2), Byvals(3), Byvals(4), Byvals(5), Byvals(6), Byvals(7), Index)
Exit Sub
Case 9
Call CallByName(Me, TheFunction, VbMethod, Byvals(0), Byvals(1), Byvals(2), Byvals(3), Byvals(4), Byvals(5), Byvals(6), Byvals(7), Byvals(8), Index)
Exit Sub
Case 10
Call CallByName(Me, TheFunction, VbMethod, Byvals(0), Byvals(1), Byvals(2), Byvals(3), Byvals(4), Byvals(5), Byvals(6), Byvals(7), Byvals(8), Byvals(9), Index)
Exit Sub
End Select
End Sub