亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? opcbrowserclass.cls

?? 很好的Kepware的VB的OPC Client例子.
?? CLS
?? 第 1 頁 / 共 2 頁
字號:
' below the current browse position.  You can then determine if there
' are any branches by calling the the GetItemCount function.  If there
' are branches available they can be retrieved using the GetItemName
' function.  As described above the OPCBrowse object only keeps track
' of one collection at a time.  If you call the ShowBranches function
' you should immediately call the GetItemCount function then get all of
' the branch names in the collection using the GetItemName function.
'
' If you call ShowBranches then call ShowLeafs, the OPCBrowse object
' will load it's internal collection first with the brances then
' overwrite the branch collection with the Leafs collection thus
' losing the content and count of branches.
'
Function ShowBranches()
'Set error handling for OPC Function
    On Error GoTo ShowOPCShowBranchesError
    
    OPCBrowserObject.ShowBranches
    ShowBranches = True
    GoTo SkipOPCShowBranchesError
    
ShowOPCShowBranchesError:
    Call DisplayOPC_COM_ErrorValue("ShowBranches", Err.Number)
    ShowBranches = False
SkipOPCShowBranchesError:

End Function

' The ShowLeafs function will cause the OPC server to load the
' the OPCBrowse object's item collection with any leafs(item/tags)
' available at the current browse position.  You can then determine
' if there are any leafs by calling the the GetItemCount function.
' If there are leafs available they can be retrieved using the
' GetItemName function.  As described above the OPCBrowse object only
' keeps track of one collection at a time.  If you call the ShowLeafs
' function you should immediately call the GetItemCount function then
' get all of the leaf names in the collection using the GetItemName
' function.
'
' If you call ShowLeafs then call ShowBranches, the OPCBrowse object
' will load it's internal collection first with the leafs then
' overwrite the leaf collection with the branch collection thus
' losing the content and count of leafs.
'
Function ShowLeafs(Optional ByVal Mode As Variant)
'Set error handling for OPC Function
    On Error GoTo ShowOPCShowLeafsError
    
    OPCBrowserObject.ShowLeafs Mode
    ShowLeafs = True
    GoTo SkipOPCShowLeafsError
    
ShowOPCShowLeafsError:
    Call DisplayOPC_COM_ErrorValue("ShowLeafs", Err.Number)
    ShowLeafs = False
SkipOPCShowLeafsError:

End Function

' The GetItemName function returns the name of the item in the
' OPCBrowse object's collection specified by the "ItemSpecifier".
' The OPCBrowse object's collection is loaded when you call either
' ShowBranches or ShowLeafs.  For the same reasons described in those
' functions you must retrieve all of the item names in a given
' collection before changing the collection.
' The "ItemSpecifier" should not exceed the value returned by the
' GetItemCount function.
'
Function GetItemName(ByRef ItemName As String, ByVal ItemSpecifier As Variant)
'Set error handling for OPC Function
    On Error GoTo ShowOPCGetItemNameError
    
    ItemName = OPCBrowserObject.Item(ItemSpecifier)
    GetItemName = True
    GoTo SkipOPCGetItemNameError
    
ShowOPCGetItemNameError:
    Call DisplayOPC_COM_ErrorValue("GetItemName", Err.Number)
    GetItemName = False
SkipOPCGetItemNameError:

End Function

' The three following functions allow you to filter the amount of
' data retuned in by either the ShowBranches or ShowLeafs functions.
' In this example I don't allow the branches to be filtered only
' leafs(items/tags).
' Filtering the number of leafs retuned in the OPCBroswe objects
' collection can make find a specific itme in the server far easier.
' This becomes apparent quickly in servers with large tag counts.
' Using these three function you can reduce the number of tags
' by filtering the tag's name, Datatype, or Access method.

' The SetFilter function allows you to specify a filter to be
' used on the acutal name of a leaf(item/tag).  By the default there
' is no filter set. This can be specified by either calling this
' funciton with an empty string "", or by calling this function with
' a string of "*".
'
' To reduce the number of items returned in the ShowLeafs function you
' can use wildcard characters such as *, ?, and name fragments such as
' "Position_*".  Using this example, the SowLeafs function would return
' all items that started with the string "Position_".
'
Function SetFilter(ByVal Filter As String)
'Set error handling for OPC Function
    On Error GoTo ShowOPCSetFilterError
    
    OPCBrowserObject.Filter = Filter
    SetFilter = True
    GoTo SkipOPCSetFilterError
    
ShowOPCSetFilterError:
    Call DisplayOPC_COM_ErrorValue("SetFilter", Err.Number)
    SetFilter = False
SkipOPCSetFilterError:
   
End Function

' In addition to filtering on the name of an item you can also filter
' based on the data type of an item.  If you want to see only itme that
' are defined as a data type of 16 bit signed integer (VT_I2) you can
' use this function set the filter data type to short (VT_I2).
'
Function SetDataTypeFilter(ByVal DataType As Integer)
'Set error handling for OPC Function
    On Error GoTo ShowOPCSetDataTypeFilterError
    
    OPCBrowserObject.DataType = DataType
    SetDataTypeFilter = True
    GoTo SkipOPCSetDataTypeFilterError
    
ShowOPCSetDataTypeFilterError:
    Call DisplayOPC_COM_ErrorValue("SetDataTypeFilter", Err.Number)
    SetDataTypeFilter = False
SkipOPCSetDataTypeFilterError:
   
End Function

' The SetAccessFilter function like the SetDataTypeFilter function
' allows you to filter the number of items retuned based on the Access
' rights of the item.  The Access rights in this cases are the item's
' Read or Write access.
'
Function SetAccessFilter(ByVal Access As Long)
'Set error handling for OPC Function
    On Error GoTo ShowOPCSetAccessFilterError
    
    OPCBrowserObject.AccessRights = Access
    SetAccessFilter = True
    GoTo SkipOPCSetAccessFilterError
    
ShowOPCSetAccessFilterError:
    Call DisplayOPC_COM_ErrorValue("SetAccessFilter", Err.Number)
    SetAccessFilter = False
SkipOPCSetAccessFilterError:
   
End Function

' Once you have browsed to a particular branch and possibly filter the
' list of items down to the few items of interest you still need to
' get the desired item's ItemID string.  The GetItemID function allows
' you to get the item ID of the "Leaf" parameter.  The leaf passed
' to this function must be available from the current browse
' position of the OPC Server.
'
' In many cases the GetItemID will return a string that closely
' matches the branch organization of the OPC server being browsed.
' You should not count on this however.  The format of the branches
' and leafs presented by the OPC server via it's browse space
' may be soley for benifit of the human user.  The ItemID returned
' may not match this branch.leaf format.
'
Function GetItemID(ByVal Leaf As String)
'Set error handling for OPC Function
    On Error GoTo ShowOPCGetItemIDError
    
    GetItemID = OPCBrowserObject.GetItemID(Leaf)
    GoTo SkipOPCGetItemIDError
    
ShowOPCGetItemIDError:
    Call DisplayOPC_COM_ErrorValue("GetItemID", Err.Number)
    GetItemID = ""
SkipOPCGetItemIDError:

End Function


' Handles displaying any OPC/COM/VB errors that are caught by the exception handler
Sub DisplayOPC_COM_ErrorValue(OPC_Function As String, ErrorCode As Long)
    Dim Response
    Dim ErrorDisplay As String
    ErrorDisplay = "The OPC function '" + OPC_Function + "' has returned an error of " + Str(ErrorCode) + " or Hex 0x" + Hex(ErrorCode)
    Response = MsgBox(ErrorDisplay, vbOKOnly, "OPC Function Error")
End Sub

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
中文字幕一区二区日韩精品绯色| 欧美日韩一区二区三区四区五区| 精品免费视频.| 免费久久99精品国产| 欧美mv日韩mv| 国产精品一区二区久久不卡| 久久久久88色偷偷免费| 99热精品一区二区| 夜夜夜精品看看| 欧美一二区视频| 国产一区二区三区最好精华液| 国产偷国产偷精品高清尤物| 91免费国产在线| 日韩有码一区二区三区| 欧美电影免费观看高清完整版| 国产一区二区影院| 一级日本不卡的影视| 欧美一级搡bbbb搡bbbb| 国产黄色精品网站| 亚洲欧美区自拍先锋| 日韩限制级电影在线观看| 国产福利91精品一区| 亚洲综合在线电影| 欧美一级艳片视频免费观看| 波多野结衣亚洲一区| 亚洲福利一区二区三区| www欧美成人18+| 色综合天天做天天爱| 免费在线观看视频一区| 国产精品无遮挡| 欧美日韩国产大片| 成人综合在线观看| 午夜久久福利影院| 中文字幕乱码久久午夜不卡| 欧美视频在线一区| 国产一区二区三区| 亚洲国产综合色| 国产日韩影视精品| 91精品国产91热久久久做人人| 粉嫩蜜臀av国产精品网站| 亚洲成人一区在线| 日韩美女视频一区| 2017欧美狠狠色| 欧美日本视频在线| 91亚洲国产成人精品一区二三| 另类的小说在线视频另类成人小视频在线 | 视频一区二区不卡| 国产精品免费久久久久| 欧美videos大乳护士334| 欧美午夜精品一区| 北条麻妃一区二区三区| 国产资源精品在线观看| 日韩电影在线免费| 亚洲已满18点击进入久久| 中文字幕高清一区| 精品欧美一区二区在线观看| 欧美日韩日本视频| 欧美性生交片4| 91偷拍与自偷拍精品| 国产高清不卡一区二区| 久草在线在线精品观看| 日韩精品成人一区二区三区 | 亚洲伊人伊色伊影伊综合网| 亚洲欧洲精品一区二区三区| 精品第一国产综合精品aⅴ| 日韩一区二区在线观看| 在线观看一区不卡| 色综合久久综合中文综合网| 成人激情动漫在线观看| 丁香另类激情小说| 成人美女视频在线看| 国产不卡高清在线观看视频| 国产麻豆91精品| 九九**精品视频免费播放| 青青青伊人色综合久久| 日韩高清在线电影| 三级久久三级久久| 日韩精品乱码av一区二区| 午夜久久久久久久久| 日日骚欧美日韩| 视频一区视频二区中文| 蜜桃av一区二区| 美女高潮久久久| 国内外精品视频| 国产91露脸合集magnet| 99精品热视频| 色久优优欧美色久优优| 欧美日韩专区在线| 欧美一区二区三区喷汁尤物| 日韩欧美在线影院| 国产拍欧美日韩视频二区| 国产精品色在线观看| 日韩美女视频一区| 亚洲123区在线观看| 免费欧美在线视频| 国内久久婷婷综合| 91在线视频官网| 欧美日韩一本到| 精品国产污网站| 国产精品美女久久久久av爽李琼| 亚洲欧洲精品天堂一级| 亚洲福中文字幕伊人影院| 久久精品国产亚洲高清剧情介绍| 国产精品一级片| 91视频免费看| 欧美一区二区三区思思人| 久久一区二区视频| 亚洲色图20p| 青青国产91久久久久久| 成人激情开心网| 6080日韩午夜伦伦午夜伦| 久久综合久久99| 亚洲激情综合网| 久久国产精品99久久人人澡| 岛国精品一区二区| 91麻豆精品国产91久久久| 久久综合色综合88| 亚洲一区二区三区四区在线免费观看| 青椒成人免费视频| 99免费精品视频| 欧美一区二区日韩| 亚洲欧洲av色图| 开心九九激情九九欧美日韩精美视频电影| 中文字幕av一区二区三区免费看| 亚洲美腿欧美偷拍| 国产精品911| 欧美私模裸体表演在线观看| 国产日韩欧美精品一区| 午夜欧美一区二区三区在线播放| 国产老女人精品毛片久久| 欧美美女一区二区在线观看| 中文字幕欧美三区| 蜜桃av一区二区在线观看| 91免费视频网| 国产欧美日产一区| 日日夜夜精品视频天天综合网| 成人av影视在线观看| 精品国内片67194| 亚洲国产精品久久久男人的天堂| 精品无人区卡一卡二卡三乱码免费卡| 在线观看不卡一区| 中文字幕中文字幕一区二区| 激情久久五月天| 欧美精品一级二级| 亚洲男人天堂av网| 成人app软件下载大全免费| 欧美岛国在线观看| 亚洲成人av福利| 在线影院国内精品| 成人免费在线视频观看| 国产伦精品一区二区三区在线观看| 欧美日本韩国一区| 亚洲国产sm捆绑调教视频 | 精品成人免费观看| 日本不卡视频在线观看| 欧美亚洲一区三区| 亚洲一区二区五区| 在线精品国精品国产尤物884a| 亚洲欧洲日本在线| 91美女视频网站| 亚洲日穴在线视频| 99在线热播精品免费| 国产精品嫩草影院av蜜臀| 国产一区二区在线免费观看| 精品久久久久久久久久久久久久久久久| 日韩成人精品在线| 日韩欧美一级精品久久| 久久疯狂做爰流白浆xx| 日韩亚洲国产中文字幕欧美| 六月丁香婷婷久久| 精品88久久久久88久久久| 国产一区二区三区香蕉 | 在线成人免费视频| 青青草国产精品亚洲专区无| 欧美一级欧美三级| 久久精品国产精品青草| 日韩精品中文字幕在线不卡尤物 | 亚洲欧美日本在线| 91久久精品日日躁夜夜躁欧美| 亚洲精品国产a久久久久久 | 国产精品麻豆久久久| 国产iv一区二区三区| 国产精品色噜噜| www.欧美亚洲| 亚洲综合精品久久| 91精品久久久久久久99蜜桃| 麻豆免费看一区二区三区| 久久免费电影网| 91在线你懂得| 日韩电影在线免费| 久久精品一区二区三区不卡| a亚洲天堂av| 视频一区在线播放| 国产性天天综合网| 91偷拍与自偷拍精品| 日本在线观看不卡视频| 国产午夜久久久久| 日本二三区不卡| 六月丁香综合在线视频| 中文字幕亚洲欧美在线不卡|