線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1021
推到 Plurk!
推到 Facebook!

請問char 顯示的問題

尚未結案
odyaho
初階會員


發表:60
回覆:104
積分:42
註冊:2005-02-15

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-03-24 16:06:42 IP:202.181.xxx.xxx 未訂閱
//*** 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

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-03-24 16:19:29 IP:211.76.xxx.xxx 未訂閱
引言: //*** 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

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-03-24 16:22:00 IP:61.66.xxx.xxx 未訂閱
引言: byte bin[8]; ==> char bin[8]
既然你要顯示字串,就應該要用char
nlj859
資深會員


發表:139
回覆:375
積分:322
註冊:2004-03-20

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-03-24 16:41:55 IP:163.28.xxx.xxx 未訂閱
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

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-03-24 17:31:54 IP:202.181.xxx.xxx 未訂閱
To smartboss 我使用你的語法 卻無法顯示出任何字串或是數字 謝謝您提供的意見...
odyaho
初階會員


發表:60
回覆:104
積分:42
註冊:2005-02-15

發送簡訊給我
#6 引用回覆 回覆 發表時間:2005-03-24 17:37:51 IP:210.202.xxx.xxx 未訂閱
To blk5743 我也更改了byte -> char 但情況還是依樣 我需要利用到label or edit來顯示出來 總會出現 Cannot convent 'unsigned char *' to 'AnsiString' 問題....... 多謝您的建議 繼續debug去
odyaho
初階會員


發表:60
回覆:104
積分:42
註冊:2005-02-15

發送簡訊給我
#7 引用回覆 回覆 發表時間:2005-03-24 17:39:34 IP:210.202.xxx.xxx 未訂閱
To nlj859 請問#include "IdGlobal.hpp" 在哪裡呢 怎麼找不到 我是裝bcb 5.0 OS: win 2k thanks.....
smartboss
初階會員


發表:19
回覆:93
積分:42
註冊:2004-12-29

發送簡訊給我
#8 引用回覆 回覆 發表時間:2005-03-24 18:05:50 IP:211.76.xxx.xxx 未訂閱
引言: To smartboss 我使用你的語法 卻無法顯示出任何字串或是數字 謝謝您提供的意見...
不好意思,我錯了,應該是nlj859 的方式才正確,因為您的陣列是放tak%2;的餘數的,所以您也可以試以下的方式看看是不是您要的東東。
        AnsiString str;
        for (int i=0;i<8;i  )     {
           str  = IntToStr(bin[i]);
        }
        Edit1->Text = str;
蝦程速,有了 K.TOP 尊好。
blk5743
高階會員


發表:34
回覆:371
積分:236
註冊:2003-11-17

發送簡訊給我
#9 引用回覆 回覆 發表時間:2005-03-25 08:39:36 IP:61.66.xxx.xxx 未訂閱
請改成這樣 
//*** 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);     
系統時間:2024-05-15 0:11:13
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!