Разное
Облака / Clouds
The bast cloud service
Get 20 GB free!!!
Support WebDav.
Show more >>
time-tested cloud storage
Support WebDav.
Последние книги
Самое популярное
Все бесплатно
Все ссылки на файлы, расположенные на страницах сайта, добавлены пользователями и доступны для бесплатного скачивания. За содержание этих файлов администрация сайта ответственности не несет.
Навигация
Вопросы
Как получить дату создания файла
Категория: Файловая система
Категория: Файловая система
Компонент SpeedButton
Категория: Компоненты
Категория: Компоненты
Определение размера файла
Категория: Файловая система
Категория: Файловая система
Упаковать *.mdb-файл
Категория: Базы данных
Категория: Базы данных
Wav файл внутри exe-файла
Категория: Файловая система
Категория: Файловая система
Номер строки в memo под курсором
Категория: Текст и строки
Категория: Текст и строки
Как произвести поиск файлов во вложенных папках
Категория: Файловая система
Категория: Файловая система
Корректное колесико мыши
Категория: Приложение
Категория: Приложение
Округление целого числа до 5
Категория: Математика
Категория: Математика
Округление времени до 5 мин
Категория: Базы данных
Категория: Базы данных
Delphi - Справочник: Type
Type
|
1 type Name = Existing type; 2 type Name = type Existing type; 3 type Name = (EnumValue1 [=value], EnumValue2 [=value] ...); 4 type Name = Expression1..Expression2; 5 type Name = ^Existing type; 6 type Name = array[...] of Existing type; 7 type Name = class ... end; 8 type Name = class of Existing class 9 type Name = dispinterface ... end; 10 type Name = file of Existing type; 11 type Name = function ...; 12 type Name = interface ... end; 13 type Name = object ... end; 14 type Name = procedure ...; 15 type Name = record ... end; 16 type Name = set of Ordinal values |
Ключевое слово (Unit )
|
Определяет новую категорию переменной или процесса
|
Описание:
|
Ключевое слово Type является фундаментальной частью Delphi. В отличие от других языков, оно позволяет создать новые категории (типы) переменной и процесса. На эти новоявленные категории можно сослаться так же, как если бы они были частью языка. Например: type TCourtCards = (Ace, Jack, Queen, King); позволяет определить новую переменную этого "типа": var Card : TCourtCard; Card := Queen; Есть полезное соглашение - приставлять T к именам (Name) типов. 1.type Name = Existing type Обращается к существующему типу, такому как string, но с новым Названием. 2.type Name = type Existing type Это имеет тот же самый эффект, что и выше, но гарантирует, что во время выполнения, переменные этого типа будут идентифицированы по новому названию типа, а не существующим названием типа. 3.type Name = (EnumValue1, EnumValue2 ...) Определяет перечисляемый тип, со значениями EnumValu1, EnumValue2 и так далее. Эти, определяемые пользователем названия, позволяют представлять всевозможные значения для перечислений. Эти значения должны быть уникальными в вашей программе. После определения в типе, на них можно сослаться двумя способами: когда ссылаются/присваивают переменную этого типа, и как числовое значение, используя ключевое слово Ord. См. пример. Обратите внимание, что эти перечисления имеют значения 0, 1, 2 и т.д. в зависимости от позиции на определении, если это значение не предписано указанным номером =value. Например: type Days = (Monday = 1, Tuesday, Wed ...); где понедельник будет установлен в 1, вторник - 2, среда - 3 и так далее. 4.type Name = Expression1..Expression2 Здесь мы имеем диапазон целых чисел или символов от Expression1 до Expression2. Expression1 и Expression2 - выражения, которые могут быть приведены к целому числу или символу. Например: type TAlphabet = 'A'..'z'; часто используется, чтобы определить диапазон символов от прописной A до строчной z. 5.type Name = ^Existing type "^" - указатель на существующий тип. Он часто используется для перемещения через наборы записей. 6.type Name = array[...] of existing type Структурированный тип, формирует массив типов как новый тип. 7.type Name = class ... end Механизм для определения нового класса. См. ключевое слово Class. 8.type Name = class of existing class Это обеспечивает определение мета класса. См. ключевое слово Class. 9.type Name = dispinterface ... end См. ключевое слово Dispinterface. 10.type Name = file of Existing type Определяет тип для обращения к файлу, который содержит записи данного существующего типа (по умолчанию, файлы обрабатываются как содержащие двоичные данные). 11.type Name = function ... Определяет функцию как тип, позволяя функции быть определенной как параметр для подпрограммы. 12.type Name = interface ... end Механизм для определения интерфейс. См. ключевое слово Interface. 13.type Name = object ... end Устаревший эквивалент определения класса. 14.type Name = procedure ... Определяет функцию как тип, позволяя функции быть определенной как параметр для подпрограммы. 15.type Name = record ... end Формирует структуру данных под данным именем (Name). См. ключевое слово Record. 16.type Name = set of Ordinal values Набор порядковых значений определяющих диапазон целых чисел или символов. См. ключевое слово Set. |
Пример кода: Примеры некоторых из этих типов
|
Type TString1 = string; // 1. type Name = Existing type TString2 = type string; // 2. type Name = type Existing type TTemp = (Hot, Warm, Cold); // 3. type Name = (Enum1, Enum2 ...) TExpr = 5*2 .. 6*3; // 4. type Name = Expr1 .. Expr2 // 5. См. ключевое слово Pointer TArray = array[1..3] of byte; // 6. type Name = array[...] of type // 7. См. код // 8. См. ключевое слово Class // 9. См. ключевое слово Dispinterface // 10. См. ключевое слово File // 11. См. ключевое слово Function // 12. См. ключевое слово Interface // 13. Устаревший // 14. См. ключевое слово Procedure TRecord = record // 15. type Name = record .. end; header : string; value : Integer; end; TLetters = set of 'A'..'z'; // 16. type Name = set of Ordinals var // Объявление переменных, использующих вышеупомянутые типы firstName : TString1; lastName : TString2; temperature : TTemp; expression : TExpr; myArray : TArray; myRecord : TRecord; letters : TLetters; begin // Присвоение значений этим типам firstName := 'Neil'; lastName := 'Moffatt'; temperature := Cold; expression := 10; myArray[1] := 5; myRecord.header := 'data file'; letters := ['F'..'Q']; end;
Результат:
|
Программа выполняется без вывода |