BCB如何判斷所需字串 以及如何字串分割 並提取需要數值 |
答題得分者是:GaryKao99
|
k19880402
一般會員 發表:3 回覆:2 積分:1 註冊:2009-07-09 發送簡訊給我 |
目前碰到的問題是
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 發送簡訊給我 |
您的問題主要是要對字串做處裡
而切割字串的方式依您的需求而有所不同, 如固定長度切割, 或符號切割 1. $符號的判斷, 您可以用Substring直接取得第一個字元, 若為$才做下面的動作 2. 您可將您收到的字串放入 TStringList 中, 我記得TStringList 預設值是以(,)逗號做切割 ex: TStringList *strLst= new TStringList(); strLst->Text = 您的字串; strList->Items[x]; // <--- 這裡就可以取出以切割好的值 載依您的功能需求, 分別將取出的字串給FunctionA 或 FunctionB 以上 |
GaryKao99
中階會員 發表:46 回覆:102 積分:54 註冊:2002-08-23 發送簡訊給我 |
|
k19880402
一般會員 發表:3 回覆:2 積分:1 註冊:2009-07-09 發送簡訊給我 |
|
k19880402
一般會員 發表:3 回覆:2 積分:1 註冊:2009-07-09 發送簡訊給我 |
這是我的程式碼
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 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |