2016-11-16 64 views
-1

如何將對象數據類型轉換爲整數?如何將對象從外部項目集合轉換爲整數類型

我想對我的應用程序進行計算,讀取OPC項目的值。對象用於標識服務器中的OPC項目。

這裏就是我想要做:

Itemvalues(0)* 1000個+ itemvalues(1)

Itemvalues是OPC項的值。

Itemvalues是一種對象數據類型,它可以包含任何數據類型。但是你必須轉換它。 (*)是乘法運算。

1000是整數

(+)是加成

下面是我嘗試的代碼:

Dim y As Object 
    Dim yR As Integer 
    Dim z As Object 
    Dim zR As Integer 
    Dim x = 1000 

    yR = CInt(y) 
    zR = CInt(z) 

    y = itemValues(1).Value 
    z = itemValues(2).Value 
    itemValues(1).Value = yR * x + zR 

但它顯示的是0:

哪個是錯誤的計算,這是因爲Object的默認值是Nothing(空引用)。我如何計算這個值?

+1

如果你正在計算*任何東西*爲什麼要使用'Object'? – Plutonix

+0

你爲什麼要用Object來計算? – JT4U

+0

@ Plutonix,我正在計算一個正在讀取對象的標籤。作爲一個對象,它可以包含任何數據類型。該值通常與相應的ItemIdentifier所請求的類型相同。如果沒有指定類型,該值將以其規範形式提供,即空值 – Smoky2016

回答

0

你的問題並不完全清楚,但是你的代碼有一個明顯的邏輯問題。

在爲y和z分配任何東西之前,您正在從變量y和z中分配yR和zR的值。因此,這些值將始終爲0

交換的分配順序是這樣的:

y = itemValues(1).Value 
z = itemValues(2).Value 

yR = CInt(y) 
zR = CInt(z) 

有在你的代碼的其他問題,但是這可能是立即解決問題。

+0

@ nickles80,謝謝很棒! – Smoky2016

相關問題