請問char 顯示的問題 |
尚未結案
|
odyaho
初階會員 ![]() ![]() 發表:60 回覆:104 積分:42 註冊:2005-02-15 發送簡訊給我 |
//*** Define...
int tak,tak1;
byte bin[8];
//*************************
ss1 = (InputBox("Dec To Bin","Please input dec format(0~255):",""));
tak = ss1.ToInt(); //顯示&驗證
Form2->Label3->Caption="tak:"+IntToStr(tak); for (int i=0;i<8;i )
{
tak1 = tak/2;
bin[7-i] = tak%2;
tak = tak1;
}
//**** check value....
ShowMessage(bin[7]);
ShowMessage(bin[6]);
ShowMessage(bin[5]);
ShowMessage(bin[4]);
ShowMessage(bin[3]);
ShowMessage(bin[2]);
ShowMessage(bin[1]);
ShowMessage(bin[0]);
//*** value ok..... //*** 下面此行出現錯誤 ......
Form2->Label3->Caption = (bin);
[C Error]Unit2.cpp(119): E2034 Cannot convent 'unsigned char *' to 'AnsiString'
請問我在不更改變數的情況下
如何才能利用 Label->Caption or Edit->Text 顯示出bin值呢??
謝謝 發表人 - taishyang 於 2005/03/24 22:44:26
|
smartboss
初階會員 ![]() ![]() 發表:19 回覆:93 積分:42 註冊:2004-12-29 發送簡訊給我 |
引言: //*** Define... int tak,tak1; byte bin[8]; //************************* ss1 = (InputBox("Dec To Bin","Please input dec format(0~255):","")); tak = ss1.ToInt(); //顯示&驗證 Form2->Label3->Caption="tak:" IntToStr(tak); for (int i=0;i<8;i ) { tak1 = tak/2; bin[7-i] = tak%2; tak = tak1; } //**** check value.... ShowMessage(bin[7]); ShowMessage(bin[6]); ShowMessage(bin[5]); ShowMessage(bin[4]); ShowMessage(bin[3]); ShowMessage(bin[2]); ShowMessage(bin[1]); ShowMessage(bin[0]); //*** value ok..... //*** 下面此行出現錯誤 ...... Form2->Label3->Caption = (bin); [C Error]Unit2.cpp(119): E2034 Cannot convent 'unsigned char *' to 'AnsiString' 請問我在不更改變數的情況下 如何才能利用 Label->Caption or Edit->Text 顯示出bin值呢?? 謝謝odyaho 您好,請您試試如下看看吧! [code] Edit1->Text = AnsiString((const char *)bin,sizeof(bin)); [\code] 蝦程速,有了 K.TOP 尊好。 |
blk5743
高階會員 ![]() ![]() ![]() ![]() 發表:34 回覆:371 積分:236 註冊:2003-11-17 發送簡訊給我 |
|
nlj859
資深會員 ![]() ![]() ![]() ![]() ![]() 發表:139 回覆:375 積分:322 註冊:2004-03-20 發送簡訊給我 |
Hello odyaho, 參考IntToBin()的用法;
#include "IdGlobal.hpp" //include在上面,在你的unit1.h那裡 int tak; AnsiString ss1; ss1 = (InputBox("Dec To Bin","Please input dec format(0~255):","")); tak=ss1.ToInt(); Label1->Caption=IntToBin(tak);發表人 - nlj859 於 2005/03/24 18:02:01 |
odyaho
初階會員 ![]() ![]() 發表:60 回覆:104 積分:42 註冊:2005-02-15 發送簡訊給我 |
|
odyaho
初階會員 ![]() ![]() 發表:60 回覆:104 積分:42 註冊:2005-02-15 發送簡訊給我 |
|
odyaho
初階會員 ![]() ![]() 發表:60 回覆:104 積分:42 註冊:2005-02-15 發送簡訊給我 |
|
smartboss
初階會員 ![]() ![]() 發表:19 回覆:93 積分:42 註冊:2004-12-29 發送簡訊給我 |
|
blk5743
高階會員 ![]() ![]() ![]() ![]() 發表:34 回覆:371 積分:236 註冊:2003-11-17 發送簡訊給我 |
請改成這樣
//*** Define... int tak,tak1; byte bin[8];==> char bin[8](顯示字串應宣告為char) //************************* AnsiString ss1 = (InputBox("Dec To Bin","Please input dec format(0~255):","")); tak = ss1.ToInt(); //顯示&驗證 Form1->Label1->Caption="tak:" IntToStr(tak); for (int i=0;i<8;i ) { tak1 = tak/2; bin[7-i] = tak%2;==> bin[7-i] = tak%2 0x30;( 0x30讓你的數值變字元) tak = tak1; } //**** check value.... ShowMessage(bin[7]); ShowMessage(bin[6]); ShowMessage(bin[5]); ShowMessage(bin[4]); ShowMessage(bin[3]); ShowMessage(bin[2]); ShowMessage(bin[1]); ShowMessage(bin[0]); //*** value ok..... //*** 下面此行出現錯誤 ...... Form1->Label1->Caption = (bin); |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |