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
Hehehe, me being a lazy fuck and just using Call CallFunction(FunctionName, Byval1, Byval2, etc) Horrible code ;p. Did this several years ago, when I was working with Leonardo (Valec was his name I believe)