Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.10.01;
Скачать: CL | DM;

Вниз

Типы данных со словом type   Найти похожие ветки 

 
p314   (2006-09-10 21:36) [0]

1. Читаю в книжке про это, но не понимаю, зачем это может пригодится? Покажите несколько примеров, в которых следует прибегать к этому.

2. Так же интересно узнать, зачем нужно делать вот так, процитирую "Если же переменные A и B принадлежат простым типам данных, то оператор присваивания будет работать":
type
 TType1 = Integer;
 TType2 = type TType1;
var
 A: TType1;
 B: TType2;
begin
 B := A; // Работает
end.

Какой смысл в этом? Зачем создавать новый тип со словом type от простого типа данных?


 
Джо ©   (2006-09-10 21:40) [1]

> Зачем

Чтобы явно отличать один тип от другого, например для регистрации своего редактора свойств.


 
begin...end ©   (2006-09-10 21:43) [2]

См. раздел справки Delphi Language Guide -> Data types, variables, and constants -> Declaring types.


 
p314   (2006-09-10 21:52) [3]

Ну смотрите, взял пример из справки:
type
 TMyType = type Integer
procedure p(var t:TMyType);
begin end;

procedure x;
var
 m: TMyType;
 i: Integer;
begin
 p(m); //Works
 p(i); //Error! Types of formal and actual must be identical.
end;


Зачем вообще делать TMyType = type Integer, т.е. эффект от TMyType =  Integer был бы тот-же.


 
Zeqfreed ©   (2006-09-10 21:58) [4]

> [3] p314   (10.09.06 21:52)


> т.е. эффект от TMyType =  Integer был бы тот-же.

А проверить?


 
p314   (2006-09-10 22:02) [5]

Я проверил, единственное что случилось — это, то что Integer"овая переменная замечательно работает в таком случае. Т.е. единственный смысл такой конструкции в том, что бы четко различать типы переменных?


 
Джо ©   (2006-09-10 22:08) [6]

> Т.е. единственный смысл такой конструкции в том, что бы
> четко различать типы переменных?

В общем, да.
Семантически так:
type
 SomeType = Integer; // объявление "синонима" для типа
 SomeType = type Integer; // объявление нового типа, у которого будет своя run-time type information.



Страницы: 1 вся ветка

Текущий архив: 2006.10.01;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.028 c
15-1158046046
Бугага
2006-09-12 11:27
2006.10.01
Еще одна :)


15-1157394084
Real
2006-09-04 22:21
2006.10.01
PHP - человеческий чат на нем посоветуйте?


2-1157920671
Ivanov
2006-09-11 00:37
2006.10.01
Проблема с dll


2-1158056617
dest81
2006-09-12 14:23
2006.10.01
*.odb


15-1157699759
AxelBlack
2006-09-08 11:15
2006.10.01
Как удалить StarTeam из главного меню Delphi2005?