Облака / 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.
Все бесплатно
    Все ссылки на файлы, расположенные на страницах сайта, добавлены пользователями и доступны для бесплатного скачивания. За содержание этих файлов администрация сайта ответственности не несет.



Вопросы
  Быстрое копирование файлов
   Категория: Файловая система
  Компоненты TrackBar и ScrollBar
   Категория: Компоненты
  Поиск по EasyTable
   Категория: Базы данных
  Удалить пробелы в начале и конце
   Категория: Текст и строки
  Отступ в Memo
   Категория: Компоненты
  Автоматическое определения кодировки текста
   Категория: Текст и строки
  Удалить лишние символы из строки
   Категория: Текст и строки
  Изменить пароль для Paradox
   Категория: Базы данных
  Узнать запущен ли сервис FireBird
   Категория: Интернет и Сети

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

ABCDEFGHIJKLMNOPQRSTUVWXYZ

  << Вернуться  

 Published
type Class declaration
Published
Field | Property | Method declaration
{...}
end;
Деректива (Unit )
Начинается изданный, внешне доступный раздел класса
Описание:
Директива Published начинает раздел объявлений определения класса. В разделе Published, Поля(Fields), Свойства(Properties) и Методы(Methods) объявлены как доступные для этого класса и классов, происходящих от этого, и код используют экземпляры класса. И информация об этих доступах зарегистрирована в рантайм информации для класса.

Поскольку public и published доступ обеспечивает связь видов с внешним кодом, Вы должны избегать везде, где возможно, создание изменений в этих разделах.
Пример кода: Простой пример

// Полный код Модуля. // ----------------------------------------------------------- // Вы должны поместить этот код в модуль с именем Unit1 и с формой // названную Form1, которая имеет событие OnCreate названное FormCreate. unit Unit1; interface uses Forms, Dialogs, Classes, Controls, StdCtrls, SysUtils; type // Определение базового класса TSquare : TSquare = class private // Известный только внутренне squareArea, squareWidth, squareHeight : Integer; Published // Известный внешне: также имеет информацию во время выполнения property width : Integer read squareWidth; property height : Integer read squareHeight; property area : Integer read squareArea; constructor Create(width, height : Integer); end; // Определение класса формы используемой этим модулем TForm1 = class(TForm) procedure FormCreate(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} // Вложение определений формы // Создание объекта TSquare constructor TSquare.Create(width, height: Integer); begin // Сохранение ширины и высоты squareWidth := width; squareHeight := height; // И вычисление и сохранение площади квадрата squareArea := width * height; end; // Основная линия кода procedure TForm1.FormCreate(Sender: TObject); var mySquare : TSquare; begin // Создание объекта square mySquare := TSquare.Create(30, 40); // Каковы атрибуты квадрата ? : ShowMessageFmt('Площадь квадрата = %d * %d = %d', [mySquare.width, mySquare.height, mySquare.area]); end; end.

Результат:
Площадь квадрата = 30 * 40 = 1200
Примечание:
Предупреждение: избегайте делания полей published - всегда лучше определить свойство, чтобы ним обращаться. Это обеспечивает некоторое разъединение от внутренней организации класса.

Только один Constructor может быть объявлен столь как published - overload версии должны быть определены как public.

Published свойства не могут возвращать массивы.

  << Вернуться