請問為什麼我用MessageBox一值有錯??? |
尚未結案
|
danielkelly
初階會員 發表:36 回覆:108 積分:28 註冊:2003-05-11 發送簡訊給我 |
請教各位大哥
我用以下的
float rate,f,p,n;
n=StrToFloat(Cash_Flow->Period->Text);
rate=StrToFloat(InputBox("利率","請輸入利率",0.1));
f=p*pow(1 rate,n);
Application->MessageBox("未來值(PW)是" FloatToStr(f),"未來值(PW)",MB_OK); ------->這一行一直有錯
錯誤訊息 can't not covert AnsiString to char ????
請問我要如何改錯
謝謝
|
tech_state
版主 發表:44 回覆:638 積分:641 註冊:2003-02-10 發送簡訊給我 |
danielkelly, 您好
修改一下您的code,因為第一個參數的type是LPCTSTR,所以變更一個type即可。試試看。
< class="code">
String str = "未來值(PW)是" FloatToStr(f);
Application->MessageBox(str.c_str(),"未來值(PW)",MB_OK);
=================================
涵養怒中氣。謹防順口言。留心忙裡錯。珍惜有時錢。
是非終日有,不聽自然無
天下本無事,庸人自擾之
|
danielkelly
初階會員 發表:36 回覆:108 積分:28 註冊:2003-05-11 發送簡訊給我 |
|
tech_state
版主 發表:44 回覆:638 積分:641 註冊:2003-02-10 發送簡訊給我 |
|
artist1002
高階會員 發表:2 回覆:155 積分:151 註冊:2002-09-26 發送簡訊給我 |
|
danielkelly
初階會員 發表:36 回覆:108 積分:28 註冊:2003-05-11 發送簡訊給我 |
|
artist1002
高階會員 發表:2 回覆:155 積分:151 註冊:2002-09-26 發送簡訊給我 |
引言: 謝謝 我懂了 那.c_str()是不是就是把 string 轉換成LPCTSTR 的Method嗎?? 請問 .c_str() 是string 的一個method 嗎??LPCTSTR 是字串的遠程指標, 在BCB裡可以看作是char *, 在BCB裡頭String和AnsiString都是AnsiString型別 (其中String被typedef成AnsiString) 在程式碼中的""包起來的字都被視為AnsiString型態. 所以要進行轉換才能夠成為char *的型態 AnsiString提供了許多的method讓我們方便使用,c_str()是其中的一種 我們再來看看MessageBox, 剛剛查了Help MessageBox的原型為 int __fastcall MessageBox(const char * Text, const char * Caption, int Flags); 可以看到第一個和第二個參數的型態都是要char * 所以要使用AnsiString的c_str()來將字串轉成char *型態來當參數 發表人 - artist1002 於 2003/06/17 02:51:51 |
danielkelly
初階會員 發表:36 回覆:108 積分:28 註冊:2003-05-11 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |