Главная страница
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.042 c
3-1154318587
VadimSpb
2006-07-31 08:03
2006.10.01
Проблема с датой


15-1157806670
Сергуня
2006-09-09 16:57
2006.10.01
Что будет в будущем с Россией и с нами


15-1158048993
Виталий Панасенко
2006-09-12 12:16
2006.10.01
Turbo Delphi


1-1156240254
Хам
2006-08-22 13:50
2006.10.01
Компонент Treeview


1-1155736066
bvn123
2006-08-16 17:47
2006.10.01
Событие/сообщение в DLL, автоматически обрабатываемое в main