Все бесплатно
    Все ссылки на файлы, расположенные на страницах сайта, добавлены пользователями и доступны для бесплатного скачивания. За содержание этих файлов администрация сайта ответственности не несет.



Вопросы
  Быстрое копирование файлов
   Категория: Файловая система
  Удалить лишние символы из строки
   Категория: Текст и строки
  Подсветить часть текста в DBGrid
   Категория: Компоненты
  Как закачать файл из Интернета
   Категория: Интернет и Сети
  Listbox - элементы вверх-вниз
   Категория: Компоненты
  Перегенерировать все индексы Dbase
   Категория: Базы данных
  Загрузка файлов в THTMLViewer и TFrameBrowser
   Категория: Интернет и Сети
  Компоненты TrackBar и ScrollBar
   Категория: Компоненты
  Упаковать BD Accuracer
   Категория: Базы данных

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

ABCDEFGHIJKLMNOPQRSTUVWXYZ

  << Вернуться  

 As
1 Object reference as Class type

2 Object reference | Interface reference as Interface type
Ключевое слово (Unit )
Используется для приведения объектных ссылок
Описание:
Ключевое слово As используется для приведения объектов или интерфейсов от одного типа к другому.

Приведение позволяет объекту быть упомянутым родительским типом класса. Например, все объекты могут упомянуться, как тип класса TObject :

button1 := Button1 as TObject;

Если объект уже был приведен к родительскому типу класса, то разрешается приведение к правильному дочернему типу класса. Код примера показывает это для объекта класса TForm класса, когда он передаётся как тип TObject к методу формы OnCreate.
Пример кода: Приведение используя традиционное приведение и приведение as

var myForm : TForm; myForm1 : TForm1; myByte : Byte; myChar : Char; begin myByte := 65; // Приведение этого Byte к Char, используя стандартный метод приведения myChar := Char(myByte); ShowMessage('Стандартное приведение myByte к Char = '+myChar); // Приведите Form к myForm, используя стандартное приведение myForm := TForm1(Sender); ShowMessage('Используя стандартное приведение Sender = '+myForm.Caption); // Cast the form using the as keyword myForm := Sender As TForm; ShowMessage('Sender как допустимый порожденный = '+myForm.Caption); myForm := Sender As TForm1; ShowMessage('Sender сам непосредственно = '+myForm.Caption); // Создание нового объекта TForm, а не TForm1 myForm := TForm.Create(self); myForm.Caption := 'New form'; // Стандартное приведение не делает никакой проверки, если мы приводим TForm к TForm1 myForm1 := TForm1(myForm); ShowMessage('Стандартное приведение к неправильному порожденному = '+myForm1.Caption); // Приведение используя 'as' отклоняющего приведение к недопустимому дочернему объекту myForm1 := myForm As TForm1; // Следующие приведения ошибки EInvalidCast ShowMessage('Приведение As к плохому типу = '+myForm1.Caption); end;

Результат:
Стандартное приведение myByte к Char = A
Используя стандартное приведение Sender = Form1
Sender как допустимый порожденный = Form1
Sender сам непосредственно = Form1
Стандартное приведение к неправильному порожденному = New form

EInvalidCast error : 'Invalid cast type'
Примечание:
Используйте ключевое слово Is для проверки качеств приведения прежде чем испытывать приведение.

При попытке использования значения недопустимого приведения оно выдает EInvalidCast.

  << Вернуться