如果: case integer of 0: (x,y,z: integer); 1: (ar: array[0..2] of integer); end; 这样用能用吗?
如果: Type Tmyrec=record case Double of 0: (x,y,z: Double); 1: (ar: array[0..2] of Double); end; 这样用能用吗?
可以,不过得这样定义 Tmyrec=record case integer of 0: (x,y,z: Double); 1: (ar: array[0..2] of Double); end;这是测试代码 var rec: Tmyrec; begin rec.x:=12.5; showmessage(floattostr(rec.ar[0])); end;
f,e:single;
b:array[0..6] of byte absolute f;
type
arr12=array [0..11] of byte;
parr12=^arr12;
var
a,b,c:integer;
pa:Parr12;
begin
pa:=@a;
数组 pa^ 就使用a,b,c的空间了
Var
a,b,c : Integer ;
而非连续定义的变量好象不行,如
Var
a,b : Integer ;
pa:Parr12;
c : Integer ;
case integer of
0:
(x,y,z: word);
1:
(ar: array[0..5] of byte);
end;
case integer of
0:
(x,y,z: word);
1:
(ar: array[0..5] of byte);
end;
case integer of
0:
(x,y,z: integer);
1:
(ar: array[0..2] of integer);
end;
这样用能用吗?
Type
Tmyrec=record
case Double of
0:
(x,y,z: Double);
1:
(ar: array[0..2] of Double);
end;
这样用能用吗?
Tmyrec=record
case integer of
0:
(x,y,z: Double);
1:
(ar: array[0..2] of Double);
end;这是测试代码
var
rec: Tmyrec;
begin
rec.x:=12.5;
showmessage(floattostr(rec.ar[0]));
end;