Разное
Последние книги
Самое популярное
Все бесплатно
Все ссылки на файлы, расположенные на страницах сайта, добавлены пользователями и доступны для бесплатного скачивания. За содержание этих файлов администрация сайта ответственности не несет.
Навигация
Вопросы
Быстрое копирование файлов
Категория: Файловая система
Категория: Файловая система
Удалить лишние символы из строки
Категория: Текст и строки
Категория: Текст и строки
Получение выделенного текста из компонента TWebBrowser
Категория: Интернет и Сети
Категория: Интернет и Сети
Подсветить часть текста в DBGrid
Категория: Компоненты
Категория: Компоненты
Как закачать файл из Интернета
Категория: Интернет и Сети
Категория: Интернет и Сети
Listbox - элементы вверх-вниз
Категория: Компоненты
Категория: Компоненты
Перегенерировать все индексы Dbase
Категория: Базы данных
Категория: Базы данных
Загрузка файлов в THTMLViewer и TFrameBrowser
Категория: Интернет и Сети
Категория: Интернет и Сети
Компоненты TrackBar и ScrollBar
Категория: Компоненты
Категория: Компоненты
Упаковать BD Accuracer
Категория: Базы данных
Категория: Базы данных
Delphi - Справочник: As
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. |