2014-10-10 55 views
0

我使用arduino並以逗號分隔的值串行獲取數據。現在我想隔離數據並付諸文本框中,我的問題如何解析在文本框中顯示VB的數據數據,每1秒在vb中解析逗號分隔的值

int Count1; 
int Count2; 
int Count3; 
int Count4; 
int Count5; 
float Sensor_Out1; 
float Sensor_Out2; 
float Sensor_Out3; 
float Sensor_Out4; 
float Sensor_Out5; 

void TakeReading() 
{ 
    Count1 = analogRead(A1); 
    Count2=analogRead(A2); 
    Count3=analogRead(A3); 
    Count4=analogRead(A4); 
    Count5=analogRead(A5); 
    Sensor_Out1= 0.0336666666667*Count1 - 17.10; 
    Sensor_Out2= 0.0336666666667*Count2 - 17.10; 
    Sensor_Out3= 0.0336666666667*Count3 - 17.10; 
    Sensor_Out4 = 0.0336666666667*Count4 - 17.10; 
    Sensor_Out5= 0.0336666666667*Count5 - 17.10; 
} 

void setup() 
{ 
    Serial.begin(9600); 
} 

void loop() 
{ 
    TakeReading(); 
    Serial.print(Sensor_Out1); 
    Serial.print(","); 
    Serial.print(Sensor_Out2); 
    Serial.print(","); 
    Serial.print(Sensor_Out3); 
    Serial.print(","); 
    Serial.print(Sensor_Out4); 
    Serial.print(","); 
    Serial.println(Sensor_Out5); 
    delay(1000); 

} 
+0

這不是VB.Net,也不是VBA - 請更正標籤。 – OneFineDay 2014-10-10 04:24:34

+0

@OneFineDay我從串口獲取arduino的數據。我的問題是如何解析和顯示在Visual Basic 2010上。因此保留標記vba – 2014-10-10 04:40:37

+0

您提供的代碼的目的是什麼? – OneFineDay 2014-10-10 04:45:17

回答

0

爲了解析Comma Separated Value,又名CSV,您可以使用Split方法。

Dim csvValues As String = "1,2,3,4,5,6,7,8,9" 
Dim arrayOfValues() As String = csvValues.Split(","c) 
'c after the final quote forces the string to a char datatype 
+0

通過逗號分割不是你應該如何解析CSV文件。 – Neolisk 2014-10-10 13:57:27

+0

@ Neolisk-當然,他們是一個更復雜的文件的方式,但這不是一個文件,它的數據。 – OneFineDay 2014-10-10 14:49:36

+0

然後你應該清楚地說明你的代碼的目的。要解析一個字符串,其中值用逗號分隔,可以使用'Split(「,」c)「。然而,[CSV](http://en.wikipedia.org/wiki/Comma-separated_values)是一個標準,對此,存在第三方解析器。你可以編寫自己的代碼,但比1行代碼複雜得多。如果非常簡單,那些第三方解析器將不存在。沒有用簡單的逗號分隔來解釋的東西是值中的逗號和換行符。 (在大多數情況下,逗號意味着列拆分,而換行意味着行拆分。) – Neolisk 2014-10-10 15:18:10