1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
|
program TypeSize;
{$APPTYPE CONSOLE}
uses
SysUtils;
type
Emnu = (one, two, three, four);
Range1 = $0..$FF;
Range2 = $0..$FFFF;
Range3 = $0..$FFFFFFFF;
arr1 = array of Byte;
arr2 = array[0..9] of Byte;
arr3 = array[0..9] of Integer;
rcd1 = record
end;
rcd2 = record
b: Byte;
end;
rcd3 = record
i: Integer;
end;
rcd4 = record
i: Integer;
j: Integer;
end;
rcd5 = record
b: Byte;
i: Integer;
end;
rcd6 = record
r: Real;
end;
rcd7 = record
r: Real;
i: Integer;
end;
obj1 = object
end;
obj2 = object
c: Char;
end;
obj3 = object
i: Integer;
o: obj2;
end;
begin
Writeln(' Type | Bytes');
Writeln('--------------------------------');
Writeln('AnsiChar = ', SizeOf(AnsiChar));
Writeln('WideChar = ', SizeOf(WideChar));
Writeln('Char = ', SizeOf(Char));
Writeln('Byte = ', SizeOf(Byte));
Writeln('ShortInt = ', SizeOf(ShortInt));
Writeln('SmallInt = ', SizeOf(SmallInt));
Writeln('LongInt = ', SizeOf(LongInt));
Writeln('Int64 = ', SizeOf(Int64));
Writeln('Byte = ', SizeOf(Byte));
Writeln('Word = ', SizeOf(Word));
Writeln('LongWord = ', SizeOf(LongWord));
Writeln('Integer = ', SizeOf(Integer));
Writeln('Cardinal = ', SizeOf(Cardinal));
Writeln('Boolean = ', SizeOf(Boolean));
Writeln('ByteBool = ', SizeOf(ByteBool));
Writeln('WordBool = ', SizeOf(WordBool));
Writeln('LongBool = ', SizeOf(LongBool));
Writeln('Single = ', SizeOf(Single));
Writeln('Real48 = ', SizeOf(Real48));
Writeln('Double = ', SizeOf(Double));
Writeln('Extended = ', SizeOf(Extended));
Writeln('Comp = ', SizeOf(Comp));
Writeln('Currency = ', SizeOf(Currency));
Writeln('Real = ', SizeOf(Real));
Writeln('ShortString = ', SizeOf(ShortString));
Writeln('AnsiString = ', SizeOf(AnsiString));
Writeln('WideString = ', SizeOf(WideString));
Writeln('String = ', SizeOf(string));
Writeln('Variant = ', SizeOf(Variant));
Writeln('Pointer = ', SizeOf(Pointer));
Writeln('--------------------------------');
Writeln('Emnu = ', SizeOf(Emnu));
Writeln('Range(0,FF) = ', SizeOf(Range1));
Writeln('Range(0,FFFF) = ', SizeOf(Range2));
Writeln('Range(0,FFFFFFFF) = ', SizeOf(Range3));
Writeln('Array() = ', SizeOf(arr1));
Writeln('Array(10)Byte = ', SizeOf(arr2));
Writeln('Array(10)Int = ', SizeOf(arr3));
Writeln('Record() = ', SizeOf(rcd1));
Writeln('Record(1 byte) = ', SizeOf(rcd2));
Writeln('Record(1 int) = ', SizeOf(rcd3));
Writeln('Record(2 int) = ', SizeOf(rcd4));
Writeln('Record(1 byte, 1 int) = ', SizeOf(rcd5));
Writeln('Record(1 real) = ', SizeOf(rcd6));
Writeln('Record(1 real, 1 int) = ', SizeOf(rcd7));
Writeln('Object() = ', SizeOf(obj1));
Writeln('Object(1 char) = ', SizeOf(obj2));
Writeln('Object(1 int, 1 obj(char)) = ', SizeOf(obj3));
Readln;
end.
|