在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > 測試測量 > 設計應用 > labview的數(shù)據(jù)類型----通過類型描述符提取控件名稱(LABEL)

            labview的數(shù)據(jù)類型----通過類型描述符提取控件名稱(LABEL)

            作者: 時間:2017-01-09 來源:網絡 收藏
            通過分析類型描述符結構,我們已經得到的類型描述符的頭部信息,我們知道,LV的存儲結構中同時包括了控件的標簽信息,看看如何能通過描述符得到控件的標簽.OPENG中提供了這個功能,我們跟蹤一下看看它實現(xiàn)的方法:


            本文引用地址:http://www.biyoush.com/article/201701/337264.htm

            首先根據(jù)類型描述符頭部信息中的類型碼對LV的數(shù)據(jù)類型進行分類,每個CASE中的數(shù)據(jù)存儲結構都是類似的.

            先看看第一個CASE: 條件是:"I8".."CXT", "Boolean", "Variant" ,這說明從I8--->"CXT",包括BOOLEAN VARIANT類型描述符的結構都是類似的.看看I8 和BOOLEAN的類型描述符的內容,我們分析一下.


            I8和BOOLEAN除了類型碼不同(0X01,0X21),其它結構完全相同.第一個字(兩個字節(jié))表示存儲結構的長度,*2表示字節(jié)數(shù).

            0X40是LABVIEW保留的.第三個字的高位字節(jié)0X02表示名稱包括兩個字節(jié)(字符,ASCII).可以看出它的標簽是aa.

            前4個字節(jié)(兩個字I16)是類型描述符的頭部信息,第5個字節(jié)0X02表示名稱的長度是2個字符,這樣,通過把類型描述符的結構轉換成U8數(shù)組或者16進制字符串,就可以拆分出它的標簽信息.




            左邊的圖通過鑄模函數(shù),把I16數(shù)組轉換成16進制字符串,通過一個Get PString(有點類似C指針),提取出標簽.

            右邊的圖是Get PString的程序框圖,因為以后要經常用到,重點解釋一下.

            我們前文談到過,字符串和U8數(shù)組在內存中的存儲形式是完全相同的,所以操作字符串和操作U8數(shù)組是等價的.

            表示名稱長度信息在第5個字節(jié)中,所以首先用索引數(shù)組取出第5個字節(jié)(索引4,ARRAY從索引0開始)

            通過截取字符串函數(shù),字符串長度參數(shù)是剛剛從數(shù)組中取出的,開始位置是4+1(去掉長度字節(jié)),至此,完成了

            提取標簽信息.


            枚舉類型的類型描述符結構是不同于I8,U8的,下一個CASE是用于提?。牛危眨偷臉撕灥模紫瓤纯矗牛危眨偷念愋兔枋龇慕M成結構.



            類型描述符號的頭部信息都是類似的,由長度,類型碼組成.重點看第5個字節(jié),這里的0X03表示枚舉由3個元素組成,以下分別是第一個元素標簽(這里稱名稱可能更合適)的長度(字符個數(shù))和名稱的相應的ASCII,分析可以得到,第一個元素名稱包括兩個字符,41,41,即AA,第二個元素包括兩個字符,42,42,即BB,第三個包括兩個字符43,43,既CC.值得注意的是接下來并不是標簽的長度,而是用00來填充補位,而下一個字的高位字節(jié)才表示標簽的長度,長度為2,標簽字符6D 6E即mn.

            看看OPENG是如何提?。牛危眨蜆撕灥模?/p>


            CASE的條件是ENUM8..ENUM64說明,ENUM8,16,32,64結構都是相同的

            頭部信息中的ELEMENTS表示一共三個元素,所以利用一個三次FOR循環(huán),計算出標簽的索引,注意有一個加余數(shù)的過程,這個就是解決上面的填充0問題,這個0不體現(xiàn)在長度字節(jié)中的.然后再次調用Get PString就得到了枚舉的標簽.實際上,上面的過程也可以得到枚舉中的每個元素的名稱.

            在看string,path 和picture(本質是一系列二進制數(shù)據(jù)),它們的類型描述符的結構是相同的.

            通過分析類型描述符結構,我們已經得到的類型描述符的頭部信息,我們知道,LV的存儲結構中同時包括了控件的標簽信息,看看如何能通過描述符得到控件的標簽.OPENG中提供了這個功能,我們跟蹤一下看看它實現(xiàn)的方法:




            首先根據(jù)類型描述符頭部信息中的類型碼對LV的數(shù)據(jù)類型進行分類,每個CASE中的數(shù)據(jù)存儲結構都是類似的.


            上一頁 1 2 下一頁

            評論


            技術專區(qū)

            關閉