Программирование на Delphi 7



   вот такую | canadian pharmacy.com      Горячие зрелые мамки на pornozam.com  Seite besuchen    

Программирование на Delphi 7

Несколько лет назад сайт по Delphi 2 или 3 надо было начинать с азов объектно-ориентированного программирования (ООП). Многие только переходили к Delphi из DOS, многие использовали Borland Pascal for Windows и работали с Windows API напрямую. Объекты еще были в диковинку, и полное разъяснение новых принципов было просто обязательно.
Но и сейчас писать об этом вполне актуально. Конечно, выросло поколение программистов, которые "с молоком матери" впитали новые понятия. Но от понимания объектов до их грамотного использования — дистанция огромного размера. Для создания более или менее сложных приложений нужны навыки объектно-ориентированного дизайна, а для приложений в свою очередь — четкое знание возможностей вашей среды программирования. Поэтому мы постараемся акцентировать внимание читателя на применение ООП в среде Delphi 7.
По сравнению с традиционными способами программирования ООП обладает рядом преимуществ. Главное из них заключается в том, что эта концепция в наибольшей степени соответствует внутренней логике функционирования операционной системы (ОС) Windows. Программа, состоящая из отдельных объектов, отлично приспособлена к реагированию на события, происходящие в ОС. К другим преимуществам ООП можно отнести большую надежность кода и возможность повторного использования отработанных объектов.

Объектно-ориентированное программирование
В модели объектов языка Object Pascal существует механизм доступа к составным частям объекта, определяющий области, где ими можно пользоваться (области видимости). Поля и методы могут относиться к четырем группам (секциям), отличающимся областями видимости. Методы и свойства могут быть общими (секция public), личными (секция private), защищенными (секция protected) и опубликованными (секция published).

Области видимости
Объект изнутри
имеет следующий формат
Внутренняя структура объектов Objl и Obj2
Резюме
Объект и класс
Поля свойства и методы
События
Инкапсуляция
Наследование

Библиотека визуальных компонентов VCL и ее базовые классы
Все классы библиотеки визуальных компонентов произошли от группы базовых классов, которые лежат в основе иерархии VCL. Самый общий предок компонентов — это класс TObject, инкапсулирующий простейший объект. Как известно, каждый объект наследует свойства и методы родительского класса. К объекту можно добавить новые свойства и методы, но нельзя удалить унаследованные.

Класс TWinControl
Класс TCustomControl
Класс TGraphicControl
Резюме
Иерархия базовых классов
Иерархия базовых классов VCL
Класс TObject
Класс TPersistent
Класс TComponent
Свойства и методы

Обработка исключительных ситуаций
При помощи специальной директивы компилятора {$ASSERTIONS ON/OFF} (или, что то же самое, {$с+}/{$с-}) возникновение этих ИС можно централизованно запретить. То есть в отлаживаемом коде в режиме {$с+} можно расставить вызов Assert во всех сомнительных и проверяемых местах. Когда же придет время генерации конечного варианта кода, переключением директивы на {$c-} весь отладочный вывод запрещается.

Исключительная ситуация как класс
Дерево исключительных ситуаций Delphi 7
Исключительные ситуации
Исключительные ситуации - 2
Исключительные ситуации - 3
Защитные конструкции языка Object Pascal
Блок try except
Типовое окно сообщения об ошибке
Блок try finally
Использование исключительных ситуаций

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

Кроссплатформенное программирование для Linux
Проект CLX
Концепция кросс программирования
Библиотека компонентов CLX
Уникальные визуальные компоненты CLX
Сходства и различия компонентов CLX и VCL
Особенности программирования для Linux
Приложения баз данных для Linux
Internetприложения для Linux
Резюме

Элементы управления Win32
Этот вид элементов управления применяется уже достаточно давно. Его роль заключается в отображении различного рода справочной информации. Панель состояния инкапсулирована в компоненте TStatusBar. Обычно панель состояния размещается в нижней части окна. Поэтому при переносе на форму свойство Align всегда имеет значение alBottom. Панель состояния можно разделить на произвольное число самостоятельных частей. Каждая часть описывается объектом TStatusPanel.

Панель состояния TStatusBar
Комбинированный список TComboBoxEx
Создание нового компонента
Мастер создания новых компонентов Delphi 7
Тестовое приложение содержащее IPредактор
Сообщения обрабатываемые
Резюме
Что такое библиотека ComCtl32
Многостраничный блокнот — компоненты
Основные свойства

Элементы управления Windows XP
При первом знакомств с Windows XP сразу же оораг -ешь внимание на существенные изменения в оформлении пользовательскою интерфейса этой операционной системы. Все нововведения основаны на использовании нового способа отрисовки элементов управления, который реализован в системной динамической библиотеке ComCtl32.dll версии 6. Эта библиотека входит в состав операционной системы Windows XP.

Пользовательский интерфейс Windows XP
Манифест Windows XP
Компонент TXPManifest
Включение манифеста Win XP в ресурсы
Визуальные стили и темы оформления
Визуальные стили в Delphi
Theme API
Компоненты настройки цветовой палитры

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

Класс TCollectionltem
Свойства и методы класса TCollectionltem
Резюме
Список строк
Класс TStrings
Класс TStringList
Список указателей
Класс TList
Алгоритм увеличения памяти списка
Свойства и методы класса TList

Действия (Actions) и связанные с ними компоненты
Эти действия скорее всего будут наиболее востребованы разработчиками. И они же являются довольно простыми в использовании. TFiieOpen, TFileSaveAs, TFilePrintSetup — это оболочки над соответствующими диалогами. О том, как работать с такими действиями, описано выше. Действие TFlieExit вообще не требует комментариев — оно просто завершает приложение, закрывая его главную форму.

Категория File
Категория Dialog
Категория Window
Категория Tab
Действия Компонент TActionList
Редактор действий компонента TActionList
Опубликованные свойства объекта TAction
Изменение и настройка внешнего вида панелей
Условия скрытия элементов панелей действий
Ручное редактирование панелей и действий

Файлы и устройства ввода/вывода
Большинство приложений создаются для того, чтобы обрабатывать данные — это прописная истина. С развитием программных технологий мы имеем возможность получать и посылать все более крупные и сложные массивы данных; однако до сих пор 90% из них хранятся в файлах. Для использования файлов в приложении разработчику приходится решать множество задач. Главные из них — поиск необходимого файла и выполнение с ним операций ввода/вывода

Класс TFileStream
Класс TMemoryStream
Класс TStringStream
Оповещение об изменениях в файловой системе
Использование отображаемых файлов
Резюме
Использование переменных Типы файлов
Операции ввода/вывода
Процедуры и функции для работы с файлом
Ввод/вывод с использованием Windows API

Использование графики
"Одно изображение стоит тысячи слов", — говорил древнекитайский император Сун; его слова верны и в наши времена. 80% информации мозг человека получает по зрительному каналу, и не удивительно, что программисты стараются придать внешнему виду своих программ максимум привлекательности. Поэтому в Delphi с самого начала появились развитые средства для работы с графическими возможностями Windows.

Класс Tlcon
Класс TBitmap
Графический формат JPEG Класс TJPEGImage
Компонент TImage
Использование диалогов для загрузки
Внешний вид компонента TSavePictureDiaiog
Класс TClipboard
Класс TScreen
Вывод графики отображаемых файлов
Снимок с метеорологического спутника

Архитектура приложений баз данных
Приложение баз данных, как следует уже из его названия, предназначено для взаимодействия с некоторым источником данных — базой данных (БД). Взаимодействие подразумевает получение данных, их представление в определенном формате для просмотра пользователем, редактирование в соответствии с реализованными в программе бизнес- алгоритмами и возврат обработанных данных обратно в базу данных.

Как работает приложение баз данных
Механизм доступа к данным приложения БД
Модуль данных
Модуль данных - 2
Подключение набора данных
Настройка компонента TDataSource
Отображение данных
Главная форма приложения DemoDBApp

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

Иерархия классов обеспечивающих
Описание индекса
Использование описаний индексов
Параметры запросов и хранимых процедур
Редактор параметров запроса
Главная форма проекта DemoQueryParams
Класс TParams
Класс TParam
Состояния набора данных
Автоматические состояния набора данных

Поля и типы данных
Каждая БД и, следовательно, каждый набор данных приложения имеет собственную структуру, которая определяется совокупностью полей. Каждое поле набора данных представляет собой объект, содержащий описание типа данных, которому должно соответствовать значение, находящееся в записи на определенном месте. Иначе, полем можно назвать совокупность ячеек с данными конкретного типа, расположенных в одном и том же месте каждой записи набора данных, или попросту — это столбец в таблице.

Объектные поля
Типы данных
Типы данных
Ограничения
Управляющие символы шаблона
Резюме
Объекты полей
Иерархия классов полей
Статические и динамические поля
Редактор полей с списком агрегатных полей

Механизмы управления данными
Наряду с описываемыми в предыдущих главах свойствами и методами, стандартный набор данных Delphi инкапсулирует ряд дополнительных механизмов, облегчающих управление записями и полями. К ним относятся такие полезные функции, как быстрое перемещение по записям, поиск нужной записи по значениям полей, дополнительная фильтрация записей набора данных без использования возможностей СУБД и т. д. Большинство этих механизмов применяют в своей работе индексы таблиц БД.

Быстрый переход к помеченным записям
Главная форма проекта DemoBookmark
Диапазоны
Резюме
Связанные таблицы
Отношение "один ко многим"
Редактор связей полей
Customers представлена
Форма покупателей является главной
Главная форма проекта DemoJoins

Компоненты отображения данных
До этого момента мы рассмотрели аспекты создания приложений баз данных, касающиеся организации доступа к данным и создания в приложениях наборов данных. Теперь более подробно остановимся на вопросах отображения данных в приложениях (интерфейс приложений).

Компонент TDBRadioGroup
Компонент TDBListBox
Компонент TDBComboBox
Компонент TDBMemo
Компонент TDBImage
Компонент TDBRichEdit
Синхронный просмотр данных
Механизм синхронного просмотра
Основные свойства
Главная форма проекта DemoLookup

Процессор баз данных Borland Database Engine
Любое приложение баз данных имеет в своем составе или использует сторонний механизм доступа к данным, который берет на себя подавляющее большинство стандартных низкоуровневых операций работы с базами данных. Например, любое такое приложение при открытии таблицы БД должно выполнить примерно одинаковый набор операций.

Компонент TQuery
Свойства и методы компонента TQuery
Компонент TStoredProc
Свойства и методы компонента TstoredProc
Резюме
Архитектура и функции BDE
Структура процессора баз данных ВОЕ
Ядро процессора баз данных ВОЕ 5
Псевдонимы баз данных и настройка ВDЕ
Окно утилиты BDE Administrator

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

Компонент TSQLQuery
Компонент TSQLStoredProc
Компонент TSimpleDataSet
Способы редактирования данных
Окно приложения Demo dbExpress
Интерфейсы dbExpress
Интерфейс ISQLDriver
Интерфейс ISQLConnection
Интерфейс ISQLCommand
Интерфейс ISQLCursor

Сервер баз данных InterBase и компоненты InterBase Express
На странице InterBase Палитры компонентов содержатся компоненты доступа к данным, адаптированные для работы с сервером InterBase и объединенные названием InterBase Express. Компоненты из набора InterBase Express предназначены для работы с сервером InterBase версии не ниже 5.5.

Компонент TIBStoredProc
Компонент TIBDataSet
Свойства и методы компонента TIBDataSet
Редактор запроса компонента TIBDataSet
Компонент TIBSQL
Свойства и методы компонента TIBSQL
Обработка событий
Свойства и методы компонента TiBEvents
Информация о состоянии базы данных
Компонент TiBDatabaseinfo

Использование ADO средствами Delphi
Наряду с традиционными инструментами доступа к данным Borland Database Engine и ODBC в приложениях Delphi можно применять технологию Microsoft ActiveX Data Objects (ADO), которая основана на возможностях СОМ, а именно интерфейсов OLE DB.

Реализация ADO в Delphi
Компоненты ADO
Механизм соединения с хранилищем данных ADO
Компонент TADOConnection
Настройка соединения
Редактор настройки соединения ADO
Диалоговое окно настройки параметров
Диалоговое окно настройки параметров - 2
Диалоговое окно настройки параметров - 3
Диалоговое окно настройки параметров - 4

Технология DataSnap. Механизмы удаленного доступа
В этой главе мы рассмотрим модель распределенного приложения БД, которая называется многозвенной (multitiered), и, в частности, ее наиболее простой вариант — трехзвенное распределенное приложение. Тремя частями такого приложения являются: собственно сервер базы данных; сервер приложений (серверная часть приложения); клиентская часть приложения.

Провайдеры данных
Методы бработчики
Компоненты - брокеры соединений
Компонент TSimpleObjectBroker
Редактор списка серверов TSimpleObjectBroker
Свойства класса TServeritem
Компонент TLocalConnection
Компонент TSharedConnection
Компонент TConnectionBroker
Резюме

Сервер приложения
Многозвенные распределенные приложения обеспечивают эффективный доступ удаленных клиентов к базе данных, так как в них для управления доступом к данным применяется специализированное ПО промежуточного слоя. В наиболее распространенной схеме — трехзвенном приложении — это сервер приложения, который выполняет следующие функции: обеспечивает авторизацию пользователей; принимает и передает запросы пользователей и пакеты данных; регулирует доступ клиентских запросов к серверу БД, балансируя нагрузку сервера БД; может содержать часть бизнес-логики распределенного приложения, обеспечивая существование "тонких" клиентов

Сервер приложения
Главный удаленный модуль данных
Дочерний удаленный модуль данных
Библиотека типов сервера SimpleAppSrvr
Регистрация сервера приложения
Резюме
Структура сервера приложения
Интерфейс IAppServer
Методы интерфейса IAppServar
Интерфейс IProviderSupport

Клиент многозвенного распределенного приложения
Клиентское ПО в распределенном многозвенном приложении имеет особенности архитектуры, продиктованные его ролью — ведь большая часть бизнес-логики и функций обработки данных сосредоточены в сервере приложений. Такая схема призвана обеспечить более высокую эффективность обработки запросов многочисленных удаленных клиентов, а также упрощает обслуживание клиентского ПО.

Работа с данными типа BLOB
Представление данных в формате XML
Агрегаты
Объекты агрегаты
Редактор агрегатов компонента TClientDataSet
Агрегатные поля
Группировка и использование индексов
Вложенные наборы данных
Свойства полей клиентского набора данных
Обработка ошибок

Программирование на Delphi 7 (2)

Все классы библиотеки визуальных компонентов произошли от группы базовых классов, которые лежат в основе иерархии VCL. Самый общий предок компонентов — это класс TObject, инкапсулирующий простейший объект. Как известно (см. гл. 1), каждый объект наследует свойства и методы родительского класса. К объекту можно добавить новые свойства и методы, но нельзя удалить унаследованные. Объект-наследник в свою очередь может стать родительским для нового класса, который унаследует возможности всех своих предков.
Поэтому иерархия базовых классов VCL продумана чрезвычайно тщательно — ведь на их основе создано все множество компонентов, используемых в Delphi. Особое место среди базовых классов, помимо TObject, занимают TComponent (от него происходят все компоненты) и TControl (от него происходят все элементы управления).

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

Класс TWinControl
Класс TCustomControl
Класс TGraphicControl
Резюме
Иерархия базовых классов
Иерархия базовых классов VCL
Класс TObject
Класс TPersistent
Класс TComponent
Свойства и методы

Окно сообщения обработчика
Любому, кто писал более или менее сложные программы, интуитивно ясно, что такое обработка исключительных ситуаций (ИС). Всякое взаимодействие с операционной системой на предмет получения ресурсов — места на диске, в памяти, открытие файла — может завершиться неудачно. Любое вычисление может закончиться делением на ноль или переполнением.

Функция Assert
Окно сообщения обработчика исключительной
Резюме
Исключительная ситуация как класс
Объекты исключительных ситуаций Delphi 7
Исключительные ситуации
Исключительные ситуации - 2
Исключительные ситуации - 3
Защитные конструкции языка Object Pascal
Блок try except

Проект CLX
Проект CLX отличается от обычного типом файла, содержащего информацию о форме. Если в обычном проекте файл формы имеет расширение dfm, то в проекте CLX это файл с расширением xfm, одинаково понятный и для Delphi, и для Kylix, так так и те и другие файлы являются обычными текстовыми файлами и сведения о форме представлены в них в текстовом виде.

Кроссплатформенное программирование
Проект CLX
Концепция платформенного программирования
Библиотека компонентов CLX
Уникальные визуальные компоненты CLX
Сходства и различия компонентов CLX и VCL
Особенности программирования для Linux
Приложения баз данных для Linux

Расширенный комбинированный список TComboBoxEx
Элементам управления, пришедшим из состава Windows, начиная с Delphi 3, посвящается отдельная страница в Палитре компонентов под названием Win32. Их количество (и возможности!) постоянно растет. В этой главе будут рассмотрены основные и новые для Delphi 7 элементы.

Редактор списка изображений TImageList
Компоненты TTreeView w TListView
Внешний вид компонента TTreeView
Список свойств объекта TTreeNode
Методы позволяющие
Внешний вид редактора узлов TTreeView
Режимы отображения компонента TListview
Так будет располагаться информация
Приложение MiniRegistry
Календарь

Пользовательский интерфейс Windows XP
В Delphi 7 впервые появилась возможность настраивать пользовательский интерфейс приложений для использования в Windows XP. Для этого в состав ресурсов приложения должен включаться манифест Windows XP. Это дополнение призвано обеспечить корректное взаимодействие элементов управления приложения с системной библиотекой ComCtl32.dll версии 6, используемой в Windows XP.

Пользовательский интерфейс Windows XP
Манифест Windows XP
Компонент TXPManifest
Включение манифеста Windows XP в ресурсы
Визуальные стили и темы оформления
Визуальные стили в Delphi
Theme API
Компоненты настройки цветовой палитры

Свойства и методы класса TCollectionltem
В принципе хранение и использование наборов значений можно обеспечить при помощи хорошо всем известных массивов. Однако их прямое использование требует от разработчика дополнительных усилий. Ведь при реализации программной логики необходимо добавлять в массив новые элементы, изменять существующие и удалять ненужные. Кроме этого, часто бывает необходимо найти элемент массива по значению.

Список строк
Класс TStrings
Класс TStringList
Список указателей
Класс TList
Алгоритм увеличения памяти списка
Свойства и методы класса TList
Пример использования списка указателей
Коллекции
Редактор коллекции

Категория Dialog
С давних пор повелось, что стандарты на пользовательский интерфейс Windows-приложений Microsoft задает "явочным порядком". Первая громкая история на эту тему связана с появлением в 1994 г. Excel 2.0 for Windows, когда разработчики из Редмонда впервые применили интерфейс со многими документами (впоследствии широко известный как MDI) и даже не подумали задокументировать и опубликовать его.

События связанные с действиями
Свойства клиентов действия
Свойства компонента
Меню и панель используют один список действий
Прочие свойства
Стандартные действия
Окно выбора стандартных действий
Категория Edit
Категория Search
Категория Help

Класс TMemoryStream
Основные принципы и структура файловой системы мало изменились со времен MS-DOS. Файловые системы (FAT32, NTFS), появившаяся в Windows 2000 служба Active Directory не изменяют главного — понятия файла и способов обращения к нему.

Использование переменных Типы файлов
Операции ввода/вывода
Процедуры и функции для работы с файлом
Ввод/вывод с использованием Windows API
Параметры функции CreateFile
Отложенный (асинхронный) ввод/вывод
Контроль ошибок ввода/вывода
Атрибуты файла Поиск файла

Класс TBitmap
Не пытайтесь изменить размеры значка — они по определению постоянны (и равны GetSystemMetrics(SM_CXICON) И GetSystemMetrics(SM_CYICON)) , и при попытке присвоить новые значения возникает исключительная ситуация EinvaiidGraphicOperation. Значок нельзя также читать и писать в буфер обмена, т. к. в Windows нет соответствующего формата.

Свойства класса Tpen
Класс TBrush
Свойства класса TBrush
Класс TCanvas
Методы класса TCanvas
Свойства класса TCanvas
Главная форма примера GraphEx
Класс TGraphic
Класс TPicture
Класс TMetafile

Механизм доступа к данным приложения баз данных
В Репозитории Delphi отсутствует отдельный шаблон для приложения баз данных. Поэтому, как и любое другое приложение Delphi, приложение баз данных начинается с обычной формы. Безусловно, это оправданный подход, т. к. приложение баз данных имеет пользовательский интерфейс.

Как работает приложение баз данных
Доступ к данным приложения баз данных
Модуль данных
Модуль данных
Подключение набора данных
Настройка компонента TDataSource
Отображение данных
Главная форма приложения DemoDBApp

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

Схема изменения состояний набора данных
Резюме
Абстрактный набор данных
Стандартные компоненты
Компонент таблицы
Компонент запроса
Компонент хранимой процедуры
Индексы в наборе данных
Механизм подключения индексов
Список описаний индексов

Типы данных
В среде разработки Delphi можно создавать приложения для работы с самыми разными базами данных. Такая универсальность подразумевает необходимость применения средств, которые бы обеспечили возможность работы со многими типами данных, используемыми в этих базах данных.

Иерархия классов полей
Статические и динамические поля
Редактор полей с списком агрегатных полей
Диалог создания нового
Класс TField
Виды полей
Поля синхронного просмотра
Вычисляемые поля
Внутренние вычисляемые поля
Агрегатные поля

Диапазоны
В наборе данных, помимо фильтров, имеется еще одно средство отбора записей. Группа методов позволяет на основе использования индексов отбирать в набор данных только те записи, значения индексированных полей которых (для текущего индекса) соответствуют диапазону заданных величин

Форма покупателей является главной
Главная форма проекта DemoJoins
Отношение "многие ко многим"
Форма заказов уже работает
Поиск данных
Поиск по индексам
Главная форма проекта DemoFind
Поиск в диапазоне
Поиск по произвольным полям
Фильтры

Компонент TDBListBox
Компонент отображает текущее значение связанного с ним поля набора данных и позволяет изменить его на любое фиксированное из списка. Функционально компонент ничем не отличается от компонента TListBox. Значение поля должно совпадать с одним из элементов списка. Специальных методов компонент не содержит.

Редактор колонок компонента TDBGrid
Свойства и методы компонента WBGrid
Список колонки в компоненте TDBGrid
Свойства и методы класса TColumn
Свойства и методы класса TDBGridColumns
Компонент TDBCtrlGrid
Свойства и методы компонента TDBCtrlGrid
Навигация по набору данных
Назначение кнопок компонента TDBNavigator
Свойства и методы компонента TDBNavigator

Свойства и методы компонента TQuery
Для подключения к базе данных используется свойство DatabaseName, в котором задается псевдоним BDE или путь к базе данных. Текст запроса определяется свойством SQL, для задания которого применяется простой редактор, открывающийся при щелчке на кнопке свойства в Инспекторе объектов

Соединение с источником данных
Свойства и методы компонента TDatabase
Компоненты доступа к данным
Класс TBDEDataSet
Свойства и методы класса TBDEDataSet
Класс TDBDataSet
Свойства и методы класса TDBDataSet
Компонент TTable
БД на основе которой создается
Свойства и методы класса Tтаblеl

Компонент TSQLStoredProc
Компонент TSQLQuery повторяет функциональность своих аналогов в BDE, ADO, InterBase Express и позволяет выполнять на сервере запросы SQL клиента.

Распространение приложений с dbExpress
Резюме
Соединение с сервером баз данных
Окно редактора настроенных соединений
Управление наборами данных
Транзакции
Использование компонентов наборов данных
Класс TCustomSQLDataSet
Компонент TSQLDataSet
Компонент TSQLTable

Компонент TIBStoredProc
Компонент TIBStoredProc полностью соответствует стандартному прототипу, описываемому в гл. 12. Имя хранимой процедуры задается свойством property StoredProcName: String; Список всех доступных на этапе выполнения хранимых процедур возвращает свойство property StoredProcedureNames: TStrings;

Компонент TIBTransaction
Компоненты доступа к данным
Методы обработчики
Область дескрипторов XSQLDA
Свойства и методы класса TIBXSQLDA
Структура XSQLVAR
Свойства и методы класса TIBXSQLVAR
Компонент TIBTable
Компонент TIBQuery
Редактор свойства GeneratorField TiBQuery

Реализация ADO в Delphi
Механизм доступа к данным через ADO и многочисленные объекты и интерфейсы реализованы в VCL Delphi в виде набора компонентов, расположенных на странице ADO. Все необходимые интерфейсы, обеспечивающие работу компонентов, объявлены и описаны в файлах OleDB.pas и ADODB.pas в папке \Delphi7\Source\Vcl.

Компонент TADOQuery
Компонент TADOStoredProc
Команды ADO
Иерархия классов компонента TADOCommand
Объект ошибок ADO
Пример приложения ADO
Транзакции
Наборы рядов
Команды
Провайдеры ADO

Провайдеры данных
Компонент-провайдер TDataSetProvider представляет собой мост между набором данных сервера приложений и клиентским набором данных. Он обеспечивает формирование и передачу пакетов данных клиентскому приложению и прием от него сделанных изменений

Сервер приложений
Выбор модулей данных в Репозитории Delphi
Клиентское приложение
Механизм удаленного доступа к данным DataSnap
Компонент TDCOMConnection
Методы обработчики
Компонент TSocketConnection
Сокетсервер ScktSrvr exe
Регистрация перехватчика СОМ в сокет сервере
Компонент TWebConnection

Главный удаленный модуль данных
Метод класса updateRegistry для модуля данных создается автоматически и обеспечивает регистрацию и аннулирование регистрации сервера Автоматизации. Одновременно с удаленным модулем данных автоматически создается библиотека типов и в ней дуальный интерфейс isimpleRDM и интерфейс диспетчеризации ISimpleRDMDisp

Интерфейс IAppServer
Методы интерфейса IAppServar
Интерфейс IProviderSupport
Удаленные модули данных
Модуль данных для сервера Автоматизации
Дочерние удаленные модули данных
Регистрация сервера приложения
Диалог параметров запуска приложения
Пример простого сервера приложения
Файлы проекта simpieAppSrvr

Представление данных в формате XML
Набор данных клиента легко можно представить в формате XML. Для этого достаточно использовать свойство property XMLData: OleVariant; которое возвращает данные, содержащиеся в буфере Data (см. выше) в бинарном виде, в формате XML.

Наборы данных клиентского приложения
Резюме
Клиентские наборы данных
Иерархия классов клиентских наборов данных
Компонент TClientDataSet
Получение данных от компонента провайдера
Кэширование и редактирование данных
Управление запросом на сервере
Использование индексов
Сохранение набора данных в файлах

Delphi 5.Учебник

Пользователю предоставляется возможность использовать опцию Use CAB file compression, которая позволяет сжать элемент управления ActiveX или форму ActiveForm и любые дополнительные файлы, такие как файлы DPL или файлы лицензий. Эта возможность поддерживается только при использовании броузера Internet Explorer 3.01. На сегодняшний день броузер Netscape Navigator не поддерживает САВ-файлы. По умолчанию библиотека ActiveX, модули (если такие есть) и дополнительные файлы упаковываются в три САВ-файла. Возможна также упаковка всех файлов в один САВ-файл, но делать это не рекомендуется. Разделяя файлы по различным архивам CAB, вы можете избежать загрузки излишних файлов, которые уже установлены на компьютере пользователя.

Использование модулей выполнения
Наиболее важный момент в этом процессе — распространение модулей выполнения (runtime packages). Если элемент управления ActiveX или форма ActiveForm использует модули, то следует включить опцию Deploy Required Packages.

Использование сжатия CAB
Использование подписей кода
Порядковые типы
Операции над порядковыми типами
Целые типы
Физические целые типы
Логические целые типы
Символьные типы
Булевы типы
Размеры переменных булевых типов

Delphi 5. Среда разработки
Delphi 5 позволяет сохранять сведения о том, какие окна среды разработки открыты, и где именно на экране они расположены. Таких конфигураций может быть создано и сохранено несколько, при этом имеется возможность выделить отдельную конфигурацию, которая будет автоматически загружаться в режиме отладки (так называемый debug desktop) и выгружаться при выходе из него.

Опции командной строки
Нововведения в менеджере проектов
Новый браузер проектов
To-do list: список недоделанных дел…
DFM как текст
Управление автоматическим созданием форм
Translation Repository: создадим словарь
TeamSource - разработка проектов
Новое в Visual Component Library
Компонент TApplicationEvents

Delphi 4 новые возможности и некоторые примеры их применения
В Delphi 4 изменились средства управления проектами. Теперь менеджер проектов позволяет работать одновременно над несколькими приложениями и создавать группы проектов. Похожий менеджер проектов знаком пользователям C++Builder 3.

Динамические массивы
В Delphi 4 появилась возможность, наряду с обычными массивами, создавать динамические массивы, в которых не определено число элементов: S: array of string; Отметим, что динамические массивы могут быть многомерными: I: array of array of integer;

Динамические массивы
Перегрузка методов
Параметры со значениями по умолчанию
Битные целые
Битные беззнаковые целые
Делегирование реализации интерфейса свойству

Автоматизация определения новых классов (Class Completion)
В Delphi 4 автоматизировано определение новых классов путем генерации заготовок кода реализации для определяемых разработчиком членов классов. Допустим, мы определяем новый класс, вводя в секцию интерфейса следующий код: TMSGButton=class(TButton) property MSGcount:integer; property MSG: string; procedure ShowMSG; end;

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

Компонент TActionList
На странице Standard палитры компонентов Delphi 4 появился новый компонент TActionList. Этот компонент предназначен для упорядочения обработчиков событий различных интерфейсных элементов (меню, инструментальных панелей, кнопок и др.). Нередко при использовании широкого спектра интерфейсных элементов и изменения их поведения на этапе выполнения (например, изменения доступности некоторых элементов меню) отслеживание связей интерфейсных элементов и имеющихся в приложении процедур становится затруднительным.

Компонент TActionList
Другие дополнительные возможности

Поддержка сервисов Windows NT
В Delphi 4 имеется поддержка приложений-сервисов Windows NT, выполняющихся в фоновом режиме и стартующих при загрузке операционной системы. С этой целью в репозитарии объектов имеются два дополнительных шаблона для создания подобных приложений.

Поддержка новых версий СУБД и новых типов данных
Библиотека Borland Database Engine (BDE) теперь поддерживает Access '97 и Oracle8, при этом поддерживаются новые расширения Oracle 8, такие как абстрактные типы данных (ADT - Abstract Data Type), массивы, ссылки, вложенные таблицы. В соответствии с этим созданы новые классы объектов - потомков TField: TADTField, TReferenceField, TDataSetField, TArrayField.

Работа с базами данных
Поддержка версий СУБД и типов данных
Поддержка вложенных таблиц
Новый генератор запросов - SQL Builder
Новые возможности генерации отчетов
Автоматизация для публикации в Internet

Заключение
Итак, новая версия Delphi представляет собой высокопродуктивное средство быстрой разработки приложений, в том числе корпоративных информационных систем, использующих распределенные вычисления. Этот продукт позволяет осуществлять разработку CORBA- и COM-серверов и клиентов, в том числе "тонких" клиентов, не требующих конфигурации, таких, как отображаемые в Web-броузере ActiveX.

Полезные компоненты для пользователей Delphi и С++Builder
Долгожданная пятая версия Delphi, обрадовав своим появлением на свет всех своих поклонников, к сожалению, многих разочаровала. Практически по одной единственной причине - проекты, сделанные (или начатые) в предыдущей версии, не поддаются перекомпиляции. Проблема кроется в большом количестве изменений в новой версии библиотеки VCL. Inprise предоставил документацию об изменениях, предложил пути переделки таковых проектов.

Страница RX Controls
Страница RX DBAware
Некоторые полезные функции и классы
Некоторые полезные примеры
Полезные компоненты и утилиты
Библиотека OverPLAY 3.0
Назначение библиотеки OverPLAY 3.0
Компоненты библиотеки OverPLAY 3.0
Создание модульных приложений с OverPLAY
OverDig 2.0 для управления IB Database

Советы пользователям Delphi и C++Builder
Нередко при запуске Windows-приложений перед работой приложения появляется заставка (в англоязычной литературе она называется Splash screen), содержащая информацию о запускаемом приложении и, возможно, иные сведения (серийный номер продукта, версию и пр.). Каким образом можно создать такую заставку?

Создание простейших заставок
Вывод информации о приложении на заставке
Вывод информации о приложении на заставке - 2
Заставка с видеофрагментом
Заставка с видеофрагментом - 2
Заставка с видео на полном экране
Немного о внешних устройствах и ОС
Определение наличия CD в дисководе
Определение наличия CD в дисководе - 2
Получение сведений о видеорежиме

Язык унифицированного моделирования UML
В истории развития средств разработки программного обеспечения не раз происходили события, когда появление новых технологий разработки кардинально изменяло мировоззрение программистов и методы создания приложений и программных систем. Можно вспомнить в связи с этим возникновение методологии объектно-ориентированного программирования (ООП), теории и практики создания реляционных баз данных и т.д.

Bold — реализация MDA в Delphi
Инсталляция Bold. Размещение компонентов

BOLD – инструмент реализации MDA в Delphi
Эти компоненты реализуют основу объектного пространства (Object Space) нашего приложения. Чтобы правильно функционировать, они должны быть связаны между собой и настроены так, как это будет описано ниже.

Borland MDA и модель приложения
MDA предлагает новый интегральный подход к созданию многоплатформенных приложений, с обеспечением возможностей взаимодействия между этими приложениями. Мы остановимся здесь лишь на таких основных моментах, понимание которых необходимо для дальнейшего обсуждения этой технологии.

Создание модели
В предыдущей части были рассмотрены основные функции модели приложения в Borland MDA, а также кратко описаны элементы диаграммы классов UML. Настоящая статья посвящена практической разработке модели MDA-приложения в графических UML-редакторах на примере CASE-системы Rational Rose. Следует отметить, что после включения в версию 4 Bold for Delphi полной поддержки функций импорта и экспорта модели в формате XMI (XML Metadata Interchange — язык обмена метаданными XML) появилась возможность разрабатывать модели приложений для Borland MDA в любом UML-редакторе, поддерживающем этот формат (например, в PowerBuilder компании Sybase)

Объектное пространство
Понятие объектного пространства (Object Space) является важнейшим элементом в архитектуре Borland MDA. Любой разработчик, использующий эту технологию, рано или поздно неизбежно сталкивается с необходимостью применения на практике многих возможностей, предоставляемых архитектурой MDA-приложений, однако без понимания основ работы с объектным пространством многие из таких возможностей остаются недоступными.

Объектное пространство и OCL
Язык OCL был разработан как средство описания дополнительных условий и ограничений, налагаемых на элементы диаграммы классов UML, и в этом плане является частью UML. OCL — продукт корпорации IBM, а в 1997 году вышла спецификация языка версии 1.1, в разработке и согласовании которой приняли участие такие компании, как Rational, Microsoft, Oracle, Hewlett-Packard и ряд других.

Объектное пространство и OCL. Графический интерфейс
Еще одним применением языка OCL в Borland MDA является использование OCL-выражений для определения вычисляемых (derived) атрибутов. Вычисляемые атрибуты, по аналогии с вычисляемыми полями традиционных компонентов для работы с базами данных, не сохраняются в базе данных, а их значения рассчитываются во время работы приложения в Borland MDA в момент первого обращения к значению такого атрибута.

Работа с СУБД
Рассмотрим, как на практике происходит подключение к СУБД. Для этого используем ранее созданное приложение, состоящее из одной формы и модуля данных. Удалим из модуля данных компонент BoldPersistenceHandleFileXML, а вместо него добавим компоненты BoldPersistenceHandleDB1, BoldDatabaseAdapterIB1 с закладки BoldPersistence, а также компонент, представляющий базу данных Interbase, — IBDatabase1

Delphi в мире Юникода
Интернет ломает географические барьеры, обеспечивая возможность распространения программного обеспечения по всему миру. В результате приложения больше не могут использоваться в среде на основе одной только кодировки ANSI. В мире кодировка Unicode была воспринята как стандартное средство передачи текста и данных.

Что такое кодировка Unicode
Преимущества кодировки Unicode
Немного о терминологии
Новый тип UnicodeString

Delphi и кодировка Unicode
Библиотека Tiburon RTL включает новый класс TCharacter, который описывается в модуле Character. Это закрытый класс, который полностью состоит из статичных функций класса. Разработчикам не следует создавать экземпляры класса TCharacter, предпочтительнее просто вызывать его статические методы класса напрямую.

Класс TCharacter
Класс TEncoding
TStringBuilder
Поддержка Unicode библиотекой RTL
StringElementSize
StringCodePage
Другие функции библиотеки RTL
SetCodePage
Получение массива байтов TBytes
Заключение

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

Обычное использование строковых типов
Runtime Library
VCL
Индексация в строках
Length/Copy/Delete/SizeOf для строк
Работа с указателями для PChar
ShortString
Части, которые должны быть проверены
SaveToFile/LoadFromFile
Использование функции Chr

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

Моя первая программа
Создание консольного приложения
Приветствие
Случайный выбор
Изменение заголовка формы
Двигающая кнопка
Альбом
Работа с меню
Случайный выбор из списка
Простейший плеер

Delphi и COM
COM (Component Object Model) — модель объектных компонентов — одна из основных технологий, на которых основывается Windows. Более того, все новые технологии в Windows (Shell, Scripting, поддержка HTML и т.п.) реализуют свои API именно в виде COM-интерфейсов. Таким образом, в настоящее время профессиональное программирование требует понимания модели COM и умения с ней работать.

Базовые понятия
Интерфейс
Авто управление памятью и подсчет ссылок
Объявление интерфейсов
IUnknown
Реализация интерфейсов
Реализация интерфейсов расширенное
Интерфейсы и TComponent
Использование интерфейсов внутри программы
Использование интерфейсов для Plug-In

Советы начинающим
Порядок, в котором обрабатываются события при загрузке формы OnCreate OnShow OnPaint OnActivate OnResize OnPaint Ето может быть важно например для того чтобы координировать некоторые акции по управлению положением формы

Как сделать возможным передвижение
Минимальные размеры формуляра
Объявление глобальных переменных
Как перейти к указанной записи в БД?
Как вызвать подсказку к подсказке?
Как вывести главное окно справочной системы?
Как скрыть свойства объекта?
Как скрыть форму при старте приложения?
Как "заствавить" формуляр не разворачиваться?
Как ускорить навигацию по исходному тексту?

Использование ассемблера в Дельфи
Вы любите Дельфи? Я да! Мое имя Гуйдо Гайбелс, и многие годы использую Borland Delphi и искренне верю, что это лучший инструмент на рынке RAD инструментов. Дельфи не только обладает мощью, но также надежностью и высокой скоростью. Язык программирования Object Pascal изумительный, а компилятор просто фантастический.

Где размещать ассемблерный код
Код входа/выхода и сохранение регистров
Передача информации через регистр
Передача информации через стек
Локальные переменные
Возврат информации через регистры процессора
Возврат информации через стек процессора
Возврат информации через стек сопроцессора
Передача параметров по зничению и ссылке
Замечания о синтаксисе

Описание встроенного языка системы 1С Предприятие

Данная книга является описанием встроенного языка системы 1С:Предприятие и предназначена для специалистов, выполняющих конфигурирование системы для решения конкретной задачи автоматизации учета.
1С:Предприятие является гибкой настраиваемой системой, с помощью ко­торой можно решать широкий круг задач в сфере автоматизации деятельности предприятий. Специфические алгоритмы конфигурации описываются в системе 1С:Предприятие при помощи программной компоненты Конфигуратор (далее по тексту — конфигуратор) в программных модулях, содержащих тексты на встроенном языке системы 1С:Предприятие.

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

Формат описания элементов языка
Соглашения и обозначения в диаграммах
Синтаксическая диаграмма описания элемент
ЭлементЯзыка
Что такое программный модуль?
Контекст выполнения программного модуля
Виды программных модулей
Глобальный модуль
Модуль Формы списка справочника
Модуль Формы группы справочника

Выбрать Документы
Непосредственно сама выборка осуществляется при помощи метода ПолучитьДокумент в порядке возрастания даты и времени записи документов (если не задан обратный порядок методом ОбратныйПорядок).
Данный метод может использоваться только для объектов, созданных функцией СоздатьОбъект.

ВыбратьПодчиненныеДокументы
ВыбратьПоЗначению
ВыбратьПоНомеру
ВыбратьПоПоследователыюсти
ОбратныйПорядок
УстановитьФильтр
ПолучитьДокумент
ВыбратьСтроки
ПолучитьСтроку
Новый

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

Код
Наименование
Валютный
Количественный
Забалансовый
Активный
Реквизит
ВыбратьСчета
ПолучитьСчет
УстановитьАтрибут

Получить Отбор
Метод ПолучитьОтбор возвращает текущее значение отбора журнала. Имя отбора и текущее значение отбора записываются в переменные, передаваемые методу ПолучитьОтбор в качестве параметров.
Возвращаемое значение метода может использоваться для определения того, включен отбор в журнале проводок или нет.

УстановитьИнтервал
НачалоИнтервала
КонецИнтервала
Предопределенные процедуры модуля формы
ПриУстановкеОтбора
ПриУстановкеИнтервала
ПриПоказеПроводокПоДокументу
Базовые типы данных
Правила преобразования типов данных
Агрегатные типы данных

Установить Отбор
Метод предназначен для выборки записей журнала расчетов, которые содержат в графе отбора ИмяГрафыОтбора заданное ЗначениеОтбора. Если первый параметр задан неверно — т. е. нет такой графы отбора, выборка не будет выполнена и метод возвратит 0. Если заданное ЗначениеОтбора не будет найдено ни в одной строке журнала расчетов, выборка окажется пустой (т. е. в нее не попадет ни одна запись журнала расчетов), но метод возвратит значение 1.

ПолучитьОтбор
ЗакладкиОтбора
ГраницаПросмотра
УстановитьПредставление
ПолучитьПредставление
РассчитыватьПриОтменеИсправления
Модуль формы журнала расчетов
ПриИсправленииРезультата
ПриОтменеИсправления
ПриРасчете

Методы объекта Форма
При помощи объекта «Форма» предоставляется возможность управлять визуальным представлением текущей формы, опрашивать текущее состояние режима работы формы и т. п.

ТолькоПросмотр
Обновить
ИспользоватьЗакладки
ИспользоватьСлой
Заголовок
ПанельИнструментов
КнопкаПоУмолчанию
ОбработкаВыбораСтроки
ВыполнитьВыбор
РежимВыбора

Язык Запросов
Язык запросов предназначен для описания запросов к документам, справочникам, регистрам, журналам расчетов, планам счетов, бухгалтерским операциям и проводкам. Текст описания запроса передается методу Выполнить (см. Главу «Работа с Запросами») в качестве параметра. В результате выполнения этого метода генерируется временный выходной набор данных, который в дальнейшем используется для заполнения формы отчета.

Формат текста описания запроса
Соглашения и обозначения
Зарезервированные слова языка запросов
Комментарий
Константы
Внутренние переменные
Конкретизация переменной
Внешние переменные
Атрибуты внутренних переменных
Атрибуты внутренних переменных - 2

Связь с внешними приложениями посредством механизмов DDE и OLE Automation
Одним из примеров использования такой возможности может служить запуск программы Microsoft Excel (непосредственно из программы 1С:Предприятие ) с одновременным выводом в нее результатов расчета. Далее пользователь может обрабатывать полученные результаты (просматривать, редактировать, печатать и т. п.) непосредственно в среде Microsoft Excel.

Контекст работы с внешними приложениями
Методы внешних приложений
Методы внешних приложений - 2
Работа в качестве OLE Automation сервера
Атрибуты как OLE Automation сервера
Методы как OLE Automation сервера
Initialize
EvalExpr
CreateObject
ExecuteBatch

Счет По Коду
Метод СчетаПоКоду позволяет найти значение типа «Счет» по коду счета, указанному в виде символьной строки.

НачалоПериодаБИ
КонецПериодаБИ
КонецРассчитанногоПериодаБИ
НазначитьСчет
ВвестиПланСчетов
ВвестиВидСубконто
МаксимальноеКоличествоСубконто
ОсновнойЖурналРасчетов
Системные предопределенные процедуры
Глобальный модуль


Кортасар Хулио - Киндберг
Информационные технологии
Блеск и нищета информационных технологий
Коростелев Дмитрий - Право На Жизнь
Козлов Сергей - Цыпленок Вечером
Крапивин Владислав - В Глубине Великого Кристалла
Деньги, банки, кредит
Основы функционального программирования
Криптография с открытым ключом
Зарождение криптографии
Кристи Агата - Слоны Помнят Все
Крюков Дмитрий - Хроника Великой Войны
Куликов Роман - Лима
Кук Оскар - По Кускам
Купцов Василий - Моцарт И Сальери, Дубль Два
Документационное обеспечение управления
Photoshop 4-5 - учебный курс
Курс делопроизводства. Документационное обеспечение
Кьяра Пьеро - Соблазны Джулии
Сайтостроительство