Delphi - объектно-ориентированный язык программирования, разработанный компанией Borland в 1995 году. Он основан на языке программирования Pascal, но имеет более расширенные возможности и добавлены новые функции.
Delphi является интегрированной средой разработки (IDE), которая позволяет разрабатывать программное обеспечение для различных платформ, включая Windows, macOS, Android и iOS. Delphi достигает многоплатформенности с помощью...
Для успешного кодирования необходимо включить typinfo в список используемых модулей. Код данного примера инвертирует логическое свойство Active набора данных, связанного с активным элементом управления при каждом нажатии пользователем клавиши ESC.
procedureTForm1.FormKeyUp(Sender: TObject; var
Key: Word; Shift: TShiftState); var
PropInfo: PPropInfo; PropValue: TObject; ds: TDataSource; begin
if
Key = VK_ESCAPE then
{ Основной код ниже } try
ds := nil
;
{ Проверяем, имеет ли компонент свойство DataSource } PropInfo := GetPropInfo(ActiveControl.ClassInfo, 'DataSource'); ifPropInfo <> nil
then
{ Свойство компонента datasource типа class (например, TDataSource) } if
PropInfo^.PropType^.Kind = tkClass then
begin
PropValue := TObject(GetOrdProp(ActiveControl, PropInfo));
{ Создаем слепок найденного TDataSource } ds := (PropValue asDB.TDataSource);
{ Используем dataset, связанный с datasource } ifnot
(ds.DataSet.State in
dsEditModes) then
ds.DataSet.Active := not
ds.DataSet.Active; end
; except
on
E: EInvalidCast do
ShowMessage('Ошибка. Ожидался DataSource'); end
; end
;