- •Содержание
- •1. PASCAL
- •1.1 Алфавит
- •1.2 Типы данных
- •1.3 Переменные
- •1.4 Константы
- •1.5 Стандартные функции
- •1.6 Выражения
- •1.7 Операторы
- •1.7.1 Оператор присваивания
- •1.7.2 Составной оператор
- •1.7.3 Условный оператор IF
- •1.7.4 Условный оператор CASE
- •1.7.5 Оператор цикла FOR
- •1.7.6 Оператор цикла REPEAT
- •1.7.7 Оператор цикла WHILE
- •1.8 Одномерные массивы
- •1.9 Многомерные массивы
- •1.10 Строки
- •1.11 Записи
- •1.12 Множества
- •1.13 Пользовательские типы
- •1.14 Файлы
- •1.15 Перечисляемый тип
- •1.16 Тип-диапазон
- •1.17 Функции и процедуры
- •1.18 Локализация имен
- •1.19 Модули
- •1.20 Операторы прерывания
- •1.21 Комментарии
- •1.22 Указатели
- •1.23 Динамические массивы Delphi
- •2. Основные положения ООП
- •3. Базовые классы Delphi
- •3.1 TObject
- •3.2 Exception
- •3.3 TList
- •3.4 TPersistent
- •3.5 TCollection
- •3.6 TCollectionItem
- •3.7 TStrings
- •3.8 TStringList
- •3.9 TGraphicsObject
- •3.10 TPen
- •3.11 TBrush
- •3.12 TCanvas
- •3.13 TGraphics
- •3.14 TPicture
- •3.15 TComponent
- •3.16 TControl
- •3.17 TWinControl
- •3.18 TGraphicControl
- •3.19 TTimer
- •3.20 TThread
- •3.21 TTreeView
- •3.22 TTreeNodes
- •3.23 TTreeNode
- •3.24 TForm
- •3.25 TMainMenu
- •3.26 TMenuItem
- •3.27 TStatusBar
- •3.28 TStatusPanels
- •3.29 TStatusPanel
- •3.30 TToolBar
- •3.31 TToolButton
- •3.32 TActionList
- •3.33 TAction
49
3.5 TCollection
Класс TCollection является наследником TPersistent и служит для создания коллекции из объектов, наследуемых от TCollectionItem. Класс TCollection похож на TList, однако использование определенного класса объектов в качестве элемента дает ряд преимуществ.
Некоторые свойства и методы класса TCollection:
property Count: Integer; – определяет число элементов в коллекции;
property ItemClass: TCollectionItemClass; – определяет класс элементов по умолчанию;
property Items[Index: Integer]: TCollectionItem; – обеспечивает возможность доступа к элементу коллекции по его индексу;
procedure Clear; – удаляет все элементы из коллекции и разрушает их;
constructor Create(ItemClass: TCollectionItemClass); – создание коллекции,
требующее указание класса элемента коллекции;
function FindItemID(ID: Integer): TCollectionItem; – обеспечивает возможность доступа к элементу коллекции по его идентификатору.
Несмотря на задание класса элемента при создании коллекции, в нее можно добавлять любой элемент – наследник от TCollectionItem. Однако в этом случае требуется проверка класса элемента перед извлечением.
Первый элемент коллекции имеет индекс 0, второй - 1 и т.д.
3.6 TCollectionItem
Класс TCollectionItem является наследником TPersistent и служит для создания объектов, которые размещаются в коллекции.
Некоторые свойства и методы класса TCollectionItem:
property Collection: Tcollection; – указывает на коллекцию, в которой находится элемент, и позволяет переносить элемент из одной коллекции в другую;
property ID: Integer; – идентификатор элемента в коллекции. Присваивается при добавлении элемента в коллекцию и является уникальным для данной коллекции. Если элемент удаляется из коллекции, то его идентификатор не может быть больше никому присвоен;
property Index: Integer; – индекс элемента в коллекции, показывающий его текущее положение;
constructor Create(Collection: TCollection); virtual; – создание элемента кол-
лекции, с указанием коллекции, в которую он помещается. Каждый объект, наследуемый от TCollectionItem, может располагаться в одной и только одной коллекции.
За счет наличия у элемента коллекции свойства ID, слежение за элементов коллекции значительно проще, чем за элементом списка.
50
3.7 TStrings
Абстрактный класс TStrings является наследником TPersistent и служит основой для всех объектов, представляющих собой список строк. Он позволяет:
добавлять и удалять элементы с указанием конкретных позиций;
находить строки и получать к ним доступ;
читать и записывать строки в потоки и файлы;
связывать с каждой строкой какой-либо объект.
Некоторые свойства и методы класса TStrings:
property Count: Integer; – определяет количество строк в списке;
property Objects[Index: Integer]: TObject; – организует доступ к объекту, свя-
занному с конкретной строкой;
property Strings[Index: Integer]: string; – организует доступ к заданной строке;
function Add(const S: string): Integer; virtual; – добавляет строку в конец спис-
ка;
function AddObject(const S: string; AObject: TObject): Integer; virtual; – добав-
ляет строку в конец списка и связывает с ней заданный объект;
procedure AddStrings(Strings: TStrings); virtual; – добавляет набор строк в ко-
нец списка;
procedure Clear; virtual; abstract; – удаляет все строки из списка и разрушает связи со всеми объектам;
procedure Delete(Index: Integer); virtual; abstract; – удаляет заданную строку из списка;
function IndexOf(const S: string): Integer; virtual; – позволяет получить индекс заданной строки;
function IndexOfObject(AObject: TObject): Integer; – позволяет получить ин-
декс строки, с которой связан заданный объект;
procedure Insert(Index: Integer; const S: string); virtual; abstract; – добавляет новую строку в заданное место;
procedure InsertObject(Index: Integer; const S: string; AObject: TObject); – до-
бавляет новую строку в заданное место и связывает с ней заданный объект;
procedure LoadFromFile(const FileName: string); virtual; – позволяет загрузить набор строк из файла;
procedure SaveToFile(const FileName: string); virtual; – позволяет сохранить набор строк в заданном файле;
Первый элемент списка имеет индекс 0, второй - 1 и т.д.
3.8TStringList
Класс TStringList является наследником TStrings и позволяет наряду с функциями предка:
сортировать строки;
проверять дублирование строк;
51
генерировать события при изменении списка строк. Некоторые свойства и методы класса TStringList:
property Duplicates: TDuplicates; – определяет поведение списка при обнаружении дубляжа строк;
property Sorted: Boolean; – определяет, требуется ли сортировать строки;
procedure Sort; virtual; – вызов сортировки, когда свойство Sorted имеет зна-
чение False;
property OnChange: TNotifyEvent; – определяет действия, выполняемые после изменения списка строк;
property OnChanging: TNotifyEvent; – определяет действия, выполняемые пе-
ред изменением списка строк.
3.9 TGraphicsObject
Абстрактный класс TGraphicsObject является наследником TPersistent и служит базой для объектов, в которые входят графические объекты Windows:
TBrush, TFont и TPen.
Класс TGraphicsObject предоставляет наследникам механизм реагирования на изменение в свойствах графического объекта:
property OnChange: TNotifyEvent; – описывает действия, выполняемые сразу после изменения свойств графического объекта.
3.10TPen
Класс TPen является наследником TGraphicsObject и используется для рисования линий и границ контуров на поверхности рисования TCanvas.
Некоторые свойства и методы класса TPen:
property Color: TColor; – определяет цвет рисования;
property Mode: TPenMode; – определяет способы комбинирования цвета линии с цветом фона;
property Style: TPenStyle; – определяет тип линии (сплошная, штриховая и т.д.);
property Width: Integer; – определяет ширину линии.
3.11 TBrush
Класс TBrush является наследником TGraphicsObject и используется для заполнения замкнутых областей.
Некоторые свойства и методы класса TBrush:
property Bitmap: TBitmap; – описывает внешнее изображение, используемое в качестве образца заполнения;
property Color: TColor; – определяет цвет заполнения;
52
property Style:TBrushStyle; – определяет тип образца заполнения.
3.12 TCanvas
Класс TCanvas является наследником TPersistent и служит базой для создания поверхностей рисования у объектов. Он:
предоставляет объектов TBrush, TFont и TPen;
позволяет рисовать и заполнять линии и контуры;
позволяет выводить текст;
реагировать на изменения в текущем изображении. Некоторые свойства и методы класса TCanvas:
property Brush: TBrush; – определяет инструмент заполнения;
property Font: TFont; – определяет формат шрифта вывода надписей;
property Pen: TPen; – определяет инструмент рисования линий и контуров;
property ClipRect: TRect; – определяет область рисования. Если вывод изображения происходит за пределами данной области, то эта часть изображения не выводится;
property CopyMode: TCopyMode default cmSrcCopy; – определяет режим наложения изображения на поверхность рисования;
property PenPos: TPoint; – определяет текущую позицию инструмента Pen;
procedure Arc(X1, Y1, X2, Y2, X3, Y3, X4, Y4: Integer); – процедура рисования дуги. X1, Y1, X2, Y2 – область рисования эллипса, X3, Y3, X4, Y4 – координаты точек, в которые проводятся из центра эллипса воображаемые линии. Пересечение этих линий с эллипсом дает начало и конец дуги. Дуга берется по направлению против часовой стрелки;
procedure Chord(X1, Y1, X2, Y2, X3, Y3, X4, Y4: Integer); – аналогична дуге,
только соединяет прямой концы дуги;
procedure Pie(X1, Y1, X2, Y2, X3, Y3, X4, Y4: Longint); – аналогично дуге,
только соединяет концы дуги с центром эллипса;
procedure Draw(X, Y: Integer; Graphic: TGraphic); – выводит изображение на поверхность рисования. X, Y – координаты левого верхнего угла изображения;
procedure StretchDraw(const Rect: TRect; Graphic: TGraphic ); – выводит изображение на поверхность рисования, вписывая его в заданную область.
procedure Ellipse(X1, Y1, X2, Y2: Integer); – процедура рисования эллипса,
вписанного в прямоугольник X1, Y1, X2, Y2;
procedure FillRect(const Rect: TRect); – процедура построения закрашенного прямоугольника без границей;
procedure FloodFill(X, Y: Integer; Color: TColor; FillStyle: TFillStyle); – проце-
дура заполнения произвольной области. FillStyle описывает тип заполнения (граница, цвет);
procedure FrameRect(const Rect: TRect); процедура построения незакрашенно-
го прямоугольника с границей;