记录类型和整型之间的转换------------回答正确立刻给分(50分)

  • 主题发起人 主题发起人 DragonInCity
  • 开始时间 开始时间
D

DragonInCity

Unregistered / Unconfirmed
GUEST, unregistred user!
例:
RLog=record
a1:String;
a2:string;
procedure button1click(Sender: TObject);
var
Log:RLog;
LogPt:Longint;
begin
Log.a1:='11';
Log.a2:='22';
LogPt:=Longint(@Log);//将记录类型转换为Longint类型

//???????如何再将LogPt转换为记录类型????
end;
 
其实LOGPT保存的是一个指针
你再用一个指针变量就可以了
 
type
PRLog = ^RLog;
RLog=record
a1:String;
a2:string;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
Log,log1:RLog;
LogPt:Longint;

begin
Log.a1:='11';
Log.a2:='22';
LogPt:=Longint(@Log);//将记录类型转换为Longint类型
memo1.Lines.Add(inttohex(logpt,8));
log1 := PRLog(logpt)^;
memo1.Lines.Add(log1.a1);
memo1.Lines.Add(log1.a2);
end;
 
to wp231957
  是不是这样?
PLog=^RLog

showmessage(PLog(LogPt)^.a1);
 
谢谢fadey,接分
 
后退
顶部