Главная страница
    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.012 c
3-1154405567
AVK
2006-08-01 08:12
2006.10.01
Oracle. Проблема c вызовом функций. DAO


15-1157827391
МП3плеер
2006-09-09 22:43
2006.10.01
mp3 Английский


3-1153910073
Алексий
2006-07-26 14:34
2006.10.01
ZeosDBO и SHH


15-1158051023
worldmen
2006-09-12 12:50
2006.10.01
Проблема с компом.


2-1157707015
aromasloru
2006-09-08 13:16
2006.10.01
Болезнь имеет запах!





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский