Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2006.10.01;
Скачать: [xml.tar.bz2];

Вниз

Типы данных со словом 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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.032 c
2-1157706940
Urvin
2006-09-08 13:15
2006.10.01
Положение мыши на экране


2-1158241751
megasecure
2006-09-14 17:49
2006.10.01
Индексы в MSSQL


2-1157984741
SamProf
2006-09-11 18:25
2006.10.01
TForm.onShow или как там


1-1156147536
webpauk
2006-08-21 12:05
2006.10.01
Диагональная заливка


2-1157821457
Leyhont
2006-09-09 21:04
2006.10.01
SQL запрос





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский