[蔡鸟提问题]请教各位大侠关于十六进制加法的问题!

clackey 2006-10-30 02:34:18
大家好!我对编程不是很熟,现在想实现以下功能,却不知如何做起!请高手指教!
从一个edit中提取一个数字假设为0098ea然后通过一个按钮,每点击一次就在edit中自动增加1
既click以后edit框中增加为0098eb,以此类推!
刚刚接触编程,基础甚弱,希望前辈们不吝赐教!
小弟在此万分感谢了!
...全文
154 点赞 收藏 5
写回复
5 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
powerbmw 2006-11-02
先strtoint,把字符串转换成integer型,然后+1
再strtohex转换成16进制数,
strtohex代码如下:
function TForm1.strtohex(str: string): DWORD;
var
i,j,m : integer;
temp,k : DWORD;
begin
i:=length(str);
j:=1;k:=0;
while(j<i+1) do
begin
case str[j] of
'0'..'9':
begin
temp:=1;
for m:=1 to (i-j) do temp:=16*temp;
temp:=temp*DWORD(strtoint(str[j]));
k:=k+temp;
end;
'A'..'F':
begin
temp:=1;
for m:=1 to (i-j) do temp:=16*temp;
temp:=temp*DWORD(ord(str[j])-ord('A')+10);
k:=k+temp;
end;
'a'..'f':
begin
temp:=1;
for m:=1 to (i-j) do temp:=16*temp;
temp:=temp*DWORD(ord(str[j])-ord('a')+10);
k:=k+temp;
end;
else
begin
result:=0;
exit;
end;
end;
inc(j);
end;
result:=k;
end;
回复
idealguy 2006-11-01
I:=strToInt(S) 把字符串S按照16进制的理解转变成整形,存入I.
H=int2hex(I) 把整数I转变成16进制表示的字符串,存入H。

没有StrToHex函数
回复
clackey 2006-10-30
var
a,b,c,d,f:integer;
uap,nap,lap,addr:string ;
begin

a:=strTohex(edit1.text);
b:=strTohex(edit2.Text);
c:=strTohex(edit3.text);
//uap:=int2hex(strTohex(edit1.text));
//nap:=int2hex(strtohex(edit2.Text));
//lap:=int2hex(strtohex(edit3.text));
//uap:=int2hex(a);
//nap:=int2hex(b);
//lap:=int2hex(c);
//d:=strTohex(lap);


//f:=strtohex(lap) + $1;
//addr:=int2hex(f);
//edit4.text:=int2hex(strTohex(lap));

//lap:=intTohex(lap,6);
//edit3.Text :=intTostr(f);

没引掉的是取值部分,其余的都是没实现的 希望能够对解答有所帮助!
小弟在此感谢各位高手了!
回复
clackey 2006-10-30
谢谢指教!主要是加法那一部分,我的程序算出来总是在第二次点击的时候给文本框负值为二进制的数!
希望能够具体解答以下!谢谢合作!
回复
天涯倦客 2006-10-30
参考 strtoint inttohex
回复
相关推荐
发帖
语言基础/算法/系统设计
创建于2007-08-02

1.6w+

社区成员

Delphi 语言基础/算法/系统设计
申请成为版主
帖子事件
创建了帖子
2006-10-30 02:34
社区公告
暂无公告