請問有關chart的問題 |
答題得分者是:kenlee1109
|
student38
一般會員 發表:22 回覆:13 積分:7 註冊:2010-04-14 發送簡訊給我 |
[code cpp] void __fastcall TForm1::Comm1ReceiveData(TObject *Sender) { String InputStr,tmpStr,tmpStr1,buff,buff1,ch1; char *ch; int i,StrLen,j; float ch2; txtInput->Text=Trim(Comm1->Input); //未轉前 //以下進行長字串 InputStr=txtInput->Text; StrLen=InputStr.Length(); tmpStr=""; //將每個字元的編碼組成一個字串 //欲將中文字的前字元取出,需使用unsigned char作型態轉換 for (i=1;i<=StrLen;i ) tmpStr =IntToStr((unsigned char)InputStr[i]); ch=tmpStr.c_str(); //ReceiveData[i]=StrToFloat(ch); ch1=AnsiString(ch,3) ; Edit1->Text=ch1; Timer1->Enabled=true; } } [/code] [code cpp] void __fastcall TForm1::Timer1Timer(TObject *Sender) { Chart2->BottomAxis->SetMinMax(0,500); Chart2->LeftAxis->SetMinMax(0,350); Double TimeX=0; TimeX ; Series2->Add(Edit1->Text.ToDouble(),TimeX,clRed); }[/code] |
kenlee1109
初階會員 發表:20 回覆:40 積分:27 註冊:2006-08-17 發送簡訊給我 |
對Chart不熟,不過元件一般不會有問題,猜想寫法上是否在 Timer 進入函示的第一行讓它 Disable. 如果有需要在最後一行再讓它 Enable.
1. void __fastcall TForm1::Timer1Timer(TObject *Sender) 2. { Timer1->Enabled=false; 3. Chart2->BottomAxis->SetMinMax(0,500); 4. Chart2->LeftAxis->SetMinMax(0,350); 5. Double TimeX=0; 6. TimeX ; 7. Series2->Add(Edit1->Text.ToDouble(),TimeX,clRed); 8. } |
student38
一般會員 發表:22 回覆:13 積分:7 註冊:2010-04-14 發送簡訊給我 |
|
kenlee1109
初階會員 發表:20 回覆:40 積分:27 註冊:2006-08-17 發送簡訊給我 |
看是資料的問題,用 debug 檢查那個 ToDouble 所產生的值是多少?如確定是數字, 則前面再加上(float) 強制轉 Type, 不過這個數值由 Edit 中來的,是否有危險?
試著將這一行 Series2->Add(Edit1->Text.ToDouble(),TimeX,clRed); 改寫成: double value = Edit1->Text.ToDouble(), Series2->Add(value,TimeX,clRed); 看是否當在第一行?
編輯記錄
kenlee1109 重新編輯於 2010-08-20 04:45:53, 註解 無‧
|
student38
一般會員 發表:22 回覆:13 積分:7 註冊:2010-04-14 發送簡訊給我 |
有用k大的程式改了一下,還是不能執行= =|||
我有嘗試更改另一種寫法 [code cpp] void __fastcall TForm1::Comm1ReceiveData(TObject *Sender) { String buf,buff1; int i; long tmpStr; buf=Trim(Comm1->Input); for (i=1;i<=buf.Length();i ) tmpStr =((tmpStr buf[i])&0xff); Edit1->Text=tmpStr; Timer1->Enabled=true; //Memo1->Text=Memo1->Text tmpStr; }[/code] 雖然可以用,但是數值會亂跳 我所接收的是0-255 亂跳例如 255,111....... 有用過陣列下去寫 可是 tmpStr算是變數 請問如何放進陣列裡面 怎嚜寫都不對,我有參考rs232串列通訊那本@@ 剛接觸這領域,看書學,因為目前老師的學生只有我一個在學@@ |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |