Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
методички по информатике / Конспект лекций (Delphi).pdf
Скачиваний:
63
Добавлен:
27.05.2015
Размер:
1.2 Mб
Скачать

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); процедура построения незакрашенно-

го прямоугольника с границей;