Главная страница
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.48 MB
Время: 0.039 c
2-1157907446
_Гость_
2006-09-10 20:57
2006.10.01
Промогите решить проблему


4-1148307365
sholom
2006-05-22 18:16
2006.10.01
Подключить к COM-порту или USB


15-1157988739
Дураг
2006-09-11 19:32
2006.10.01
Два “тяжелых” вопроса на сегодняшнем кандминимуме.


1-1155723489
Aleksandr.
2006-08-16 14:18
2006.10.01
Как отключать нажатие кнопок после выбора системной кнопки Help?


15-1158043857
Шмель
2006-09-12 10:50
2006.10.01
Какими средствами бороться с похмельем!!??