Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2341683
  • 博文数量: 816
  • 博客积分: 10000
  • 博客等级: 上将
  • 技术积分: 5010
  • 用 户 组: 普通用户
  • 注册时间: 2008-12-17 17:57
文章分类

全部博文(816)

文章存档

2011年(1)

2008年(815)

分类:

2008-12-17 18:05:45

Victor你好,我用了你的控件,觉得太棒了!严重支持你!但现在我遇到了一个问题想请教一下:
我用BCB程序通过串口控制2051,从数据存储芯片25165中读出数据,显示在Memo中,比如,我读到了以下数据,在Memo中显示为:

4142434445464748494A4B4C4D4E4F505152535455565758595A

这一串十六进制代码应该为从A到Z的26个字母,我想通过一个按钮让它们显示为ASCII码的形式:
void __fastcall TfrmMain::btnASCModeClick(TObject *Sender)
{
    char Buffer[26];
    AnsiString str=Memo1->Text;
    Memo1->Clear();
    HexToBin(str.c_str(),Buffer,26);
    Memo1->Text=Memo->Text+Buffer;
}

可是结果却得到了下面的这串ACSII码:
ABCDEFGHIJKLMNOPQRSTUVWXYZl??帻

前面的26个字母没有问题,可是后面的这几个是什么呀?我真的百思不得其解,是不是我的代码由问题?恳请赐教!多谢!!

--------------------next---------------------
Victor:
刚才我又仔细试验了几次,结果是这样的:

我从25165中读出64字节内容(这部分功能由2051程序控制),传到BCB程序的Memo1中。25165中的内容是我提前固化的,为26个字母加上34个字母O再加ABCD,如下:

ABCDEFGHIJKLMNOPQRSTUVWXYZOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOABCD

其在25165中的16进制码为:
41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50
51 52 53 54 55 56 57 58 59 5A 4F 4F 4F 4F 4F 4F
4F 4F 4F 4F 4F 4F 4F 4F 4F 4F 4F 4F 4F 4F 4F 4F
4F 4F 4F 4F 4F 4F 4F 4F 4F 4F 4F 4F 41 42 43 44

读到Memo中的代码如下:
void __fastcall TfrmMain::Timer1Timer(TObject *Sender)
{
    unsigned char Buf[64];
    int n = comMain->Read(Buf,64);
    AnsiString s;
    for(int i=0; i    s = s.Trim();
   
    if(!s.IsEmpty())
    {
        memMain->Text=memMain->Text+s;
    }
}

读到Memo1中的结果如下:
4142434445464748494A4B4C4D4E4F505152535455565758595A4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F41424344

在窗体上放置一个按钮组件,希望达到一点击次按钮就把Memo1中的内容转换为相应的ASCII码。如下:
void __fastcall TfrmMain::Button1Click(TObject *Sender)
{
    char Buffer[64]
    AnsiString str=Memo1->Text;
    Memo1->Clear();
    HexToBin(str.c_str(),Buffer,64);
    Memo1->Text=Memo1->Text+Buffer;
}

点击此按钮后Memo1中出现下面结果:
ABCDEFGHIJKLMNOPQRSTUVWXYZOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOABCD??帻

不知道这后面几位字符是怎么来的。而且好像这种情况还总在变化,也就是说,后几位的出现并不固定,重启之后就不一样。

--------------------next---------------------

阅读(1061) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~