Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Модуль Classes. Основные стандартные классы.
Тип TBits Объект, который может содержать бесконечное число Булевых значений Тип TList Универсальный контейнер списков объектов Тип TStringList Содержит список переменной длины, состоящий из строк Рассказать о классах и их потомках
http://www.delphisources.ru/pages/faq/faq_delphi_basics/navClasses.php.html Функция Bounds Передаёт координаты вершин объекта типа TRect (прямоугольник) function Bounds (const Top, Left, Width, Height: Integer): TRect; Функция Bounds передаёт координаты вершин объекта типа TRect (прямоугольник). Указываются 2 вершины - правая верхняя и левая нижняя.
Функция Point Генерирует значение TPoint из значений X и Y function Point (const X, Y: Integer): TPoint; Функция Point берет параметр X и Y и возвращает значение TPoint, содержащее их. Функция PointsEqual Сравнивает два значения TPoint на предмет равенства function PointsEqual (const Point1, Point2: TPoint): Boolean; Функция PointsEqual сравнивает значения параметров Point1 и Point2, и возвращает Истину (True), если они равны. Функция Rect Создаёт величину TRect с указанием 2 точек или 4 координат
1 function Rect (Left, Top, Right, Bottom: Integer): TRect; 2 function Rect (TopLeft, BottomRight: TPoint): TRect;
Delphi функция Rect создает объект TRect (прямоугольник), для создания прямоугольника необходимо указать 4 координаты или 2 точки. Примечания В модулях Classes и Types есть две функции Rect. Только прежняя поддерживает второй синтаксис. Тип TBits Объект, который может содержать бесконечное число Булевых значений Тип TBits содержит гибкий набор битов (Булевых значений). Размер набора может быть изменен в любое время (используя свойство size).
Для хранения списка указателей на размещенные в адресном пространстве структуры (объекты, динамические массивы, переменные) предназначен класс TList. Так же, как и список строк TStringList, список указателей обеспечивает эффективную работу с элементами списка.
Основой класса TList является список указателей. Сам список представляет собой динамический массив указателей, к которому можно обратиться через индексированное свойство Так как элементы списка являются указателями на некоторые структуры, прямое обращение к составным частям этих структур через свойство Items невозможно. Примечание В списке могут содержаться указатели на разнородные структуры. Не обязательно хранить в списке только указатели на объекты или указатели на записи. Реализованные в классе TList операции со списком обеспечивают потребности разработчика и совпадают с операциями списка строк. Списки используются для поддержки индексов объектов любого классового типа. Сам индекс хранит указатели на объекты и является динамическим — его размер можно изменить во время выполнения. Благодаря своей способности следить за объектами любого типа, TList является гибким, но требующим большего программирования по сравнению с другими классами из списка VCL, которые разработаны для обработки конкретных типов объектов (подобных TStrings и TImageList). TList не следует путать с полномасштабной коллекцией классов или связанными списками, поскольку он не обрабатывает распределение или высвобождение памяти для индексируемых объектов. В случае выбора TList выполнение всей черновой работы придется отвечать самостоятельно.Хотя внутренняя работа TList связана с интенсивной и отвратительной манипуляцией указателями, Delphi часто защищает программиста от такой реализации, предоставляя удобные свойства и методы доступа к списку. Однако некоторые методы TList принимают в качестве параметров общие типы указателей. В таких случаях помните о том, что поименованные объекты являются косвенными указателями, поэтому в дальнейших манипуляциях нет необходимости. Если вы увидите параметр типа Pointer, то можете использовать его так, будто это тип TObject. Часто TList можно обрабатывать как массив указателей, используя свойство Items для доступа к отдельным элементам списка с помощью индексной записи. С другой связанной с использованием указателей проблемой можно столкнуться из-за того, что TList применяет обобщенные указатели. Может потребоваться приведение указателей, возвращаемых методами TList, к конкретному индексируемому объекту. TList и его потомок TPopupList.
TList TPopupList является списком, который поддерживает элементы, видимые во всплывающем (pop-up) меню. Хотя методы Add и Remove списка TPopupList настроены на работу с элементами всплывающего меню, концептуальное действие этих методов такое же, как и одноименных методов в TList.
Тип TList Универсальный контейнер списков объектов
Класс TList очень полезный универсальный контейнер списков. Он отличается от массивов, в которых он обеспечивает более богатые функциональные возможности. В частности объекты TList могут быть отсортированы. Эта сортировка может быть с использованием любых выбранных критериев. Например, список может содержать набор объектов, которые имеют строку и численные поля. Вы можете отсортировать список по строке, по числу, по обоим, с возрастанием или убыванием, как Вы желаете. И пересортировать позже по другим критериям.
Ключевые свойства и методы упомянуты ниже. Свойство Capacity Свойство Count Свойство Items Свойство List Метод Add Метод Assign Метод Clear Метод Delete Метод Remove Метод Exchange Метод Move Метод Insert
Метод First Метод Last Метод Sort Метод IndexOf
Класс TStrings — это абстрактный классовый тип, который не используется непосредственно, однако поддерживает создание производных классов, оперирующих со строковыми данными. Наиболее общим производным от TStrings является TStringsList, который используется для большинства обобщенных строковых операций. В данной главе вначале рассматриваются детали класса TStrings, а затем описываются производные классы TStrings.
Хотя класс и называется TStrings, но он сконструирован для выполнения более общего множества операций, нежели простое манипулирование строками. Фактически TStrings не оперирует со строками вообще. Скорее, его работа заключается в действиях с коллекциями строк. В этом смысле TStrings является абстрактным контейнерным классом, и все порожденные от него классы обеспечивают детали реализации, предоставляющие возможность методам, определенным в TStrings, выполнять свою работу. Часто аргумент типа TStrings специфицируется просто для того, чтобы функция могла полиморфически оперировать с различными производными TStrings. Одним из самых интересных и потенциально полезных механизмов TStrings является его способность функционировать в качестве ассоциированного списка или словаря, в котором различные строковые входы действуют в качестве ключевых имен, которые можно задействовать для извлечения любого объекта по его имени. TComboBoxStrings
THeaderStrings Класс TListBoxStrings используется классом TCustomListBox для управления списком элементов, представленного классами, порожденными от TCustomListBox. Это классы TListBox и TFileListBox. Обратите внимание, что каждый из методов данного класса перекрывает виртуальную функцию, определенную в TStrings. Данные функции внутренне сконструированы для такого взаимодействия, чтобы извлекать или запоминать требуемую информацию из соответствующего элемента управления Windows. Это отличается от работы TStringList, который создает и поддерживает требуемую память для списка элементов самостоятельно. В данном случае Delphi полагается на поведение, обеспечиваемое для соответствующей функциональности внутренними механизмами Windows. Класс TMemoStrings обеспечивает строковый основанный на списке интерфейс для стандартного элемента управления редактированием Windows. Отдельные строки элемента управления редактированием отображаются в индивидуальные элементы в списке строк. Обратите внимание на то, что в определении данного класса нет поддержки хранения и извлечения ссылок на объекты, как это имеет место в классах TListBoxStrings и TComboBoxStrings, поскольку окно редактирования вообще предназначено для хранения только текстовой информации. TStringGridSTrings
Строковый тип данных широко используется программистами. Во-первых, многие данные действительно необходимо представлять при помощи этого типа. Во-вторых, множество функций преобразования типов позволяют представлять числовые типы в виде строк, избегая тем самым проблем с несовместимостью типов. Класс TStrings является базовым классом, который обеспечивает потомков основными свойствами и методами, позволяющими создавать работоспособные списки строк. Его прямым предком является класс TPersistent. Класс TStrings реализует все вспомогательные свойства и методы, которые обеспечивают управление списком. При этом методы, непосредственно добавляющие и удаляющие элементы списка, не реализованы и объявлены как абстрактные.
Внимание Попытка прямого использования в приложении экземпляра класса TStrings вызовет ошибку применения абстрактного класса на этапе выполнения программы, а именно при попытке заполнить список значениями. Простая замена типа объектной переменной списка на TStringList делает приложение полностью работоспособным без какого-либо дополнительного изменения исходного кода. Классы-наследники должны перекрывать методы добавления и удаления элементов списка. Реализованный в Delphi класс TStringList практически полностью повторяет функциональность предка, добавляя лишь несколько новых свойств и методов. Поэтому мы не станем останавливаться подробнее на классе TStrings, а перейдем сразу к его работоспособному потомку TStringList. Класс TStringList обеспечивает реальное использование списков строк в приложении. По существу, класс представляет собой оболочку вокруг динамического массива значений списка, представленного свойством Strings. Тип TStringList Содержит список переменной длины, состоящий из строк
TStringList - полезный тип класса. Он чрезвычайно полезен для многих видов обработок списков. Элементы в строковом списке могут быть вставлены, перемещены и отсортированы. Список может быть сформирован строка за строкой, или загружен из большой строки разделенной запятой или даже из текстового файла. TStringList происходит от TStrings. Вы можете использовать и TStrings, но это не рекомендуется, так как он не полный - некоторые из его методов абстрактны. TStringList осуществляет эти абстрактные методы (Clear, Delete и Insert). Мы рассмотрим основные свойства и методы TStringList, включая полученные из TStrings. Свойство Count Свойство Capacity Устанавливает или получает текущую вместимость строкового списка. Вы можете управлять этой вместимостью по необходимости. Свойство Strings Обратите внимание, что свойство Strings является свойством, заданным по умолчанию. Это означает, что вы можете использовать его без его указания: myName:= names.Strings[4]; является эквивалентным: myName:= names[4]; Свойство Text Свойство CommaText Cвойство DelimitedText Свойство QuoteChar Свойство Delimiter
Свойство Names Свойство Values Свойство ValueFromIndex Свойство CaseSensitive Свойство Duplicates dupIgnore Игнорирует (отбрасывает) дубликаты
Свойство Sorted Свойство Objects Метод Add Метод Append Метод Insert Метод Delete Метод Clear Метод Move Метод Exchange Метод IndexOf Метод IndexOfName Метод Find Метод Sort Метод AddStrings Метод Assign Метод LoadFromFile Метод SaveToFile
TCollection и TCollectionltem необходимы для поддержки работоспособности ряда элементов управления Windows, не являющимися родными для среды Windows и поддерживающими список элементов. Распространенным примером является линейка состояния, которая, как правило, разделена на несколько областей, содержащих различные текстовые сообщения, относящиеся к состоянию текущих операций определенной программы. Линейка состояния не является фундаментальным типом элементов управления Windows, каким является окно списка, однако определяется Delphi VCL. Такого же рода примерами являются объекты TListColumns и TDBGridColumns, которые используются для поддержки других элементов управления в Delphi VCL. Такие элементы управления, не родные для Windows и требующие управления списком объектов, для корректной организации данных по соглашению должны использовать классы TCollection и TCollectionltem.
|
|||||||||
Последнее изменение этой страницы: 2017-02-21; просмотров: 349; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.118.140.108 (0.084 с.) |