Показать сообщение отдельно
Старый 10.03.2009, 12:56   #11
gost6681
Оператор ЭВМ
 
Регистрация: 06.11.2008
Сообщений: 26
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: Как создать переменную без типа?

вот что нашел в стандартном факе, может быть это подойдет?:

Данная особенность языка позволяет создавать собственные типы данных, являющиеся совокупностью других типов. Например, если вы пишете игру, где игрок управляет персонажем на экране, вы вполне можете использовать комбинированный тип для описания позиции, здоровья и прочих параметров персонажа:

type heroType = record
positionX, positionY: integer;
health: integer;
end;

Чтобы создать переменную свежезаданного типа, используйте обычную формулировку в секции 'var':

var hero: heroType;

Также вы можете использовать созданный тип в качестве параметра, при описании процедур и функций:

function isHeroDead(hero: heroType): boolean;
begin
if (hero.health <= 0) then
isHeroDead := true;
else
isHeroDead := false;
end;

Новый тип может быть определен непосредственно в секции 'var':

var hero: record
positionX, positionY: integer;
health: integer;
end;

Чтобы получить доступ к отдельным элементам комбинированного типа, используйте оператор "." (точка):

...
{ передвигаем персонажа вправо }
hero.positionX := hero.positionX + 1;
...

Нельзя копировать впрямую из переменной в переменную данного типа:

var
a, b: record
x: integer;
end;
begin
...
a := b; { это - неправильно }
...
a.x := b.x; { нужно копировать каждый элемент комбинированного типа }
end.
(Offline)
 
Ответить с цитированием