一個一個比對抓出來

小弟發現這次產測程式的問題不是普通的麻煩@@是超麻煩囧a

先來敘述一下資料進來的形式

一:產品在傳送資料時是以CC XX XX XX ...的形式呈現(XX代表任意數)

二:產品有很多個(幾十個),而產品內部程式設計的原因,所以一次會回傳五個之多的指令碼(重複的),例如:CC 01 01 22 22.. 會回傳五次,因為避免產品太多回傳時產生碰撞將指令碼打掉所以才回傳這麼多次

三:接收端(電腦)這,收到的資料是以隨機排序的方式組成一個非常龐大的字串,小弟看大概有幾千個字元吧@@

四:因為某些原因,在接收的時候也會不時接收到CC 02 FF FF這段指令碼,對小弟來說他沒用,要過濾掉

以上是產品傳送資料到電腦的部分

 

而小弟的版面想呈現的

主要是如圖這樣的形式

![](upload://llUVvqe1zbKM26A6SjgWYFV4xd6.jpeg)

然後在接收到某段指令後,會從表格中剔除掉

目前想做成這樣,但小弟卡解析卡超久囧a

一直不知道該怎麼辦Orz,還請多多忙><

感績不盡!感恩!

 

看到你前前後後的幾個問題有網友幫你陸續解決問題,你這樣做中學會學得很快,但是有些問題要請你自己先嘗試做看看,再把你有問題的地方提出而不是直接給問題,這是我的建議

[QUOTE=ancle]看到你前前後後的幾個問題有網友幫你陸續解決問題,你這樣做中學會學得很快,但是有些問題要請你自己先嘗試做看看,再把你有問題的地方提出而不是直接給問題,這是我的建議[/QUOTE]

恩恩,大大說的對

我當然也是有嘗試解決了@@但一直卡囧a

先說現在我自己做到哪遇到什麼瓶頸好了

首先,在進行接收的時候,每個產品都會發送五次自己獨特的指令編碼,會送五次的原因是因為只要產品一多,資料們彼此之間就會打架,所以便以數量來降低沒收到編碼的風險

然後大批近千位元數的資料一進來,是以序列的方式呈現

因為自己不知道怎麼去將龐大的序列去做解析,所以就只好將他矩陣化,並且將數據Hold住(不Hold住,矩陣裡的資料是消縱即逝@@a)

原本

是想將這些矩陣資料,把重複的消掉,然後一筆一筆抓出來去分別做解析,然後再組成表格呈現,如圖這樣

![](upload://llUVvqe1zbKM26A6SjgWYFV4xd6.jpeg)

而問題來了

一直不知道該怎麼將重複的資料砍掉,也有一直打關鍵字去查但都找不到@@

然後也沒辦法將資料一筆一筆抓出來去做辨識與解析

唯一讓我小高興一下是,解析的程式部份我已經完成@@

但少了中間的抓出辨識,能解析也能多大用處囧a

 

所以小弟現在有在想兩個方向

一:繼續以矩陣的方式去做,但這樣就必須要解決"過濾多的重複的編碼指令" "一筆一筆資料抓出做自動辨識"

什麼是自動辨識呢?小弟來解釋一下

假設,原先只有五個產品,而小弟所知的辨識就是將這五個產品的編碼先貼在背板裡當辨識的基準,當我的矩陣編碼,與產品一的編碼做比對,在確定辨識正確後就將產品一的編碼丟進表格裡,依此反覆執行直到比對完成,然後就能完成表格

但現在又被要求說,當第六個產品加進來後,程式要自動的,將產品六的編碼也解析並會進表格裡,讓小弟苦惱這該怎麼做

有寫別的程式的前輩是建議我,看能不能作用"篩選"的方式去做,而不是貼產品編碼,有試著去想去寫,但也是寫不出來/ \

 

然後第二種方法就是在一開始序列的時候就將他們一段一段的分出來,然後在做比對辨識及存到表格中呈現

但第二種小弟也是一直事不出來/    \

 

已經卡一個禮拜了Orz

這反而比之前做的還難囧a

一開始還以為他會不太難的QQ

誰知道反而是目前做的最困難的@@

目前,小弟自己算是成功的能進行過濾了

如圖

![](upload://vyvZ2d6d24qwbokrTmbBKykEK5G.jpeg)

![](upload://xgLkkjYbBfnsi2JJZunZXpLKhi3.jpeg)

利用的是比對字串的長度(小弟要的是25位元的資料)

但唯一遺憾的是因為當字串長度不等於零時,他一定會輸出一個空的字串,這樣便的我輸出的矩陣一定會有空欄出現,但一直沒辦法解決@@

這是第一個問題

 

第二個問題

我該怎麼把他變成表格形式呢??

想要的樣子是這樣,如圖

![](upload://kYxaShI5MZ9n3qSrnC48lMWgLI7.jpeg)

還望大大們能夠提供幫助QQ

感激不盡

感恩!

 

tjames11141134.4675347222

表格的格式

在於你對資料如何做編排

如果你不會排,表示你對陣列元件不熟。

TAB CONTROL物件也是一個陣列元件

cc02ff要過濾就表示你不處理它而已

string元件就有mach元件可以用。

還有你的產線程式麻煩不麻煩那不重要

重要的是你怎樣規劃問題一一解決

[QUOTE=bahamut]

表格的格式

在於你對資料如何做編排

如果你不會排,表示你對陣列元件不熟。

TAB CONTROL物件也是一個陣列元件

cc02ff要過濾就表示你不處理它而已

string元件就有mach元件可以用。

還有你的產線程式麻煩不麻煩那不重要

重要的是你怎樣規劃問題一一解決

[/QUOTE]

感謝大大的提醒!!

經過大大這樣一講,過濾的部分就處理好了@@

現在就只剩怎麼將他們表格化了@@

確實小弟完全沒碰過TABLE CONTROL這個物件@@

也是有自己去找過相關問題看的,但幫助都不太大,小弟會自己再努力摸摸看

然後想問一下TABLE CONTROL是不是沒辦法顯示十六進制的值??也沒看到像字串那樣可以選擇顯示方式@@a

tjames11141134.6089814815

給你這個9X9.vi

TABLE CONTROL 本身只接收字串

所以你再輸入資料給它之前就要先轉好

[QUOTE=bahamut]

給你這個9X9.vi

TABLE CONTROL 本身只接收字串

所以你再輸入資料給它之前就要先轉好

[/QUOTE]

感謝大大提供的範例

不過可能我沒表達清楚,抱歉><

我的意思是指,TABLE CONTROL沒有辦法顯示十六進制的字串是嗎?

因為小弟十六進制的資料輸入到TABLE CONTROL後顯示是亂碼,然後看了一下TABLE CONTROL好像也沒有辦法選擇顯示的模式

 

我的程式不是有轉成16進制嗎

妳有確定你給她的是字串嗎

[QUOTE=bahamut]

我的程式不是有轉成16進制嗎

妳有確定你給她的是字串嗎

[/QUOTE]

好奇怪@@我給的是十六進制但真的出來是亂碼@@

9X9_1.vi

[QUOTE=tjames111][QUOTE=bahamut]

我的程式不是有轉成16進制嗎

妳有確定你給她的是字串嗎

[/QUOTE]

好奇怪@@我給的是十六進制但真的出來是亂碼@@

9X9_1.vi

[/QUOTE]

.....因為你的資料是HEX顯示

所以實際上在畫面顯示是中文字阿

請在你的資料常數按右鍵選擇normal Display

[QUOTE=bahamut][QUOTE=tjames111][QUOTE=bahamut]

我的程式不是有轉成16進制嗎

妳有確定你給她的是字串嗎

[/QUOTE]

好奇怪@@我給的是十六進制但真的出來是亂碼@@

9X9_1.vi

[/QUOTE]

.....因為你的資料是HEX顯示

所以實際上在畫面顯示是中文字阿

請在你的資料常數按右鍵選擇normal Display

[/QUOTE]

可是...我的資料型態就是需要是HEX才能顯示耶@@a

任何一台機器做傳輸如果是以ASCII方式

那就有一些字元碼,

但你HEX碼是已經經過labVIEW作語言介面的加工了

正常如果要顯示A他會傳送41 a 61

31就是數字1

而不是你所說的HEX碼

如果是你所說的HEX碼 那就連C語言組合語言也不能辨別你的產品了。

[QUOTE=bahamut]

任何一台機器做傳輸如果是以ASCII方式

那就有一些字元碼,

但你HEX碼是已經經過labVIEW作語言介面的加工了

正常如果要顯示A他會傳送41 a 61

31就是數字1

而不是你所說的HEX碼

如果是你所說的HEX碼 那就連C語言組合語言也不能辨別你的產品了。

[/QUOTE]

這...因為小弟是看輸出視窗那邊

選擇normal Display出來的是亂碼

而用Hex Display出來的就是我要的資料

如果TABLE CONTORL真的只能這樣...那我就只能先把我的資料做轉換,然後再轉回來了@@a

目前已成功進行資料的顯示轉換了

不過TABLE CONTORL的應用還有待練習Orz