Облака / Clouds
    Go to Copy.com
    Copy.com
    The bast cloud service
    Get 20 GB free!!!
    Support WebDav.
    Show more >>

    Go to Dropbox.com
    Dropbox.com
    time-tested cloud storage
    Support WebDav.
Все бесплатно
    Все ссылки на файлы, расположенные на страницах сайта, добавлены пользователями и доступны для бесплатного скачивания. За содержание этих файлов администрация сайта ответственности не несет.



Вопросы
  Как получить дату создания файла
   Категория: Файловая система
  Компонент SpeedButton
   Категория: Компоненты
  Определение размера файла
   Категория: Файловая система
  Упаковать *.mdb-файл
   Категория: Базы данных
  Wav файл внутри exe-файла
   Категория: Файловая система
  Номер строки в memo под курсором
   Категория: Текст и строки
  Как произвести поиск файлов во вложенных папках
   Категория: Файловая система
  Корректное колесико мыши
   Категория: Приложение
  Округление целого числа до 5
   Категория: Математика
  Округление времени до 5 мин
   Категория: Базы данных

Delphi - Справочник: Type

ABCDEFGHIJKLMNOPQRSTUVWXYZ

  << Вернуться  

 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;

Результат:
Программа выполняется без вывода

  << Вернуться