Originally posted by Sic789
View Post
I use the following two "helper" functions in my scripts to make my coding life easier. See below:
Code:
Private Function SetVirtualVal(ByVal sDevName As String, ByVal dVal As Double) As Integer ' Sets the value of a device using CAPI Control Dim iRef As Integer = hs.GetDeviceRefByName(sDevName) For Each objCAPIControl As CAPIControl In hs.CAPIGetControl(iRef) If objCAPIControl.ControlValue = dVal Then hs.CAPIControlHandler(objCAPIControl) Return 0 End If Next hs.WriteLog("error", sDevName + ": " + CStr(dVal)) Return 1 End Function Private Function TouchParseStr(ByVal parms As Object, ByVal sSep As String, Optional sDef As String = "") As String() ' Takes the input parameter, and returns an array of strings. ' If called from event, parms is a single string, so does a split on the specified delimiter. ' If called from HS Touch, just returns the string array. ' Usage: Sub Main(parms As Obect) ' Dim p() As String = TouchParseStr(parms, ",") ' p(0) now contains first, p(1) second, etc Dim buff() As String If parms Is Nothing Then parms = "" If parms.GetType().ToString = "System.String" Then If parms.ToString() = "" Then parms = sDef parms = Trim(parms.ToString()) buff = parms.Split(sSep) Else buff = parms End If Return buff End Function Sub Main (parms As Object) Dim p() As String = TouchParseStr(parms, ",") SetVirtualVal("DeviceName", CDbl(p(0)), True) ' Convert string to Double End Sub
Leave a comment: