Обьектовая концепция Delphi Библиотека визуальных компонентов

Материаловедение
Электропроводность твёрдых
диэлектриков
Пределы
Курс лекций по ТОЭ
и типовые задания
Информационные процессы
и технологии
Архитектура персонального компьютера
Операционная система Windows
Microsoft Word работа с документами
Microsoft Access СУБД
Microsoft Excel работа с электронными таблицами
Локальные сети Работа пользователя в сети
Работа в Интернет Электронная почта
Защита компьютерной информации
Алгоритмы и программирование Паскаль
Натуральные и комплексные
числа
Теория информационных
процессов
Эффективная организация обмена информации
Непрерывный или аналоговый сигналы
Дискретизированный или дискретно непрерывные сигналы
Дискретные по уровню или квантованные сигналы
Дискретные по уровню и по времени сигналы
Совокупность технических средств
Количество информации в дискретном сообщении
Энтропия
Свойства энтропии
Энтропия объединения нескольких источников
Условная энтропия и взаимная информация
Дискретные источники сообщений с памятью
Производительность источника дискретных сообщений
Пропускная способность дискретного канала
Задача согласования дискретного источника с дискретным каналом без шума
Кодирование
Теорема Шеннона для канала без шума
Второй способ доказательства прямой теоремы Шеннона
Цифровые сети для
передачи речи и данных
Задача согласования дискретного источника
Теорема Шеннона для дискретного канала с шумом
Методика построения помехоустойчивых кодов
Непрерывные сообщения. Квантование и дискретизация
АИМ - сигнал и его спектр
Математическая модель дискретизированного сигнала
Теорема Котельникова
Оценка ошибок дискретизации
Спектр реального сигнала
Интерполирующий фильтр
Информация в непрерывных сообщениях
Дифференциальная энтропия
Наибольшая дифференциальная энтропия
Энтропия и производительность
Пропускная способность непрерывного канала
Информационный подход
Оценка ошибок квантования
Дифференцирование и
интегральное исчисление
Уязвимость операционных
систем
Узлы компьютера БП
Анализ систем безопасности
Обьектовая концепция Delphi
Встроенные типы данных
Объектно-ориентированное
программирование
Классы-оболочки
графический интерфейс
Основные компоненты
Изображения и звук
Инженерная графика

  • Несколько лет назад книгу по Delphi 2 или 3 надо было начинать с азов объектно-ориентированного программирования (ООП). Многие только переходили к Delphi из DOS, многие использовали Borland Pascal for Windows и работали с Windows API напрямую. Объекты еще были в диковинку, и полное разъяснение новых принципов было просто обязательно.
  • Объект и класс Классом в Object Pascal называется структура языка, которая может иметь в своем составе переменные, функции и процедуры. Переменные в зависимости от предназначения именуются полями или свойствами
  • Поля, свойства и методы Поля класса являются переменными, объявленными внутри класса. Они предназначены для хранения данных во время работы экземпляра класса (объекта).
  • События Программистам, давно работающим в Windows, наверное, не нужно пояснять смысл термина "событие". Сама эта среда и написанные для нее программы управляются событиями, возникающими в результате воздействий пользователя, аппаратуры компьютера или других программ.
  • Инкапсуляция В предыдущих разделах мы ввели ряд новых понятий, которыми будем пользоваться в дальнейшем. Теперь поговорим о принципах, составляющих суть объектно-ориентированного программирования.
  • Наследование Вторым "столпом" ООП является наследование. Этот простой принцип означает, что если вы хотите создать новый класс, лишь немного отличающийся от старого, то совершенно нет необходимости в переписывании заново уже существующих полей и методов
  • Полиморфизм Рассмотрим внимательно следующий пример. Пусть у нас имеются некое обобщенное поле для хранения данных — класс TFieid и три его потомка — для хранения строк, целых и вещественных чисел
  • Методы Из предыдущего материала читатели узнали, что функционирование объектов обеспечивается различными типами методов, которые различаются особенностями реализации механизма наследования.
  • Перегрузка методов Есть еще одна, совершенно особенная разновидность методов — перегружаемые.
  • Области видимости При описании нового класса важен разумный компромисс. С одной стороны, требуется скрыть от других методы и поля, представляющие собой внутреннее устройство класса (для этого и придуманы свойства).
  • Объект изнутри Теперь, когда мы разобрались с основными определениями и механизмами ООП, настало время более подробно изучить, что представляет собой объект и как он работает.
  • Библиотека визуальных компонентов VCL и ее базовые классы
    • Все классы библиотеки визуальных компонентов произошли от группы базовых классов, которые лежат в основе иерархии VCL. Самый общий предок компонентов — это класс TObject, инкапсулирующий простейший объект. Как известно
    • Иерархия базовых классов В основе всего многообразия классов и компонентов, используемых в Delphi, лежат всего лишь пять базовых классов
    • Класс TObject является родоначальником всей иерархии использующихся в Delphi классов VCL. Он реализует функции, которые обязательно будет выполнять любой объект, который может быть создан в среде разработки.
    • Класс TPersistent "Persistent" в переводе с английского означает "устойчивый", "постоянный". Что же такого постоянного в одноименном классе? Ответ таков: виртуальный метод
    • Класс TCompomnt является предком всех компонентов VCL. Он используется в качестве основы для создания невизуальных компонентов и реализует основные механизмы, которые обеспечивают функционирование любого компонента.
    • Базовые классы элементов управления Визуальные компоненты — это разнообразные стандартные для Windows и специальные (созданные разработчиками Inprise) элементы управления.
      • Класс TControl является базовым для всех визуальных компонентов и инкапсулирует механизмы отображения компонента на экране. В нем используется множество новых свойств и методов. Недаром в Delphi в Инспекторе объектов появилась категоризация методов и свойств
        • Группа свойств Visual. Местоположение и размер элемента управления Для определения местоположения и размеров визуального компонента введены два опубликованных свойства для задания координат левого верхнего угла
        • Выравнивание элемента управления Для выравнивания компонента в рабочей области его владельца (обычно это форма) применяется свойство
        • Внешний вид элемента управления При нахождении указателя мыши над компонентом его изображение может изменяться в соответствии со значением свойства
        • Связь с родительским элементом управления Механизм связывания визуального компонента с родительским компонентом (владельцем) позволяет автоматически задавать для нового элемента управления некоторые свойства, отвечающие за его внешний вид
      • Класс TWinControl обеспечивает создание и использование оконных элементов управления. Напомним, что оконный элемент управления имеет системный дескриптор окна hwnd.
      • Класс TCustomControl предназначен для создания на его основе нестандартных оконных элементов управления.
      • Класс TGraphicControl предназначен для создания на его основе визуальных компонентов, не получающих фокус в процессе выполнения приложения.
  • Обработка исключительных ситуаций
    • Любому, кто писал более или менее сложные программы, интуитивно ясно, что такое обработка исключительных ситуаций (ИС). Всякое взаимодействие с операционной системой на предмет получения ресурсов — места на диске, в памяти, открытие файла — может завершиться неудачно. Любое вычисление может закончиться делением на ноль или переполнением. Дополнительный фактор возникновения исключительных ситуаций содержится в данных, к которым могут обращаться программы. Особенно это актуально в приложениях баз данных.
    • Исключительная ситуация как класс Что же такое исключительная ситуация? Интуитивно понятно, что это — некое нештатное событие, могущее повлиять на дальнейшее выполнение программы. Если вы ранее писали в среде Turbo Pascal или подобной, то вы наверняка пытались избежать таких ситуаций, вводя многочисленные проверки данных и кодов возврата функций.
    • Защитные конструкции языка Object Pascal Для работы с объектами исключительных ситуаций существуют специальные конструкции языка Object Pascal— блоки try., except и try. .finally.
    • Блок try..except Для реакции на конкретный тип ситуации применяется блок try..except.
    • Блок try..finally
    • Использование исключительных ситуаций Если ситуация возникла внутри блока try..except, то там она и будет обработана. Если ИС "продвинута" дальше при помощи оператора raise, а также если она возникла в блоке try. .finally, обработка продолжается.
    • Протоколирование исключительных ситуаций Часто нужно иметь подробный материал для анализа причин возникновения ИС. Разумно было бы записывать все данные о них в файл, чтобы потом прогнозировать ситуацию.
    • Коды ошибок в исключительных ситуациях Если ваше приложение уже готовится к продаже, если вы планируете его техническую поддержку, то пора задуматься о присвоении числовых кодов
    • Исключительная ситуация EAbort Если вы внимательно просмотрели код системной процедуры HandieException, то увидели там упоминание класса EAbort. ИС EAbort служит единственным — и очень важным — исключением из правил обработки. Она называется "тихой" (Silent) и отличается тем, что для нее обработка по умолчанию не предусматривает вывода сообщений на экран.
    • Функция Assert Эта процедура и сопутствующая ей ИС EAssertionFailed специально перенесены в Object Pascal из языка С для удобства отладки
  • Кроссплатформенное программирование для Linux
    • Времена безраздельного господства операционных систем Windows для домашних компьютеров и корпоративных рабочих станций подходят к концу. Все большее число рядовых компьютеров работает под управлением других операционных систем. Среди них по праву выделяется операционная система Linux, сочетающая в себе открытость и хорошие возможности настройки.
    • Проект CLX Создание кроссплатформенного приложения в Delphi требует выполнения абсолютно стандартных действий. Достаточно создать новый проект, выбрав для этого в Репозитории пункт CLX Application.
    • Объектная концепция кроссплатформенного программирования Программирование в Delphi подразумевает использование тех или иных классов, будь то формы, невизуальные компоненты или списки.
    • Библиотека компонентов CLX Безусловно, библиотека компонентов CLX более бедна по сравнению с VCL. Тем не менее, ее компоненты позволяют создавать полноценные приложения. В целом состав компонентов CLX напоминает Палитру компонентов ранних версий Delphi
    • Сходства и различия визуальных компонентов CLX и VCL Большинство свойств и методов компонентов VCL и CLX идентичны. А существующие различия вызваны необходимостью использования специальных объектов — widget и особенностями представления визуальных элементов в Linux.
    • Особенности программирования для Linux Операционные системы Windows и Linux имеют достаточно серьезных различий, чтобы сделать кроссплатформенную разработку делом сложным и кропотливым. В первую очередь необходимо хорошо знать обе операционные системы и иметь опыт работы с ними.
    • Приложения баз данных для Linux Главной составной частью любого приложения баз данных является механизм доступа к данным. Для традиционных приложений баз данных, создаваемых в Delphi, выбор способов доступа к данным достаточно широк.
    • Internet-приложения для Linux Для Internet-приложений вполне обычной является ситуация, когда клиентская часть должна работать на компьютерах с различными операционными системами, например Windows и Linux.

ИНТЕРФЕЙС И ЛОГИКА ПРИЛОЖЕНИЯ

  • Элементы управления Win32
    • Элементы управления составляют суть пользовательского интерфейса Windows. Всеми программами нужно управлять более или менее единообразно, поэтому в составе ОС имеется набор типовых кнопок, редактирующих элементов, списков выбора и т. п., которыми вы можете "украсить" свои разработки. Перечень этот постоянно пополняется.
    • Что такое библиотека ComCtl32 Изменив внешний вид "окон" в Windows 95, менеджеры Microsoft задумались о том, чтобы дать независимым разработчикам средства для создания приложений, внешне похожих на системные утилиты и использующих единые типовые элементы управления.
    • Многостраничный блокнот — компоненты TTabControl и TPageControl В Палитре компонентов имеется два элемента управления, обеспечивающих создание многостраничных блокнотов.
    • Компонент TToolBar Возможность создать панель инструментов появилась у разработчика давно, начиная с первых версий Delphi. Тогда она была реализована с помощью сочетания компонентов TPanel и TSpeedButton.
    • Компонент TImageList С ростом возможностей пользовательского интерфейса Windows все больше и больше элементов управления стали оснащаться значками и картинками.
    • Компоненты TTreeView и TListView Эти компоненты известны каждому, кто хоть раз видел Windows 98 или Windows 2000. Именно на их базе создано ядро пользовательского интерфейса — оболочка Explorer, да и большинство других утилит Windows. Они включены в библиотеку ComCtl32.dll и доступны программистам.
    • Календарь Выбор даты — одна из часто используемых операций при вводе данных.
    • Компонент TMonthCalendar Этот элемент управления представляет собой панель с календарем на один месяц
    • Компонент TDateTimePicker Безусловно, календарь будет очень полезен пользователям. Однако было бы желательно не только выбирать даты, но и вводить их в элементы управления.
    • Панель состояния TStatusBar Этот вид элементов управления применяется уже достаточно давно. Его роль заключается в отображении различного рода справочной информации.
    • Расширенный комбинированный список TComboBoxEx Такой выпадающий список знаком пользователям со времен Windows 95 (например, список всех элементов оболочки Shell: папки My Computer, My Documents и т. п.) Соответствующий элемент управления появился в библиотеке ComCtl32 несколько позже, а в компонент он превратился только в Delphi
    • Создание нового компонента на базе элементов управления из библиотеки ComCtl32 С каждой версией Internet Explorer Microsoft поставляет новую библиотеку ComQ132 с новыми элементами управления. Программисты Borland пытаются поспеть за ними, но получается это не всегда. Так что полезно было бы и самому научиться создавать оболочку для новых и необходимых элементов управления, тем более, что это несложно
  • Элементы управления Windows XP
    • В Delphi 7 впервые появилась возможность настраивать пользовательский интерфейс приложений для использования в Windows XP. Для этого в состав ресурсов приложения должен включаться манифест Windows XP.
    • Пользовательский интерфейс Windows XP При первом знакомств с Windows XP сразу же обращаешь внимание на существенные изменения в оформлении пользовательскою интерфейса этой операционной системы.
    • Манифест Windows XP Он представляет собой документ в формате XML, содержащий всю информацию, необходимую для взаимодействия приложения и библиотеки ComCtl32.dll версии 6.
    • Компонент TXPManifest На странице Win32 Палитры компонентов Delphi 7 имеется компонент TXPManifest. Будучи добавленным в проект, он обеспечивает компиляцию манифеста Windows XP в исполняемый файл приложения.
    • Включение манифеста Windows XP в ресурсы приложения Так как использование стандартного компонента TXPManifest требует настройки исходного манифеста Delphi для каждого проекта, было бы неплохо изыскать более удобный способ.
    • Визуальные стили в Delphi В гл. 8 мы детально поговорим о роли действий при разработке пользовательского интерфейса приложения и специальном компоненте для управления действиями — TActionManager
    • Theme API Помимо описанного способа создания и управления визуальными стилями разработчик может использовать функции Theme API, разработанные Microsoft для этих целей.
    • Компоненты настройки цветовой палитры Помимо создания собственных визуальных стилей, что является делом довольно трудоемким и хлопотным, вы можете изменить внешний вид пользовательского интерфейса приложения более легким способом. В оформлении пользовательского интерфейса операционной системы Windows ХР появилось новшество — визуальные стили, которые позволяют настраивать не только внешний вид элементов управления, но и их поведение, и даже управлять отрисовкой отдельных частей элементов управления.
  • Списки и коллекции
    • Практически любое приложение должно уметь выполнять ряд стандартных операций по обработке каких-либо данных. К ним относятся загрузка данных при открытии приложения, представление данных в удобном виде для использования внутри приложения, сохранение данных при завершении работы. Перечисленные действия необходимы и приложениям баз данных, и играм, и научным программам.
    • Список строк Строковый тип данных широко используется программистами. Во-первых, многие данные действительно необходимо представлять при помощи этого типа.
    • Класс TStrings является базовым классом, который обеспечивает потомков основными свойствами и методами, позволяющими создавать работоспособные списки строк.
    • Класс TStringList обеспечивает реальное использование списков строк в приложении. По существу, класс представляет собой оболочку вокруг динамического массива значений списка, представленного свойством strings.
    • Список указателей Для хранения списка указателей на размещенные в адресном пространстве структуры (объекты, динамические массивы, переменные) предназначен класс TList.
    • Класс TList Основой класса TList является список указателей. Сам список представляет собой динамический массив указателей, к которому можно обратиться через индексированное свойство
    • Пример использования списка указателей Рассмотрим использование списков указателей на примере приложения DemoList. При щелчке мышью на форме приложения отображается точка, которой присваивается порядковый номер.
    • Коллекции представляет собой разновидность списка указателей, оптимизированную для работы с объектами определенного вида.
    • Класс TCollection является оболочкой коллекции, обеспечивая разработчика набором свойств и методов для управления ею
    • Класс TCollectionItem инкапсулирует основные свойства и методы элемента коллекции
  • Действия (Actions) и связанные с ними компоненты
    • С давних пор повелось, что стандарты на пользовательский интерфейс Windows-приложений Microsoft задает "явочным порядком". Первая громкая история на эту тему связана с появлением в 1994 г. Excel 2.0 for Windows, когда разработчики из Редмонда впервые применили интерфейс со многими документами (впоследствии широко известный как MDI) и даже не подумали задокументировать и опубликовать его.
    • Действия. Компонент TActionList Пользовательский интерфейс современных приложений весьма многообразен, и зачастую один и тот же результат можно получить разными способами — щелчком на кнопке на панели инструментов, выбором пункта меню, нажатием комбинации клавиш и т. п.
    • События, связанные с действиями Компонент TAction реагирует на три события: OnExecute, OnUpdate И OnHint.
    • Свойства, распространяемые на клиентов действия Если у нескольких кнопок или пунктов меню общий обработчик, разумно потребовать, чтобы у них были и другие общие свойства.
    • Прочие свойства Чтобы связать с действием комбинацию "горячих" клавиш, выберите одну из возможных комбинаций в редакторе свойства shortcut. Более того, в Delphi 7 существует возможность добавлять не одну, а множество комбинаций "горячих" клавиш.
  • Файлы и устройства ввода/вывода
    • Большинство приложений создаются для того, чтобы обрабатывать данные — это прописная истина. С развитием программных технологий мы имеем возможность получать и посылать все более крупные и сложные массивы данных; однако до сих пор 90% из них хранятся в файлах.
    • Использование файловых переменных. Типы файлов Зачастую современный программный код Delphi для чтения данных из файла удивительно похож на аналогичный, написанный, к примеру, в Turbo Pascal 4.0.
    • Операции ввода/вывода Теперь рассмотрим две самые распространенные операции, выполняемые при работе с файлами. Это чтение и запись. Для их осуществления применяются специальные функции файлового ввода/вывода.
    • Ввод/вывод с использованием функций Windows API Для тех, кто переходит на Delphi не с прежних версий Turbo Pascal, а с С, других языков или начинает освоение с "нуля", более привычными будут стандартные функции работы с файлами Windows.
    • Отложенный (асинхронный) ввод/вывод Эта принципиально новая возможность введена впервые в Win32 с появлением реальной многозадачности. Вызывая функции чтения и записи данных, вы на самом деле передаете исходные данные одному из потоков (threads) операционной системы, который и осуществляет фактические обязанности по работе с устройством.
    • Контроль ошибок ввода/вывода При работе с файлами разработчик обязательно должен предусмотреть обработку возможных ошибок. Практика показывает, что именно операции ввода/вывода вызывают большую часть ошибок, возникающих в приложении из-за воздействия окружающей программной среды.
    • Атрибуты файла. Поиск файла Еще одна часто выполняемая с файлом операция — поиск файлов в заданном каталоге. Для организации поиска и отбора файлов используются специальные процедуры, а также структура, в которой сохраняются результаты поиска
    • Потоки очень удачное средство для унификации ввода/вывода для различных носителей. Потоки представляют собой специальные объекты-наследники абстрактного класса Tstream.
    • Базовые классы TStream и THandleStream В основе иерархии классов потоков лежит класс Tstream. Он обеспечивает выполнение основных операций потока безотносительно к реальному носителю информации. Основными из них являются чтение и запись данных.
    • Класс TFileStream позволяет создать поток для работы с файлами. При этом поток работает с файлом без учета типа хранящихся в нем данных
    • Класс TMemoryStream обеспечивает сохранение данных в адресном пространстве. При этом методы доступа к этим данным остаются теми же, что и при работе с файловыми потоками.
    • Класс TStringStream Так как строковые константы и переменные широко применяются при разработке приложений, то для удобства работы с ними создан специальный класс TStringStream.
    • Оповещение об изменениях в файловой системе Многие программисты задавались вопросом: как получить сигнал от операционной системы о том, что в файловой системе произошли какие-то изменения? Такой вид оповещения позаимствован из ОС UNIX и теперь доступен программистам, работающим с Win32.
  • Использование графики
    • Поэтому в Delphi с самого начала появились развитые средства для работы с графическими возможностями Windows. Этому набору объектов и посвящена данная глава.
    • Графические инструменты Delphi Разработчики Delphi уделили большое внимание возможностям работы с деловой графикой: простота и удобство ее использования напрямую сказываются на простоте и удобстве созданных приложений.
    • Класс TFont Класс инкапсулирует шрифт Windows. В Delphi допускаются только горизонтально расположенные шрифты. В конструкторе объекта по умолчанию принимается шрифт System, цвета ciwindowText и размером 10 пунктов.
    • Класс ТРеn Этот класс инкапсулирует свойства пера GDI Windows. В конструкторе по умолчанию создается непрерывное (pssolid) черное перо шириной в один пиксел.
    • Класс TBrush Этот класс инкапсулирует свойства кисти — инструмента для заливки областей. Когда создается экземпляр этого класса, первоначально используется белая сплошная (styie=bsSolid) кисть.
    • Класс TCanvas Этот класс — сердцевина графической подсистемы Delphi. Он объединяет в себе и "холст" (контекст конкретного устройства GDI), и "рабочие инструменты" (перо, кисть, шрифт), и даже "подмастерьев" (набор функций по рисованию типовых геометрических фигур).
    • Класс TGraphic Канва, перо, кисть и шрифт нужны, чтобы нарисовать свою картинку. Чтобы загрузить готовую, необходимы объекты, "понимающие" графические форматы Windows.
    • Класс TPicture Это класс-надстройка над TGraphic, точнее — над его потомками. Он имеет поле Graphic, которое может содержать объекты классов TBitmap, Ticon, TMetafile и TJPEGimage.
    • Класс TMetafile Инкапсулирует свойства метафайла Windows. С появлением Windows 95 к стандартному метафайлу (формат WMF) добавился расширенный (формат EMF), обладающий расширенными возможностями.
    • Класс TIcon Этот класс инкапсулирует значок Windows.
    • Класс TBitmap является основой растровой графики в Delphi. В первых версиях среды этот класс соответствовал битовой карте, зависимой от устройства (Device Dependent Bitmap, DDB).
    • Графический формат JPEG. Класс TJPEGImage В 1988 году был принят первый международный стандарт сжатия неподвижных изображений. Он был назван по имени группы, которая над ним работала — JPEG (Joint Photographic Expert Group).
    • Компонент TImage Этот компонент служит надстройкой над классом TPicture и замыкает всю иерархию графических объектов VCL.
    • Использование диалогов для зафузки и сохранения графических файлов Для удобства открытия картинок существует пара компонентов-диалогов: TOpenPictureDialog и TSavePictureDialog.
    • Класс TClipboard предоставляет программисту интерфейс с буфером (папкой) обмена (Clipboard) Windows. При включении в проект модуля CLIPBRD.PAS глобальный объект clipboard создается автоматически и доступен приложению в течение всего времени его работы.
    • Класс TScreen Этот компонент представляет свойства дисплея (в Windows 98 и 2000 — нескольких дисплеев), на котором выполняется приложение.
    • Вывод графики с использованием отображаемых файлов Спору нет — объект TBitmap удобен и универсален. Программисты Borland шагают в ногу с разработчиками графического API Windows, и исходный код модуля GRAPHICS.PAS от версии к версии совершенствуется. Но в ряде случаев возможностей, предоставляемых стандартным компонентом, недостаточно.
    • Класс TAnimate В заключение — несколько слов для тех, кто хочет применить в своих программах анимированные (движущиеся) картинки.

ПРИЛОЖЕНИЯ БАЗ ДАННЫХ

  • Архитектура приложений баз данных
    • Приложение баз данных, как следует уже из его названия, предназначено для взаимодействия с некоторым источником данных — базой данных (БД). Взаимодействие подразумевает получение данных, их представление в определенном формате для просмотра пользователем, редактирование в соответствии с реализованными в программе бизнес- алгоритмами и возврат обработанных данных обратно в базу данных.
    • Как работает приложение баз данных В Репозитории Delphi отсутствует отдельный шаблон для приложения баз данных. Поэтому, как и любое другое приложение Delphi, приложение баз данных начинается с обычной формы
    • Модуль данных Для размещения компонентов доступа к данным в приложении баз данных желательно использовать специальную "форму" — модуль данных (класс TDataModule).
    • Подключение набора данных Компонент доступа к данным является основой приложения баз данных. На основе выбранной таблицы БД он создает набор данных и позволяет эффективно управлять им. В процессе работы такой компонент тесно взаимодействует с функциями соответствующей технологии доступа к данным.
    • Настройка компонента TDataSource На втором этапе разработки приложения баз данных необходимо перенести на форму и настроить компонент TDataSource. Он обеспечивает взаимодействие набора данных с компонентами отображения данных. Чаще всего одному набору данных соответствует один компонент TDataSource, хотя их может быть несколько.
    • Отображение данных На третьем этапе создания приложения баз данных необходимо разработать пользовательский интерфейс на основе компонентов отображения данных. Эти компоненты предназначены специально для решения задач просмотра и редактирования данных
  • Набор данных
    • Любое приложение баз данных должно уметь выполнять как минимум две операции. Во-первых, иметь информацию о местонахождении базы данных, подключаться к ней и считывать имеющуюся в таблицах БД информацию. Эта функция в значительной степени зависит от реализации конкретной технологии доступа к данным.
    • Абстрактный набор данных В основе иерархии классов, обеспечивающих функционирование наборов данных в приложениях баз данных Delphi, лежит класс TDataSet. Хотя он почти не содержит методов, реально обеспечивающих работоспособность основных механизмов набора данных, тем не менее его значение трудно переоценить.
    • Стандартные компоненты Поэтому имеет смысл рассмотреть общие для компонентов свойства и методы, представив, что существуют некие виртуальные общие предки для таблицы, запроса и хранимой процедуры.
    • Компонент таблицы Компонент таблицы обеспечивает доступ к таблице базы данных целиком, создавая набор данных, структура полей которого полностью повторяет таблицу БД.
    • Компонент запроса предназначен для создания запроса SQL, подготовки его параметров, передачи запроса на сервер БД и представления результата запроса в наборе данных. При этом набор данных может быть редактируемым или нет.
    • Компонент хранимой процедуры предназначен для определения процедуры, установки ее параметров, выполнения процедуры и возвращения результатов в компонент.
    • Индексы в наборе данных Важнейшей проблемой для любой БД является достижение максимальной производительности и ее сохранение при дальнейшем увеличении объемов хранимых данных.
    • Механизм подключения индексов Для того чтобы подключить к набору данных вторичный индекс, необходимо присвоить свойству indexName название индекса. Если свойство не имеет значения, то в наборе данных используется первичный индекс.
    • Список описаний индексов Информация об индексах набора данных содержится в свойстве класса
    • Описание индекса Параметры каждого индекса набора данных представлены в классе TindexDef, а их совокупность для набора данных содержится в свойстве IndexDefs класса TDataSet.
    • Использование описаний индексов Описания индексов наряду с описаниями полей также используются при создании новых таблиц БД. Для каждого планируемого индекса перед вызовом метода CreateTable необходимо создать или скопировать из существующего набора данных соответствующее описание. Тогда при создании таблицы индексы будут добавлены автоматически
    • Параметры запросов и хранимых процедур Свойство Params представляет собой набор изменяемых параметров запроса или хранимой процедуры, а также набор объектов TParam, инкапсулирующих отдельные параметры
    • Класс TParams представляет собой список параметров.
    • Класс TParam инкапсулирует свойства отдельного параметра.
    • Состояния набора данных В процессе своего функционирования (от открытия методом Open и до закрытия методом close) набор данных может выполнять самые разнообразные операции. Можно просто перемещаться по записям, можно редактировать данные и удалять записи, можно проводить поиск по различным параметрам и т. д
Контрольные и лабораторные http://pargraf.ru/
Информатика Помехоустойчивые коды и их основные параметры Цифровые сети для передачи речи и данных