Простые (или элементарные) типы могут содержать элементы только одного типа. Например, тип integer относится к простым типам, и может содержать только положительные и отрицательные целые числа. Тип string может содержать только строки.
Структурные же типы могут содержать элементы произвольных типов. Некоторые из структурных типов (классы, или объекты) могут содержать даже процедуры и функции:
type
r = record
name, surname : string;
age : integer;
end;
obj = object
model : string;
doorsCount : integer;
function doorOpen(num : integer) : boolean;
end;