我定义了一个longint类型的变量a:=12,在内存中从低地址到高地址各Byte的值依次为12,0,0,0(高位在高地址),现在希望将存放的值逆转,即要使内存中从低地址到高地址各Byte的值依次为0,0,0,12(高位在低地址),以便实现网络传送。不知道该怎么实现?
解决方案 »
- 求动态更换程序图片思路和方法(高手进)
- 有没作证券的朋友,问下怎么得到及时股票价格
- 如何实现让一个Edit只允许输入数字?
- 将cad文件显示,怎么只看到部分???
- 如何动态加载并显示 Formula One 控件?
- 我的应用服务器有时会处于龟息状态,检查内存和CPU的使用都很稳定,但是它就是不响应其他的请求,可能要过个十几分钟才行,请大家畅所欲
- 高手请进,马上解决
- 用Canvas.Draw函数画图时,怎么才能不显示Tbitmap的背景色?
- 发现Delphi封装性的一个问题,在同一个Unit中,无封装可言!!!!!!!!!!!!!!!!!
- 如何用ADO在SQL Sever 7中存入jpg图像
- 这是不是delphi的一个bug?关于在dll中使用ADO连接数据库。
- wwDbEdit的高度大於21時,其PasswordChar屬性有問題,有否方法解決?
function Change(V: Integer): Integer;
var
I: Integer;
Src, Dst: PByte;
begin
Src := @V;
Dst := Integer(@Result) + SizeOf(Integer);
for I := 0 to SizeOf(Integer) - 1 do
begin
Dst^ := Src^;
Inc(Src);
Dec(Dst);
end;
end;
function Change(V: Integer): Integer;
var
I: Integer;
Src, Dst: PByte;
begin
Src := @V;
Dst := Pointer(Integer(@Result) + SizeOf(Integer));
for I := 0 to SizeOf(Integer) - 1 do
begin
Dst^ := Src^;
Inc(Src);
Dec(Dst);
end;
end;
你什么网络?发个Integer的字节顺序都不一样?
你只是得到了转换顺序后的值,并没有改变变量V的内存存放值。
因为服务器是Linux平台,变量在内存中的字节存放顺序正好我机器的相反。