在Delphi中可否定义类似C语言中“共同体”变量?如何用?(50分)

  • 主题发起人 主题发起人 fjqzmcc
  • 开始时间 开始时间
F

fjqzmcc

Unregistered / Unconfirmed
GUEST, unregistred user!
通过“共用体”将字符串存入用整形数读出。
 
使用等字节的case语句。但读出时需转换,因为Int和String/Pchar存放方式不同。
例如'1233'不能直接读出1233须转换。
 
我要用来转换如chr($22)+chr($23)+chr($22)+chr($23) 为$22232223
 
如果这样,可以。
 
就是变体型结构变量
type
TShapeList = (Rectangle, Triangle, Circle, Ellipse, Other);
TFigure = record
case TShapeList of
Rectangle: (Height, Width: Real);
Triangle: (Side1, Side2, Angle: Real);
Circle: (Radius: Real);
Ellipse, Other: ();
end;
 
问题解决了,用wr960204的方法,声明时还应加上packed 。
type
TShapeList = (Rectangle, Triangle, Circle, Ellipse, Other);
TFigure = packed record
case TShapeList of
Rectangle: (Height, Width: Real);
Triangle: (Side1, Side2, Angle: Real);
Circle: (Radius: Real);
Ellipse, Other: ();
end;

 
接受答案了.
 
后退
顶部