10进制 怎么能转换 16进制? 虽然友人回答了但 问题还没有解决 (10分)

A

ali001

Unregistered / Unconfirmed
GUEST, unregistred user!
edit1 上输入 10进制 数 后 按回车
edit2上 显示对应的 16进制数
我是刚开始学的, 希望 大家谅解!!!
 
DELPHI自带函数: IntToHex()
 
首部 function IntToHex(Value: Integer
Digits: Integer): string
overload
$[SysUtils.pas
首部 function IntToHex(Value: Int64
Digits: Integer): string
overload
$[SysUtils.pas
功能 返回整数Value转换成十六进制表现结果;Format('%.*x', [Digits, Value])
说明 参数Digits指定字符最小宽度;最小宽度不足时将用0填充
参考 function SysUtils.FmtStr
例子 Edit2.Text := IntToHex(SpinEdit1.Value, SpinEdit2.Value);
 
1 2 4 8 16 32 64 128 除以2
<--------------------
1 0 0 0 0 0 0 0 余数
 
要求按回车再转换就这样:
procedure TForm1.Edit1KeyPress(Sender: TObject
var Key: Char);
begin
if key=#13 then Edit2.Text:=IntToHex(StrToInt(Edit1.Text),1);
end;
你想每输入一个数字就转换就这样:
procedure TForm1.Edit1Change(Sender: TObject);
begin
Edit2.Text:=IntToHex(StrToInt(Edit1.Text),1);
end;
 
谢谢你拉
 
补充一下,如果Edit1.Text为空,会有出错信息,要避免它可以先检查:
if Edit1.Text='' then
Edit2.Text:='0'
else
Edit2.Text:=IntToHex(StrToInt(Edit1.Text),0);
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
2K
DelphiTeacher的专栏
D
顶部