luelyzeng
歲月不饒人,我亦未曾饒過(guò)歲月
級(jí)別: 工控俠客
|
用5u做了一個(gè)套接字通信,接收到的數(shù)據(jù)是一串字符, 比如: S123,456,789E 應(yīng)該怎么把三個(gè)數(shù)據(jù)分別通過(guò)分隔符","提取分離出來(lái)?數(shù)據(jù)長(zhǎng)度是不確定的,但有分隔符把數(shù)據(jù)分開(kāi), 請(qǐng)高手們不吝賜教!萬(wàn)分感謝!! |
|
---|---|---|
|
cythyx
級(jí)別: 家園?
|
圖片:
提供思路吧,用字符搜索功能,字符刪除,字符提取功能實(shí)現(xiàn)。首先去掉第一位S,,比如個(gè)1234,456,78910E ,用字符搜索功能搜索“,”在第幾位,比如在第一次搜索","在第五位,然后把前4位提出,然后刪除前5位剩下456.78910E,再次搜“,”提取456,出來(lái),剩下78910E,繼續(xù)搜“,”一直循環(huán)到搜不到“,” 搜到最后沒(méi)有“,”了,剩下的就是78910E,把E前面的提出來(lái)就可以了。。 |
---|---|
|
夢(mèng)雨天涯
微信hui530527 &
級(jí)別: 網(wǎng)絡(luò)英雄
|
大佬66666 |
|
---|---|---|
|
luelyzeng
歲月不饒人,我亦未曾饒過(guò)歲月
級(jí)別: 工控俠客
|
圖片:
字符串搞出來(lái)了,先用搜索INSTR,再用截取MID,最后用刪除STRDEL, 但現(xiàn)在遇到個(gè)問(wèn)題,字符提取出來(lái)后,用DVAL指令CPU會(huì)報(bào)錯(cuò),假如解析出來(lái)的字符是“123” , DVAL(SM400,'123',D1200,D1500:D);就報(bào)錯(cuò)了,但轉(zhuǎn)出來(lái)的數(shù)據(jù)又是對(duì)的,什么原因呢, |
|
---|---|---|
|
luelyzeng
歲月不饒人,我亦未曾饒過(guò)歲月
級(jí)別: 工控俠客
|
感謝感謝!!還有個(gè)問(wèn)題,就是整數(shù)數(shù)據(jù)轉(zhuǎn)成字符串再發(fā)送出去,不足的長(zhǎng)度前面會(huì)有空格,這時(shí)候就要算每個(gè)數(shù)據(jù)的長(zhǎng)度,然后再用DSTR指令來(lái)重新合成需要的字符串,但這樣好像很籠統(tǒng),有更簡(jiǎn)潔的辦法嗎,如果直接 用 DIN_TO_STRING 的話會(huì)帶很多空格,最不理解的就是符號(hào)還在前面,那么發(fā)送出去的數(shù)據(jù)就成了 “ - 123”類似的了 |
|
---|---|---|
|