2010-01-05 91 views
0

我正在解释我的完整问题。 因此,我正在为使用串行端口连接到我的PC的设备构建一个GUI。我使用javacomm apis和eclipse作为我的工具。为了将数据写入串口我正在使用线程和读取,我将使用线程或EventListener。所以现在我的问题是如果我发送任何命令到串口,那么它应该回应一些数据,我会在textArea上打印这些数据。但是,我的设备使用不同的模式响应数据,如段落中的某些时间,有时用冒号分隔,有时一行和冒号分开。下面的示例用于使用java的串口的GUI

type 1: 
line 1 line 1 line 1 line 1 line 1 line 1 line 
parameter 1 : value 1 
parameter 2 : value 2 
parameter 3 : value 3 

type 2: 
line 1 line 1 line 1 parameter 4 and value 4 line 1 line 1 line 1 line 1 
line 2 parameter 5 : value 5 line 2 line 2 line 2 

type 3: 
line 1 line 1 line 1 line 1 : 
     parameter 6 = value 6 
     parameter 7 = value 7 

现在,当我在串行端口上写入不同的命令时,它们以不同的格式发送数据。所以,如果我要将数据简单地放在一个textArea中,就没有问题。但如果我希望把标贴的数据,如低于

parameter 1(in label 1) : value 1 (label 2) 
parameter 2(in label 3) : value 2 (label 4) 

所以要像上面从串口数据我怎么能做到这一点显示数据?如果我正在使用字符串函数来检查冒号(:)和等号(=),那么当有任何数据从串口到达时,我必须将其中的其他字符串或切换大小写。每当任何命令的输出从远程设备到达PC,它必须通过很多开关盒以及其他情况...

我认为它需要更好的设计..有没有人有任何关于任何设计的想法用于设计串口的GUI的模式?或者任何类型的建议是最受欢迎的.....

我知道问题描述可能有这么多compicated。如果有人发现难以理解我的奇怪的解释,请问我,我会尽力解释我的问题更好.......

回答

0

也许正则表达式可以做解析。