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


         

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

Delphi 5.Учебник

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

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

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

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. Этот компонент предназначен для упорядочения обработчиков событий различных интерфейсных элементов (меню, инструментальных панелей, кнопок и др.). Нередко при использовании широкого спектра интерфейсных элементов и изменения их поведения на этапе выполнения (например, изменения доступности некоторых элементов меню) отслеживание связей интерфейсных элементов и имеющихся в приложении процедур становится затруднительным.

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

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

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

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

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

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

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 была воспринята как стандартное средство передачи текста и данных.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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