Справочник по компонентам Дельфи

Автор: Пользователь скрыл имя, 06 Февраля 2013 в 01:52, аттестационная работа

Описание работы

Класс TList -- универсальный список. Он представляет собой массив нетипированных указателей и поэтому годится для хранения набора любых, в том числе разнотипных, данных и объектов. При добавлении/удалении в список данные не создаются и не уничтожаются -- эта обязанность лежит на программисте. Приведем доступные ему методы и свойства класса.

Работа содержит 1 файл

componens.doc

— 980.33 Кб (Скачать)

 

procedure GetTableNames(const DatabaseName, Pattern: String; Extensions, SystemTables: Boolean; List: TStrings) ;

Очищает список List и заполняет его именами всех таблиц базы данных, имя которой определяется параметром DatabaseName. Параметр Pattern задает шаблон отбора имен таблиц. Параметр Extensions в состоянии True позволяет добавлять к именам таблиц расширения файлов. Параметр SystemTables в состоянии True позволяет добавлять к списку системные таблицы серверов SQL.

procedure GetStoredProcNames(const TStrings) ;

Заполняет список List именами всех хранимых процедур для SQL-сервера, задаваемого параметром DatabaseName.

function OpenDatabase(const DatabaseName: String): TDatabase;

Открывает существующий компонент TDatabase или создает новый, используя параметр метода DatabaseName. Возвращает указатель на экземпляр компонента.

 

 

Уничтожает всю ранее введенную информацию о паролях для Paradox.

procedure RemovePasswordfconst Password: String);

Удаляет пароль, определяемый параметром Password метода для таблиц Paradox.


 

Компонент TDatabase

TObject-"TPersistent->TComponent-"TDatabase

Модуль DB

Страница Палитры компонентов Data Access

Не используется при создают обычных приложений, работающих с базами данных, однако незаменим в приложениях клиент/сервер. В его функции входят:

* установление постоянной связи с базой данных;

* задание параметров сервера;

* создание локальных псевдонимов BDE;

* управление транзакциями.

Свойства компонента

(Pb) property AliasName: TSymbolStr; TSymbolStr = String[DBIMAXNAMELEN] ; DBIMAXNAMELEN = 31;

Имя псевдонима, заданного утилитой конфигурации BDE. Значение этого свойства обнуляется при установке свойства DriverName. Используется для связывания с определенным сервером.


 

ipb) property Connected: Boolean;

Управляет процессом соединения компонента с базой данных. В состоянии True разрешает соединение и открытие таблиц. Работает совместно со свойством Keep Connection.

(Pb) property DatabaseName: TFileName; TFileName: String[79];

Задает псевдоним присоединяемой базы данных для приложения, который может использоваться компонентами наборов данных (TTable, TQuery) и отображается в их свойстве DatabaseName.

(Ro) property DatasetCount: Integer;

Отражает число компонентов наборов данных, используемых невизуальным компонентом TDatabase.

(Ro) property Datasets[Index: Integer]: TDBDataset;

Массив указателей на экземпляры компонентов присоединенных наборов данных.

(Pb) property DriverName: TSymbolStr;

Имя используемого приложением драйвера BDE. Это свойство обнуляется при определении свойства AliasName.

(ro) property Handle: HDBIDB;

Указатель на базу данных, используется для прямого вызова функции API BDE.

(Ro) property IsSQLBased: Boolean;

Отражает тип используемого драйвера, зависит от свойства DriverName. Состояние True разрешает использование любого драйвера, кроме STANDARD.

(Pb) property KeepConnection: Boolean;

В значении True задает постоянное соединение с базой данных даже при отсутствии открытых наборов данных. При выключенном свойстве для регистрации на сервере необходимо пользоваться свойством Connected для каждого открытия таблицы.

(Ro) property Locale: TLocale;

Определяет используемый компонентом языковый драйвер. Позволяет осуществлять прямой доступ к API BDE.

(Pb) property LoginPrompt: Boolean;

В стандартном значении True определяет, что при установке соединения с базой данных будет появляться диалоговое окно регистрации пользователя. В значении False регистрационные сведения должны содержаться в полях свойства Params.

(Pb) property Params: TStrings;

Содержит параметры, необходимые для подключения к базам данных. По умолчанию это значение свойства устанавливается в соответствие с информацией утилиты конфигурации BDE.


 

property Temporary: Boolean;

(Pb) property Translsolation: TTransIeolation;

Определяет способ создания компонента. True означает, что компонент создается только при открытии таблицы и будет уничтожен при ее закрытии. Если затем свойство установить в False, то компонент будет сохранен. Если при создании компонента свойство было установлено в False, то переопределение в True будет означать уничтожение компонента после закрытия последней таблицы.

Определяет уровень изоляции транзакции и используется SQL-сервером. Значение tiDirtyRead разрешает транзакции читать незавершенные изменения, проведенные другой транзакцией; tiReadCommit открывает доступ к изменениям после завершения транзакции; tiRepeatableRead полностью изолирует транзакцию.


 

Методы компонента

procedure Close;

Отсоединяет все связанные с ним компоненты TTable TQuery и TStoredProc.

procedure CloseDatasets;

Отсоединяет все дочерние компоненты класса TDataSet, но сам компонент остается открытым.

procedure Commit;

Фиксирует все изменения, проведенные транзакцией. Этот метод можно использовать только при наличии связи с базой данных.

procedure Open;

Соединяет компонент с сервером или BDE в случае использования СУБД Paradox или dBase.

procedure Rollback;

Отменяет все действия, совершенные транзакцией, то есть запрещает ее фиксацию.

procedure StartTransaction;

Начинает выполнение транзакции, используя уровень изоляции из свойства Translsolation. Этот метод рекомендуется использовать только при наличии связи с базой данных.


 

Компонент TDataSource

TObject-->TPersistent--"TComponent-^TDataSource

Модуль DB

Страница Палитры компонентов Data Access

Является связующим звеном между наборами данных, представленных компонентами TTable, TQuery и TStoredProc, и визуальными компонентами отображения и управления данными. Каждый набор данных должен иметь по меньшей

мере один компонент TDataSource, так как TTable и TQuery устанавливают соединение с базой данных через BDE, но не умеют отображать полученную информацию в формах приложения. Визуальные компоненты отображают данные, но не имеют представления о структуре передаваемых таблиц. Именно это противоречие устраняет компонент TDataSource. Кроме этого, он применяется для связывания таблиц или запросов при построении односвязных форм в Эксперте форм баз данных.

Свойства компонента

(Pb) property AutoEdit: Boolean;

Разрешает или запрещает изменение данных визуальными компонентами, связанными с TDataSource. В предопределенном состоянии -- True, запись разрешена.

(РЙ property Dataset: TDataSet;

Определяет связанные компоненты TTable, TQuery и TStoredProc.

(Pb) property Enabled: Boolean;

Определяет, проводить ли модификацию записей связанной таблицы в визуальных компонентах при изменении текущей записи.

(Ro) property State: TDataSetState;

Задает текущее состояние для связанного компонента набора данных. Это свойство должно быть установлено в соответствие со свойством State связанного компонента набора данных. Возможные значения: dsBrowse, dsCalcField, dsEdit, dslnactive, dslnsert, dsSetKey. При свойстве Enabled в значении False или не определенном значении свойства Dataset свойство State должно устанавливаться в значение dslnactive. Подробно возможные состояния описываются в конце раздела.


 

Обработчики событий

(Pb) property OnDataChange: TDataChangeEvent ; TDataChangeEvent = procedure(Sender: TObject; Field: TField) of object;

Вызывается при обработке сообщения визуальных компонентов отображения и управления данными о любых изменениях или при переопределении свойства State в любое состояние из dslnactive. Передаваемый параметр Field определяет измененное поле, при модификации нескольких полей (записи) одновременно устанавливается в nil.

(Pb) property OnStateChange: TNotifyEvent;

Вызывается при изменении свойства State.

(Pb) property OnUpdateData: TNotifyEvent;

Реагирует на методы Post и UpdateData (см. ниже) компонентов наборов данных и передает сообщение визуальным компонентам отображения и управления данными о необходимости изменения соответствующих полей.


 

Методы компонента

procedure Edit;

Предназначена только для вызова аналогичного метода компонента набора данных. Используется при свойствах AutoEdit = True и State = dsBrowse.


 

Компонент TTable

TObject->TPersistent->TCoinponent->TDataSet-"TDBDataSet--"TTable

Модуль DBTABLES

Страница Палитры компонентов Data Access

Играет важную роль в приложениях, работающих с базами данных. Он предназначен для соединения таблиц баз данных через BDE с приложением (компонентом TDataSource). Через него идет и обратная связь. С одним компонентом TTable может быть связано несколько TDataSource, но обратное неверно. TTable имеет мощный набор свойств и методов для управления набором данных.

Свойства компонента

(Pb) property Active: Boolean;

(Pb) property AutoCalcField: Boolean;

Регулирует доступ к данным. При значении True открывает набор данных и устанавливает его в состояние Browse, в противном случае устанавливается состояние Inactive.

Определяет вызов обработчика события OnCalcField. В значении True метод вызывается всегда при редактировании полей.

(Ro) property BOF: Boolean; (Ro) property CanModify: Boolean;

Сообщает о нахождении курсора в первой записи набора данных.

Устанавливает возможность изменения данных.

(Ro) property Database: TDatabase;

Идентифицирует компонент TDatabase, связанный с TTable.

(Pb) property DatabaseName: TFil-Name;

Определяет доступ к базе данных. Может задаваться в виде псевдонима BDE, пути к файлам, специфического псевдонима приложения.

(Ro) property DBHandle: HDBIDB; (Ro) property DBLocale: TLocale;

Определяет дескриптор базы данных, необходимый, в частности, для организации вызова функций API BDE из приложения.

Задает языковый драйвер для BDE.

(Bg property EOF: Boolean;

Сообщает о нахождении курсора в последней записи набора данных.


 

(Pb) property Exclusive: Boolean;

Используется для установки полного контроля над открываемой таблицей и предотвращения доступа к ней других пользователей. Перед работой с этим свойством необходимо задать свойству Active значение False. При попытке открытия уже используемой другими таблицы с Exclusive = True возникает исключительная ситуация. Свойство полезно при создании приложений для систем, использующих разделяемые файлы.

Сообщает о числе колонок таблицы, используется визуальными компонентами отображения данных.

(бо) property FieldCount: Integer;

Wo) property FieldDefs: TFieldDefs;

Содержит информацию о каждом объекте TFieldDef (см. ниже), связанном с компонентом таблицы.

(Ro) property Fields[Index: Integer]: TField;

Позволяет получить информацию о полях таблицы.

(ro) property Handle: HDBICur;

Дескриптор компонента, позволяет получить доступ к функциям API BDE.

(Ro) property IndexDefs: TIndexDefs;

Позволяет получить информацию обо всех используемых компонентом индексах. Перед использованием свойства необходимо вызывать метод Update объекта TIndexDefs для обновления данных.

(Ro) property IndexFieldCount: Integer;

Означает число действительных полей для текущего индекса.

(ВД property IndexFieldNames: String;

Используется SQL-сервером для идентификации полей, являющихся индексами. Имена полей разделяются точкой с запятой и не должны содержать более 255 символов. Здесь могут быть описаны не только физические индексы (хранимые в индексных файлах), но и создаваемые на время выполнения приложения.

(Pb) property IndexName: String;

Определяет вторичный индекс. Установка свойства приводит к обнулению свойства IndexFieldNames.

(Ro) property IndexFields[Index: Integer] ^Fields-

Содержит информацию обо всех полях текущего индекса.

property KeyExclusive: Boolean;

Определяет, исключать ли из рассмотрения возвращаемые функциями сортировки и поиска записи. Значение по умолчанию -- False. Для методов SetRangeStart и SetRangeEnd определяет включающие или исключающие границы диапазона значений. Для методов GoToNearest и FindNearest определяет место нахождения курсора.


 

property KeyFieldCount: Integer;

 

 

 

 

Определяет число ключевых полей для

поиска. я

(Ro) property Locale: TLocale;

Идентификатор языкового драйвера для BDE.

(Pb) property MasterFields: String; TDataSource;

Задает имена полей для связи подчиненной таблицы с главной таблицей. При необходимости определить несколько полей, их имена разделяются точкой с запятой. При изменении номеров записей в главной таблице, значения в полях используются для выборки записей из подчиненной таблицы.

 

 

Определяет компонент TDataSource, который представляет главную таблицу.

 

 

(Ro) property Modified: Boolean;

Показывает, проводились ли изменения в полях записи с момента открытия таблицы или вызова методов Post или Cancel.

 

 

(№;) property Readonly: Boolean;

Устанавливает режим "Только для чтения". Перед использованием необходимо установить свойство Active в False.

 

 

(Ro) property RecordCount: Longint;

Отображает число записей в наборе данных.

(Ro) property State: TDataSetSCate; (Pb) property TableName: TFileName;

Показывает текущее состояние набора данных (см. аналогичное свойство компонента TDataSource). Значение этого свойства важно при использовании многих методов компонента.

Содержит имя таблицы, используемой компонентом.

(Pb) property TableType: TTableType;

Определяет тип используемой таблицы в соответствии с расширением файла (режим Default) или типом TTableType, который содержит следующие значения: ttDefault, "Paradox, "DBase, "ASCII.

(Pb) property UpdateMode: TUpdateMode;

P

Определяет способ обновления данных при работе с базами SQL и задает поля, которые используются для поиска записи в базе. Возможны следующие значения: Where All -- использует все поля; WhereKeyOnly -- использует только ключевые поля; WhereChanged -- использует ключевые и измененные поля записи. Наиболее жестким, предпочтительным и надежным является режим WhereAll (устанавливается по умолчанию).

 

 

 

 

Обработчики событий

Делятся на две большие группы: вызываемые до (Before) и после (After) методов Open, Insert, Edit, Post, Delete, Cancel и Close. Информацию об этих группах можно получить, используя справочную систему Delphi. Кроме этого существуют еще два обработчика:

(РЙ property OnCalcFields: TDataSetNotifyEvent ; TDataSetNotifyEvent = procedure (DataSet: TDataSet) of object;

Используется для определения значений вычисляемых полей и вызывается при чтении записи из базы. При свойстве AutoCalcFields = True этот обработчик вызывается при изменении значений невычисляемых полей, если установлено состояние EdsEdit или Edslnsert. При выполнении процедуры набор данных должен находиться в состоянии CalcFields.

(РЙ property OnNewRecord: TDataSetNotifyEvent;

Реагирует на добавление в набор данных новой записи. Позволяет редактировать новые записи без изменения свойства Modified,


 

Методы компонента

procedure Addlndex(const Name, Fields: String; Options: TIndexOptions); TIndexOptions = set of (ixPrimary, ixUnique, ixDescending, ixNonMaintained, ixCaseInsensitive);

Создает новый индекс для компонента. Параметры: Name -- название индекса, Fields -- поля индекса, Options -- опции типа TIndexOptions (см. примеч. 1).

procedure ApplyRange;

Проводит фильтрацию записей таблицы. Подмножество отбора определяется методами SetRangeStart и SetRangeEnd или EditRangeStart и EditRangeEnd.

procedure Append;

Предназначена для включения в таблицу новых записей. Метод позиционирует курсор в конец набора, переводит его в состояние Insert и открывает новую пустую запись.

procedure AppendRecord(const Values: array of const) ;

Добавляет к таблице новую непустую запись, данные для полей определяются параметром Values. Порядок следования сохраняется. Если число элементов параметра меньше числа полей, то оставшиеся поля устанавливаются в NULL. Типы элементов параметра Values должны совпадать с типами полей.

function BatchMove(ASource: TDataSet; AMode: TBatchMode): Longint;

Добавляет, удаляет, копирует или обновляет группы записей. Параметры: ASource задает источник записи, AMode -- используемый режим. Режим определяется типом TBatchMode: batAppend, batUpdate, batAppendUpdate, batDelete, batCopy. Функция возвращает число обработанных записей.

procedure Cancel;

Переводит набор данных в состояние dsBrowse и отменяет любые изменения для текущей записи.

procedure CancelRange;

Отменяет фильтрацию записей таблицы, задаваемую функциями ApplyRange и SetRange.


 

procedure CheckBrowseMode;

Производит проверку открытия набора данных и отсутствия предполагаемых изменений. Если набор данных закрыт, выводится соответствующее сообщение об ошибке. Если компонент находится в состоянии dsEdit, dslnsert или dsSetKey, то вызывается метод Post для передачи в базу данных любых накопленных изменений.

procedure ClearFields;

Возвращает всем полям текущей записи исходные значения. Набор данных должен находиться в состоянии dsEdit.

Закрывает набор данных. Аналогична установке свойства Active в False.

procedure CreateTable; procedure CursorPosChanged; *

procedure Delete;

procedure String) ;

Создает новую пустую таблицу. Перед вызовом метода необходимо установить необходимые значения свойств DatabaseName, TableName, TableType, FieldDefs и IndexDefs.

Используется для передачи сообщения компоненту TDataSet об изменении положения курсора функциями API BDE. Эта процедура используется при определенном свойстве Handle.

Удаляет из таблицы текущую запись, устанавливая курсор на последующую.

Удаляет вторичный индекс. Параметр Name -- название индекса. Для использования метода необходимо установить свойство Exclusive в True.

procedure DeleteTable;

Уничтожает таблицу, определяемую свойствами DatabaseName, TableName, TableType.

procedure DisableControls;

Временно приостанавливает соединение набора данных со всеми связанными компонентами TDataSource. В результате прерывается связь с визуальными компонентами. Существует метод обратного действия -- EnableControls.

 

 

Устанавливает свойство State в dsEdit и подготавливает текущую запись к модификации.

procedure EditKey;

Предназначена для корректировки содержимого буфера ключей поиска. Используется только для .поиска на многих полях после вызова метода SetKey. Для перемещения в найденное поле используется метод GotoKey. He очищает буфер ключей поиска после использования.

procedure EditRangeEnd;

П 6

Позволяет переопределить порядок отбора записей, установленный методом SetRangeEnd. Модифицируется набор ключей конца последовательности. Новый порядок может быть реализован методом ApplyRange. Для таблиц Paradox и dBase метод применим только для индексированных полей, а для баз SQL -- для всех колонок, определенных свойством IndexFieldNames.

 

 

Информация о работе Справочник по компонентам Дельфи