请教:有关Edit和Memo控件的问题

andyzhu9 2004-05-10 04:44:43
我需要在Edit控件输入十六进制的数值,如何将它取出来,赋给一个变量?或者说在哪一个控件中对输入的十六进制处理起来比较方便?

我定义一个unsigned char buffer[256]数值,其中存有数值,如何将它们在Memo控件中以十六进制输出?或者说在哪一个控件这样输出比较方便?
...全文
88 点赞 收藏 6
写回复
6 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
andyzhu9 2004-05-14
谢老妖,试了一下,对了......

还有一个问题,就是如何将unsigned char buffer[256]定义的数组中的值以十六进制的形式输出到Memo控件中.
回复
ccrun.com 2004-05-13
i = StrToInt("0x" + Edit1->Text);
回复
andyzhu9 2004-05-13
我试过了,比如在Edit控件中输入0F,按说应该得到15,但运行时却提示"OF不是一个有效的整数值".
回复
JetKingLau 2004-05-12
StrToInt好像不可以进行将"以十六进制表现的字符串转为整型"吧?
/////////////////
BCB Help...

StrToInt

Converts an AnsiString that represents an integer (decimal or hex notation) to a number.

Unit

SysUtils

Category

type conversion routines

extern PACKAGE int __fastcall StrToInt(const AnsiString S);

Description

StrToInt converts the string S, which represents an integer-type number in either decimal or hexadecimal notation, into a number. If S does not represent a valid number, StrToInt throws an EConvertError exception.
回复
andyzhu9 2004-05-12
先谢了!
StrToInt好像不可以进行将"以十六进制表现的字符串转为整型"吧?

我的buffer中保存只是一个很普通的数值,把字义为unsigned char,只是为了限制它的长度为一个Byte.
回复
sunliwen780502 2004-05-11
int i;
i = StrToInt(Edit1->Text);//取出Edit的内容赋给变量

如果buff数组中保存的是十六进制的数。可以这样做:
Memo1->Lines->Clear();
for (int i = 0; i < 256; i++)
{
Memo1->Lines->Add(buff[i]);
}
回复
相关推荐
发帖
VCL组件使用和开发
创建于2007-08-02

586

社区成员

C++ Builder VCL组件使用和开发
申请成为版主
帖子事件
创建了帖子
2004-05-10 04:44
社区公告
暂无公告