全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:5600
推到 Plurk!
推到 Facebook!

BCB如何判斷所需字串 以及如何字串分割 並提取需要數值

答題得分者是:GaryKao99
k19880402
一般會員


發表:3
回覆:2
積分:1
註冊:2009-07-09

發送簡訊給我
#1 引用回覆 回覆 發表時間:2009-07-13 18:08:42 IP:140.130.xxx.xxx 訂閱
目前碰到的問題是
1.假設我今天透過RS232收到一筆資料是$1854.999,A,789,423,15.42
我只需要擷取資料前面有$字號的資料 其他不擷取 我該如何判斷這筆資料該不該收
2. 假設今天收到的資料是 1854.999,A,789,423,15.42
我該如何將他分割並把他丟到各個副程式裡並執行程式
意思是 將到分割成1854.999 A 789 423 15.42
然後副程式A要1854.999這個數值 副程式B要A這個數值
這樣該如何寫 學長給我的建議是將字串存到陣列裡 再將字串分割 在丟到各個副程式裡 但是我翻過書沒找到 所以才上來求助各位大大 感謝各位大大
GaryKao99
中階會員


發表:46
回覆:102
積分:54
註冊:2002-08-23

發送簡訊給我
#2 引用回覆 回覆 發表時間:2009-07-15 14:19:53 IP:61.63.xxx.xxx 訂閱
您的問題主要是要對字串做處裡
而切割字串的方式依您的需求而有所不同, 如固定長度切割, 或符號切割

1.
$符號的判斷, 您可以用Substring直接取得第一個字元, 若為$才做下面的動作

2.
您可將您收到的字串放入 TStringList 中, 我記得TStringList 預設值是以(,)逗號做切割
ex:
TStringList *strLst= new TStringList();
strLst->Text = 您的字串;

strList->Items[x]; // <--- 這裡就可以取出以切割好的值
載依您的功能需求, 分別將取出的字串給FunctionA 或 FunctionB

以上
GaryKao99
中階會員


發表:46
回覆:102
積分:54
註冊:2002-08-23

發送簡訊給我
#3 引用回覆 回覆 發表時間:2009-07-15 14:33:50 IP:61.63.xxx.xxx 訂閱
抱歉更正一下
strList->Items[x]; 應該是 strList->Strings[x];
k19880402
一般會員


發表:3
回覆:2
積分:1
註冊:2009-07-09

發送簡訊給我
#4 引用回覆 回覆 發表時間:2009-07-15 14:35:49 IP:140.130.xxx.xxx 訂閱
感謝您的回答 目前正在測試中
k19880402
一般會員


發表:3
回覆:2
積分:1
註冊:2009-07-09

發送簡訊給我
#5 引用回覆 回覆 發表時間:2009-07-15 18:18:41 IP:140.130.xxx.xxx 訂閱
這是我的程式碼
RUN之後一直出現錯誤
[BCC32 Error] Unit3.cpp(66): E2451 Undefined symbol 'CommaText'
[BCC32 Error] Unit3.cpp(66): E2379 Statement missing ;
[BCC32 Error] Unit3.cpp(69): E2451 Undefined symbol 'data'

請問是哪裡宣告錯了嗎!?



[code cpp]
void __fastcall TForm3::Comm1ReceiveData(TObject *Sender)
{
mReceive->Text= mReceive->Text Comm1->Input;
char *a;

TStringList*MyList=new TStringList();
MyList->Text= mSend->Text ;
CommaText data = MyList;


if (data.SubString(0,1)=="$")
{
a=data.c_str();
Cutstring(a);
}

delete MyList;
}
[/code]




GaryKao99
中階會員


發表:46
回覆:102
積分:54
註冊:2002-08-23

發送簡訊給我
#6 引用回覆 回覆 發表時間:2009-07-15 20:15:26 IP:203.70.xxx.xxx 訂閱
 CommaText 沒有這個變數型態

程式的問題您要自己除錯喔
系統時間:2024-05-02 5:18:39
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!