PASCAL语言(30分)

  • 主题发起人 主题发起人 cjsam
  • 开始时间 开始时间
C

cjsam

Unregistered / Unconfirmed
GUEST, unregistred user!
var
str:string;
test:array[0..3] of char;
begin
str:='123';
//怎样将strtoint(str)装换成16进制的值后再存到4个字节的test里去。
end;
 
不大明白,看看move函数,吃饭先
 
str := $+str;
str := inttohex(strtoint(str),4);
showmessage(str);
不知道你test要放什么内容。
 
是这样的,比如,我设的test变量是4个字节长度。
[red]如果我一个数是100,那就是$64,我将它安位存进去test里去就是
$64,#0,#0,#0,[/red]如果我将它转换出来就是:
inttostr( hextoint(bytetohex(ord(Test[3]]))+bytetohex(ord(Test[2]]))+
bytetohex(ord(Test[1]))+bytetohex(ord(Test[0]))) );
我是这样定义,相当于将一个数分到4为里存储,它最大也是2的32次方,用4个字节来放。
谢谢。
其中这两个函数是我自己定义的
hextoint
bytetohex
现在就是问红色的那部分
 
integer 就是 4 个字节的.直接用 integer
 
procedure TForm1.Button1Click(Sender: TObject);
var
x,i:integer;
p:pchar;
s:string;
begin
x:=200;
p:=pchar(@x);
s:=inttohex(integer(p^),2);
inc(p);
s:=s+' '+inttohex(integer(p^),2);
inc(p);
s:=s+' '+inttohex(integer(p^),2);
inc(p);
s:=s+' '+inttohex(integer(p^),2);
showmessage(s);// 结果为 64 0 0 0
// x=200 c8 0 0 0
end;
 
多人接受答案了。
 
后退
顶部