Разъемы в жестком диске. Интерфейсы подключения жестких дисков: SCSI, SAS, Firewire, IDE, SATA. Универсальная последовательная шина

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

3.2 Описание среды программирования

3.2.1 Среда разработчика Delphi

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

Среди пользователей персональных компьютеров в настоящее время наиболее популярно семейство операционных систем Windows и, естественно, что тот, кто собирается программировать, стремится писать программы, которые будут работать в этих системах. Бурное развитие вычислительной техники, потребность в эффективных средствах разработки программного обеспечения привели к появлению систем программирования, ориентированных на так называемую «быструю разработку», среди которых можно выделить Borland Delphi и Microsoft Visual Basic. В основе систем быстрой разработки лежит технология визуального проектирования и событийного программирования, суть которой заключается в том, что среда разработки берет на себя большую часть генерации кода программы, оставляя программисту работу по конструированию диалоговых окон и функций обработки событий.

Delphi- это среда разработки программ, ориентированных на работу в операционных системах семейства Windows. Программы в Delphi создаются на основе современной технологии визуального проектирования, которая, в свою очередь, базируется на идеях объектно-ориентированного программирования. Программы в Delphi пишутся на языке Object Pascal, который является преемником и развитием языка Turbo Pascal. Язык программирования Turbo Pascal, а также одноименная интегрированная среда разработки, в которой он использовался, в недавнем прошлом завоевал широкую популярность как средство разработки программных продуктов и особенно как средство обучения программированию. Эта популярность была обусловлена простотой языка, высококачественным компилятором и удобной средой разработки.

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

3.2.2 Интегрированная среда разработки Delphi

Интегрированная Среда Разработки (Integrated Development Environment - IDE, в дальнейшем мы будем использовать для нее аббревиатуру ИСР) - это среда, в которой есть все необходимое для проектирования, запуска и тестирования приложений и где все нацелено на облегчение процесса создания программ. ИСР интегрирует в себе редактор кодов, отладчик, инструментальные панели, редактор изображений, инструментарий баз данных - все с чем приходится работать.

Запустите Delphi с помощью меню Windows Пуск | Программы . Когда вы щелкните на пиктограмме Delphi, перед вами откроется основное окно Интегрированной Среды Разработки (см. рис. 1).В основных чертах окна ИСР всех версий Delphi одинаковы.

Рис 1 Основное окно Интегрированной Среды Разработки в Delphi6

В верхней части окна ИСР вы видите полосу главного меню . Ее состав несколько различается от версии к версии и, кроме того, зависит от варианта Delphi, с которым вы работаете.

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

File (Файл) - содержит набор команд для работы с файлами, позволяет добавлять их в проект, создавать новые файлы с помощью шаблонов, удалять, переименовывать и распечатывать. Кроме того, в этом разделе находятся команды для создания новых форм и приложений и команда выхода. В Delphi 6 сюда включена команда для создания нового элемента Frame (фрейм).

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

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

View (Вид) - под этим названием объединены команды для вызова наиболее часто используемых инструментов управления проектом, таких как Project Manager (Менеджер проекта), Translation Manager (Менеджер языка DLL), Object Inspector (Инспектор объектов), To - Do - List (Список задач), Alignment Palette (Окно выравнивания компонентов), Browser (Исследователь), Code Explorer (Проводник по программе), Component List (Список компонентов), Window List (Список окно), Type Library (Библиотека типов), Debug Windows (Окно отладчика). В число последних входят Breakpoints (Список точек остановки), Call Stack (Окно стека), Watches (Окно контроля переменных), Local Variables (Окно лакальных переменных), Threads (Окна статуса нитей), Modules (Окно исполняемых модулей), CPU (Окно контроля переменных), FPU (Окно операций над числами с плавающей запятой), Event Log (Окно событий). Кроме того, здесь же находятся раздел меню Toggle Form / Unit (Переключатель формы / модуля) и опции Forms (Окно формы), Units (Окно модулей), New Edit Window (Новое окно редактирования), которые, как ясно уже из названия, позволяют выводить на экран окна форм, модулей и создавать новое окно редактирования, а также производить настройку панели инструментов. В дополнение к ним в Delphi5 появилась возможность сохранять текущие настройки среды для последующего использования с помощью группы команд из раздела Desktops .

Project (Проект) - предназначен для того, чтобы добавлять проект в Repository (Архив объектов), загружать окно редактирования текста проекта, добавлять проекты в группу, компилировать как отдельный проект, так и группу в целом, проверять корректность кода и в том, и в другом случае, получать информацию об итогах компиляции проекта, задавать свойства web-приложений и экспортировать их на Web-сервер, а также вызывать элемент Options (Окно свойств проекта). В дополнение к этим функциям в Delphi5 появилась возможность с помощью группы команд из раздела Languages создавать специальную DLL с файлом ресурсов, содержащим поддержку национального языка.

Run (Выполнить) -позволяет запускать разработанное приложение, передавать ему строку параметров, производить отладку, задавать точки остановки, осуществляет пошаговое выполнение, просматривать значения переменных и изменять их. При разработке компонентов ActiveX с помощью команд меню можно зарегистрировать ActiveX-сервер или удалить запись о нем из системного реестра. Данное меню содержит также опцию, которая необходима, чтобы установить MTS Object на Microsoft Transaction Server (MTS) для его дальнейшего использования под управлением этого сервера. В Delphi 5 появился раздел Attach to Process , который позволяет производить отладку процессов, запущенных не только на локальном, но и на удаленном компьютере.

Component (Компоненты) - здесь сосредоточены команды, предназначенные для установки компонентов, импорта ActiveX-компонентов, создания новых компонентов и шаблонов компонентов, редактирования пакетов, а также настройки палитры компонентов.

Database (Базы Данных) - содержат команды вызова утилит для работы с базами данных, таких как SQL Explorer (Исследователь баз данных), SQL Monitor (SQL монитор) и Form Wizard (Мастер создания форм).

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

Help (Помощь) - объединяет команды вызова справочной системы Delphi и ее настройки, а также позволяет обратиться к Web-серверу для получения дополнительной информации.

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

SpeedBar (Панель инструментов) позволяет организовать быстрый доступ к нужным вам инструментам Delphi.

Для того чтобы настроить панель инструментов, выберите раздел View => Toolbars главного меню или воспользуйтесь всплывающим меню панели инструментов. После этого укажите, какие из групп "быстрых" кнопок следует отображать на панелью Доступны Standard (Стандартная), View (Просмотр), Debug (Отладчик), Custom (Пользовательская), Component Palette (Палитра компонентов). Вы можете выбрать те из них, которые необходимы для работы, и кроме того, определить, какие "быстрые" кнопки будут входить в каждую из групп.

Настройка панели инструментов производится следующим образом. Сначала выберите раздел всплывающего меню Customize (Пользовательские настройки) и в появившемся окне (см. рис. 2) откройте страницу Commands (Команды). Далее с помощью мыши выберите в правом окне пиктограмму нужной вам опции и перетащите ее на панель инструментов. Для удаления ненужных кнопок достаточно перетащить их с панели инструментов в окно Commands .

В дополнение к этому с помощью страницы Options (Опции) данного окна можно установить, показывать или нет подсказки (строка Show tooltips (Показывать названия инструментов)) при перемещении курсора над кнопками панели инструментов и включать или нет в подсказку комбинацию " быстрых" клавиш (строка Show shortcut keys on tooltips (Показывать " быстрые" клавиши инструментов)) для вызова команды, запускаемой щелчком по кнопке.

Правая панель содержит палитру компонентов библиотеки визуальных компонентов.

Component palette (Палитра компонентов) - это один из наиболее часто используемых инструментов Delphi. Оно состоит из большего числа страниц, на которых располагаются компоненты (см.рис.3). В процессе работы пользователь может создавать новые страницы и удалять существующие, добавлять и убирать компоненты на любой из страниц, изменять их порядок.

рис. 3 Палитра компонентов

Standard - стандартные компоненты управления Delphi. расширяющие возможности предыдущего набора;

Additional -дополнительные компоненты управления Delphi, расширяющие возможности предыдущего набора;

Win 32 - компоненты, инкапсулирующие в себе набор 32-разрядных интерфейсов windows (9x/NT);

System - специфические системные не визуальные компоненты Delphi;

Data Access - компоненты для доступа к базам данных;

Data Controls - компоненты для отображения информации из баз данных;

ADO - компоненты, позволяющие подключатся к базам данных с использованием ActiveX Data Objects (ADO);

InterBase - компоненты, предназначенные для подключения к базам данных InterBase без использования Borland Database Engine (BDE) или ActiveX Date Objects (ADO);

MIDAS - компоненты для многозвенной технологии доступа к базам данных;

InternetExpress -компоненты, позволяющие создавать приложения, которые могут работать как с Web Server application (Internet-приложениями), так и с multi-tiered database (многозвенными приложениями);

Internet -компоненты для работы в Internet;

FastNet components - компоненты, благодаря которым приложения могут использовать различные Internet - протоколы;

Decision Cube - компоненты для многомерного анализа информации баз данных (только в поставке Delphi Client/Server);

QReport - компоненты для визуального проектирования печатных отчетов;

Dialogs - компоненты, инкапсулирующие в себе стандартные диалоговые окна Windows;

Win 3.1 - компоненты управления Windows 3.1 (для обратной совместимости приложений) ;

Samples - компоненты, которые используется как примеры в документации (их тексты находится в папке /DELPHI/SOURCE/SAMPLES/);

ActiveX - компоненты ActiveX, разработанные сторонними фирмами;

Servers page components -компоненты, которые представляют собой "обертку" VCL для популярных COM-серверов.

Палитра компонентов может отображаться или не отображаться на панели инструментов Delphi. Управление этой опцией осуществляется с помощью раздела меню View => Component Palette. Как и в предыдущих версиях, конфигурирование палитры осуществляется без перекомпиляции VCL.

В основном поле окна вы можете видеть слева окно Инспектор Объектов (Object Inspector), с помощью которого вы в дальнейшем будете задавать свойства компонентов и обработчики событий. Эта страница состоит из 2-х колонок: левая колонка содержит название свойства, а правая - конкретное значение свойства (см.рис.4)

рис. 4 Инспектор Объектов

Окно Инспектора Объектов отображает информацию для того компонента, который выделен щелчком мыши. Строки страницы этого окна выбираются щелчком мыши и могут отображать простые или сложные свойства. К простым относятся свойства, которые определяются одним значением - числом, строкой символов, значением False или True и т.д. Сложные свойства определяются совокупностью значений. Слева от имени таких свойств указывается символ «+». Двойной щелчок по имени такого свойства приводит к раскрытию списка значений сложного свойства. Закрывается раскрытый список также двойным щелчком мыши по имени сложного свойства. Интересным новшеством в Delphi 6 является добавление в Инспекторе Объектов так называемых расширенных встроенных компонентных ссылок (expanded inline component references) или, короче, встроенных компонентов. Под этим термином подразумеваются некоторые свойства компонентов, значениями которых являются имена других компонентов (т.е. ссылки на другие компоненты).

Например, у многих компонентов имеется свойство Popup Menu, содержащее имя компонента, являющегося контекстным меню. Свойства, которые содержат ссылку на встроенный компонент, отображаются в Инспекторе Объектов по умолчанию красным цветом. Когда такому свойству присваивают значение, около него появляется символ «+». Если выполнить двойной щелчок по свойству, содержащему имя встроенного компонента либо просто щелкнуть по символу «+», то раскроется список свойств встроенного компонента.

Свойства встроенного компонента по умолчанию отображаются зеленым цветом.

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

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

3.2.3 Структура проекта Delphi

Программа Delphi - это несколько связанных между собой файлов. Так, любая программа всегда состоит из уже знакомого нам файла проекта (такой файл имеет расширение.dpr) и одного или нескольких модулей (файлы с расширением.pas). Файл проекта не предназначен для редактирования пользователем и создается автоматически самой системой программирования Delphi. Для того чтобы увидеть содержимое файла проекта, необходимо выполнить команду Project | View Source. Содержимое файла проекта может быть, например, следующим:

program Projectl ;

Forms ,

Unitl in "Unitl.pas" {Forml};

{$R *.RES}

Application.Initialize;

Application.CreateForm(TForml, Forml);

Application.Run ;

end .

Файл проекта (главный модуль) начинается словом program, за которым следует имя программы, совпадающее с именем проекта. Имя проекта задается программистом в момент сохранения файла проекта, и оно определяет имя создаваемого средой Delphi исполняемого файла (файла с расширением.ехе). Далее за словом uses следуют имена используемых модулей: стандартного модуля Forms и модуля формы Unitl. Похожая на комментарий директива {$R *.res} указывает компилятору, что нужно использовать файл ресурсов, который содержит описание* ресурсов приложения, например, пиктограммы. Звездочка указывает, что имя файла ресурсов такое же, как и у файла проекта, но с расширением.res.

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

Помимо главного модуля каждая программа включает как минимум один модуль формы, который содержит описание стартовой формы приложения и поддерживающих ее работу процедур. В Delphi каждой форме соответствует свой модуль. Для переключения между формой и окном редактора кода, содержащего соответствующий модуль, следует выполнить команду главного меню View | Toggle Form/Unit, либо нажать функциональную клавишу F12.

Модули - это программные единицы, служащие для размещения фрагментов программ. При помощи содержащихся в них текстов программ (программных кодов) и реализуется решаемая пользователем задача. Модули имеют стандартную конструкцию (последовательность и перечень разделов), предусмотренную языком программирования Object Pascal. Приведем структуру модуля в общем виде:

unit < имя модуля >;

interface

…………………………

implementation

…………………………

initialization

…………………………

finalization

…………………………

end .

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

unit Unitl;

interface

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs;

TForml = class(TForm)

{ Private declarations }

{ Public declarations }

Form1: TForm1;

implementation

{$ R *. dfm }

end .

Начинается модуль словом unit, за которым следует имя модуля. Именно это имя упоминается в списке используемых модулей в операторе uses главного модуля приложения.

Модуль может состоять из четырех разделов: интерфейса, реализации, инициализации и завершающей части.

Раздел интерфейса (начинается словом interface) сообщает компилятору, какие данные, располагающиеся в модуле, являются доступными для других модулей программы. В этом разделе перечислены (после слова uses) стандартные модули, используемые данным модулем, а также находится сформированное Delphi описание типа формы, которое следует за словом type.

Раздел реализации начинается словом implementation и содержит объявления локальных переменных, процедур и функций, поддерживающих работу формы. В начале раздела реализации располагается директива {$R *.dfin}, указывающая компилятору, что в-раздел реализации надо вставить команды установки значений свойств формы, которые находятся в файле с расширением ".dfm, имя которого совпадает с именем модуля. Файл в формате dfm генерируется Delphi на основе внешнего вида формы.

За директивой {$R *.dfm} располагаются описания процедур обработки событий формы. Сюда же программист может поместить описание своих процедур и функций, которые могут вызываться из процедур обработки событий.

Инициирующая и завершающая части являются необязательными. Инициирующая часть начинается словом initialization либо заключается в оператор-1ые скобки begin...end. Операторы из этой части выполняются до передачи управления основной программе и обычно используются для подготовки ее работы.

Завершающая часть начинается словом finalization и содержит операторы, выполняющиеся в момент окончания программы.

В приведенном выше примере модуля инициирующая и завершающая части отсутствуют.

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

При компиляции программы Delphi создает файлы с расширениями.dcu для каждого модуля.

Таким образом, pas-файл содержит программный код модуля, который был сформирован в окне редактора кода совместными усилиями программиста и среды Delphi, в файле с расширением.dfm хранится описание содержимого окна формы, а в dcu-файле находится результат преобразования текста из обоих файлов в машинные инструкции. Компоновщик, входящий в интегрированную среду Delphi, преобразует dcu-файлы в единый загрузочный (выполнимый) ехе-файл. Выполнимый файл позволяет запускать программу как автономное приложение.

3.2.4 Библиотека визуальных компонентов

Классы созданные разработчиками Delphi, образуют сложную иерархическую структуру, называемую Библиотекой визуальных компонентов (Visual Component Library -VCL). Количество входящих в VCL классов составляет несколько сотен. На рисунке 5 изображены базовые классы, являющиеся родоначальниками всех остальных классов.

Компонентами называются экземпляры классов, которые являются потомками класса TComponent. Экземпляры всех других классов называются объектами. Разница между компонентами и просто объектами заключается в том, что компонентами можно манипулировать на форме, а объектами - нельзя.

Характерным примером класса, определенного в VCL, но не являющегося компонентом, является класс TFont. Мы не можем непосредственно поместить на форму объект класса TFont. С другой стороны, при работе, например, с такими компонентами, как Label или Edit мы будем использовать свойство Font классового типа TFont.

Размещено на http://www.allbest.ru/

Заметим также, что не все компоненты-потомки класса TComponent являются визуальными. Например, компонент Timer, предназначенный для отсчета интервалов реального времени, является невизуальным.

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

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

Описание среды функционирования. Плюсы и минусы Windows 98

Как и любая программа, Windows 98 имеет свои сильные и слабые стороны; начнем с сильных.

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

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

В-третьих, поддержка самых разнообразных устройств и механизм Plug and Play.Большинство новых устройств Windows 98 находит сама, автоматически устанавливая для них нужные драйверы, причем этот механизм улучшен по сравнению с предыдущей версией.

В-четвертых, практически полная совместимость сверху вниз. Все программы (за редким исключением), написанные для версий Windows и MS-DOS, прекрасно работают и под управлением Windows 98.

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

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

В-седьмых, встроенные средства работы и интеграции с Internet.

В-восьмых, более эффективная работа на компьютерах с процессорами Pentium и старше.

В-девятых, долгожданные средства цветовой калибровки на уровне операционной системы и поддержка до 7 мониторов одновременно.

Рассматривать сильные стороны Windows 98 по сравнению с другими операционными системами можно до бесконечности, но, пожалуй, все главные уже рассмотрены. Теперь о слабых сторонах.

Как известно, за все надо платить, и за все удобства Windows 98 приходится платить очень большой нагрузкой на аппаратную часть компьютера. Windows 98 (как и ее предшественница Windows 95) весьма требовательно к быстродействию процессора, объему оперативной памяти и свободному месту на диске (причем по сравнению с предыдущей версией эти требования несколько возросли). Таким образом, самый главный недостаток- высокие требования к быстродействию всех без исключения частей компьютера. Если использовать Windows 98 на медленных компьютерах, то из-за постоянных простоев и ожидания работа из приятной превращается в настоящее мучение.

Еще одним минусом Windows 98 является ее неполная многозадачность, особенно для старых программ. И если с распределением ресурсов Windows 98 справляется достаточно успешно, то с защитой дело обстоит все еще не очень хорошо, - если некорректная работа одной из программ приведет к разрушению общих системных ресурсов, то Windows 98, скорее всего, перестанет нормально работать.

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

Хотя Windows 98 и ориентируется на постоянных пользователей сети Internet, степень ее защиты от несанкционированного доступа (взлома) все же недостаточна.

Наконец, как это ни печально, Windows 98 не лишена ошибок, как, впрочем, и другие программы.

Элементы интерфейса Windows 98

Рабочий стол

После запуска Windows 98 вы попадаете на рабочий стол (Desktop). Здесь обычно располагаются некоторые элементы интерфейса Windows 98:

Мой компьютер(My Computer ) - содержит дерево, условно представляющее все папки компьютера;

Корзина (Recycle Bin ) - позволяет удалять файлы и папки. Если вы перетащите какой-либо файл (папку) на пиктограмму Корзины (Recycle Bin ) (пиктограмма при этом окрасится в синий цвет), то вы удалите его с диска;

Сетевое окружение (Network Neighborhood ) - позволяет просмотреть сетевые ресурсы, если вы подключены к сети;

Портфель(My Briefcase ) - позволяет синхронизировать файлы, обрабатывающиеся сразу на нескольких компьютерах. Пользоваться им или нет - дело ваше;

Internet Explorer - позволяет путешествовать по Internet. Если вы не клиент Internet, данную пиктограмму также можно удалить;

Outlook Express - это своего рода почтовый ящик, куда будет поступать информация, приходящая по электронной почте. Если вы таковой не имеете, то смело помещайтеOutlook Express в Корзину (Recycle Bin ) ;

Мой документы (My Document ) - папка для личных документов, в ней вам предлагается сохранять результаты своей работы (если ее расположение на дисках по умолчанию вас не устраивает, можете переместить ее в любое место).

Панель задач

Панель задач (Taskbar) обычно расположена в самом низу экрана. На ней располагаются кнопки всех запущенных в данный момент программ и открытых папок. Чтобы перейти к любой из запущенных задач, достаточно щелкнуть мышью по соответствующей кнопке на панели задач. Если вам неясно, какая задача соответствует кнопке, - задержите на ней на пару секунд мышь.

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

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

Кнопка Пуск и Главное меню

Слева на панели задач располагается кнопка Пуск (Start). Щелчок по этой кнопке вызывает главное меню, которое позволяет запустить любую программу, вызвать справку, найти файл и т.п.

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

Типы окон

Все окна, используемые Windows, можно разделить на пять типов:

окно Windows - программы;

окно DOS - программы, запущенной в окне;

вторичное окно Windows - программы (создается непосредственно самой программой).

Окно с сообщением или запросом (создается одной из работающих в данный момент Windows- программ).

Окно раскрытой папки.

Окно Windows - программы. Как правило, содержит все элементы, описанные выше. Заголовок содержит имя программы.

Окно DOS - программы. Из - под Windows можно запустить и программы, предназначенные для работы под управлением DOS. Такая программа может быть запущена в двух режимах - полноэкранном и в окне. Первый режим практически ничем не отличается от выполнения программы под управлением непосредственно DOS. Режим же выполнения в окне позволяет более гибко управлять работой программы. У окна DOS - программы отсутствует строка меню. Все остальные элементы присутствуют. В заголовке располагается имя DOS - программы.

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

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

Активный и неактивные окна

На экране может быть только одно активное окно, все остальные окна, находящиеся в этот момент на экране, неактивны. Активное окно всегда выводится поверх других и все действия, совершаемые в данный момент, относятся именно к нему. Заголовок активного окна выделяется ярким цветом, у неактивных окон заголовки блеклого цвета. Если окно данной программы неактивно, то говорят, что программа выполняется в фоновом режиме (если данный режим для нее имеет смысл).

Управление окнами

Чтобы изменить размер окна, маркер мыши необходимо установить на границу окна. Если данное окно допускает изменение размера, то маркер примет вид, представленный на рис 3.16. Стрелки будут показывать возможное направление. Если вы действительно хотите изменить границу окна, то необходимо просто переместить ее на новое место (нажать на левую кнопку мыши и, не отпуская ее, передвинуть маркер на нужное место). Если в окне отсутствовали линейки прокрутки, а вы не уменьшили его размер, то могут появиться одна или обе эти линейки.

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

Начнем со случая, когда окно занимает часть экрана. Слева расположена кнопка Свернуть (Minimize ): она позволяет свернуть окно (если это окно программы или папки, то после свертывания от окна останется кнопка на панели задач; если же это вторичное окно, то от него останется строка заголовка и оно будет помещено в левый нижний угол окна программы). В середине находится кнопка Развернуть (Maximize ) , щелчок по ней позволяет развернуть окно на полный экран (если это вторичное окно, то оно сольется с окном программы). Справа расположена кнопка Закрыть (Close ) , она позволяет закрыть окно.

Если окно развернуть на весь экран. то посередине вместо кнопки Развернуть (Maximize ) находится кнопка Восстановить (Restore ) ; она позволяет восстановить размер окна.

Если вторичное окно свернуто, то слева располагается кнопка Восстановить (Restore ) , а в центре кнопка Развернуть (Maximize ) .

Если вторичное окно слито с окном программы, то вверху расположены кнопки изменения размера окна программы, а сразу под ними кнопки изменения размера вторичного окна.

Перемещение окна

Переместить окно достаточно просто. Для этого достаточно ухватить заголовок окна и переместить его в нужное место.

Прокрутка содержимого окна

Если содержимое окна не « влезает» в текущие размеры окна, то слева и внизу появляются линейки прокрутки (или одна из них). Рассмотрим, как ими пользоваться. Самый простой вариант - это перетащить на новое место бегунок. При этом, соответственно, изменится и содержимое окна.

Бывает случаи, когда необходимо прокрутить окно всего на одну строчку (столбец). Тогда нужно воспользоваться кнопками со стрелками, расположенными по концам линейки прокрутки. Щелчок по такой кнопке и осуществляет скроллинг (перемещение) окна на одну строку.

Если же необходимо переместить окно на один экран вверх или вниз (вправо или влево), то вы можете поступить следующим образом. Установите маркер мыши на линейку прокрутки выше или ниже бегунка и щелкните левой кнопкой мыши. При этом произойдет скроллинг на один экран.

Закрытие окна

Чтобы закрыть окно (если это возможно), нужно щелкнуть по кнопке Закрыть (Close ) . Если данная операция допустима (окна программ, папок, вторичные окна, часть окон запроса), то после щелчка окно исчезнет с экрана.

При этом:

Если это было окно программы, то данная программа будет завершена;

Если это было окно папки, то оно исчезнет с экрана, а папка будет закрыта;

Если это было вторичное окно программы, то обработка данного документа будет прекращена;

Если это было сообщение программы, то данное окно исчезнет с экрана;

Если это было окно с запросом программы, то это будет означать отмену запрашиваемого действия.

Если в настоящий момент в окне находится несохраненная информация, то при попытке закрыть данное окно Windows вначале предложит сохранить последние изменения.

При щелчке по кнопке Закрыть (Close ) DOS - программы, запущенной в окне, делается попытка завершить данную программу. Если сделать это корректно не удается, выводится соответствующее предупреждение. В этом случае рекомендуется отменить закрытие окна с потерей данных (щелчок по кнопке Нет (No)), а затем завершить DOS - программу стандартным для нее способом.

Интерфейс программы. Компоненты, используемые в программе

Простейшей и, пожалуй, наиболее часто используемой кнопкой является кнопка Button, расположенная на странице библиотеки Standard. Реже используется кнопка BitBtn отличающаяся, прежде всего, возможностью отобразить на ее поверхности изображение. Большинство свойств, методов и событий у этих видов кнопок одинаковы.

Основное с точки зрения внешнего вида свойство кнопки -- Caption .

В надписях кнопок можно предусматривать использование клавиш ускоренного доступа, выделяя для этого один из символов надписи. Перед символом, который должен соответствовать клавише ускоренного доступа, ставится символ амперсанта «&». Этот символ не появляется в надписи, а следующий за ним символ оказывается подчеркнутым. Тогда пользователь может вместо щелчка на кнопке нажать в любой момент клавишу Alt совместно с клавишей выделенного символа.

Например, если в вашем приложении имеется кнопка выполнения какой-то операции, вы можете задать ее свойство Caption равным «&Выполнить». На кнопке эта надпись будет иметь вид «Выполнить». И если пользователь нажмет клавиши Alt-B, то это будет эквивалентно щелчку на кнопке.

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

Свойство Cancel , если его установить в true , определяет, что нажатие пользователем клавиши Esc будет эквивалентно нажатию на данную кнопку. Это свойство целесообразно задавать равным true для кнопок «Отменить» в различных диалоговых окнах, чтобы можно было выйти из диалога, нажав на эту кнопку или нажав клавишу Esc.

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

Еще одно свойство -- ModalResult используется в модальных формах. В обычных приложениях значение этого свойства должно быть равно mrNone .

Из методов, присущих кнопкам, имеет смысл отметить один -- Click . Выполнение этого метода эквивалентно щелчку на кнопке, т.е. вызывает событие кнопки OnClick . Этим можно воспользоваться, чтобы продублировать какими-то другими действиями пользователя щелчок на кнопке. Пусть, например, вы хотите, чтобы при нажатии пользователем клавиши с символом «С» или «с» в любой момент работы с приложением выполнялись операции, предусмотренные в обработчике события OnClick кнопки Buttonl . Поскольку неизвестно, какой компонент будет находиться в фокусе в момент этого события, надо перехватить его на уровне формы. Такой перехват осуществляется, если установить свойство формы KeyPreview в true . Тогда в обработчике события формы OnKeyPresss можно написать оператор

if (key="Y" or key="Z") then Buttonl.Click;

Если пользователь ввел символ «С» или «с», то в результате будет выполнен обработчик щелчка кнопки Buttonl .

Все сказанное выше в равной степени относится и к Button , и к BitBtn . Рассмотрим теперь особенности кнопки с пиктограммой BitBtn . Изображение на этой кнопке задается свойством Glyph . При нажатии кнопки с многоточием в строке свойства Glyph в Инспекторе Объектов вызывается окно. Нажав в нем кнопку Load вы перейдете в обычное окно открытия файла рисунка и можете выбрать файл битовой матрицы.bm р, содержащий желаемое изображение. В частности, с Delphi поставляется большое количество изображений для кнопок. Они расположены в каталоге \lmages\Buttons, а сам каталог Images в Delphi 5 и 4 расположен в каталоге \program files\common files\borland shared, а в других версиях Delphi -- в каталоге \program files\borland\delphi...

После того, как вы выбрали изображение, нажмите ОК и выбранное изображение появится на вашей кнопке левее надписи.

Файл изображения для кнопки может содержать до четырех изображений пиктограмм размера 16x16. Самое левое соответствует отжатой кнопке. Второе слева соответствует недоступной кнопке, когда ее свойство Enabled равно false . Третье слева изображение используется при нажатии пользователя на кнопку при ее включении. Четвертое слева изображение используется в кнопках с фиксацией SpeedButton , о которых будет сказано позднее, для изображения кнопки в нажатом состоянии. Большинство изображений для кнопок использует две пиктограммы. Число пиктограмм вы можете узнать из свойства кнопки NumGlyphs , которое после загрузки изображения покажет вам число пиктограмм в нем.

Расположение изображения и надписи на кнопке определяется свойствамиMargin , Layout и Spacing . Если свойствоMargin равно -1 (значение по умолчанию), то изображение и надпись размещаются в центре кнопки. При этом положение изображения по отношению к надписи определяется свойством Layout , которое может принимать значения:blGlyphLeft (слева, это значение принято по умолчанию), blGlyphRight (справа), blGlyphTop (вверху), blGlyphBottom (внизу). Если жеMargin > 0, то в зависимости от значения Layout изображение и надпись смещаются к той или иной кромке кнопки, отступая от нее на число пикселей, заданное значениемMargin .

Свойство Spacing задает число пикселей, разделяющих изображение и надпись на поверхности кнопки. По умолчанию Spacing = 4. Если задать Spacing = О, изображение и надпись будут размещены вплотную друг к другу. Если задать Spacing = -1, то текст появится посередине между изображением и краем кнопки.

Еще одно свойство BitBtn -- свойство Kind определяет тип кнопки. По умолчанию значение этого свойства равно bkCustom -- заказная. Но можно установить и множество других предопределенных типов: bkOK , bkCancel , bkHelp , bkYes , bkNo , bkClose , bkAbort , bkRetry , bklgnore , bkAll . В этих типах уже сделаны соответствующие надписи, введены пиктограммы, заданы еще некоторые свойства. Обычно все-таки лучше ими не пользоваться. Во-первых, надписи все равно надо переводить на русский язык. Во-вторых, предопределенные рисунки обычно выбиваются из общего стиля конкретного приложения. И главное -- предопределение некоторых свойств, не учтенных вами, может иногда приводить к странным результатам работы. Уж лучше использовать заказные кнопки и самому устанавливать в них все необходимые свойства.

Компонент Image и некоторые его свойства

Нередко возникает потребность украсить свое приложение каким - то изображениями. Это может быть графическая заставка, являющаяся логотипом вашего приложения. Или это могут быть фотографии сотрудников некоего учреждения при разработке приложения, работающего с базой данных этого учреждения. В первом случае вам потребуется компонент Image , расположенный на странице Additional библиотеки компонентов, во втором - его аналог DBImage , связанный с данными и расположенный на странице Data Controls.

Начнем знакомство с этими компонентами. Откройте новое приложение и перенесите на форму компонент Image . Его свойство, которое может содержать изображение -Picture . Нажмите на кнопку с многоточием около этого свойства или просто сделайте двойной щелчок на Image , и перед вами откроется окно Picture Editor, позволяющее загрузить в свойство Picture какой - нибудь графический файл (кнопка Load), а также сохранить открытый файл под новым именем или новом каталоге. Щелкните на Load, чтобы загрузить графический файл. Перед вами откроется окно Load Picture. По мере перемещения курсора в списке по графическим файлам в правом окне отображаются содержащиеся в них картинки, а над ними - цифры, характеризующие размер картинки. Вы можете найти графические файлы в каталоге Images. В Delphi 5 он обычно расположен в каталоге…\program files\ Common Files\ Borland\ Borland Shared, в Delphi 4 - в …\ program files\ Common Files\ Borland Shared, в Delphi 3 - в …\ program files\ Borland\ Delphi 3, а в Delphi 1 - в каталоге Delphi 1. К сожалению, в Delphi 1 окно загрузки изображения значительно просматривать файлы до их загрузки.

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

Вернемся к рассмотрению свойств компонента Image .

Если установить свойствоAutoSize вtrue , то размер компонента Image будет автоматически подгоняться под размер помещенной в него картинки. Если же свойство AutoSize установлено в false , то изображение может не поместиться в компонент или, наоборот, площадь компонента может оказаться много больше площади изображения.

Графики функций

Интерполяция функций

На практике часто встречается задача: по заданным на плоскости значениям (хi,yi), i= 0,1,…, n построить функцию, либо точно проходящую через эти точки, либо проходящую как можно ближе к этим точкам (рис 6.). Ниже рассмотрены три способа решения этой задачи: интерполяционный многочлен Лагранжа, метод наименьших квадратов и интерполяция кубическими сплайнами.

x

Рис. 6 Задача интерполяции

Интерполяционный многочлен Лагранжа

График функции, определенной интерполяционным многочленом Лагранжа, проходит через все точки (хi i ,уi.):

L(x)= i x -x j (1.1)

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

Для вычисления значений многочлена Лагранжа по уравнению (1.1) можно воспользоваться функций Lagr.

Листинг 1. Функция Лагранжа

function Lagr (n : Byte ; xt : Real ; x , y : Vect ): real ;

var I , j : Byte ; S , P : Real ;

For i :=0 to n do

P := l ;

or j : =0 to n do

if i<>j then P:=P* (xt-x[ j ] ) / (x[i] -x[ j ] ) ;

S:=S+y[i]*P;

end ;

Lagr : = S ;

end ;

В проекте предусмотрена возможность перетаскивания любой точки мышью. Поэтому наряду с традиционными функциями масштабирования используются функции обратного масштабирования и созданы обработчики трех событий onMouseDown, onMouseMove, onMouseUp, В процедуре Image IMouseDown определяется номер Num точки, ближайшей к (X,Y), и поднимается флаг, разрешающий перемещения, -- Drawing:= True.

...

Подобные документы

    Разработка программы для работы в операционных системах семейства Windows. Использование среды Delphi - современной технологии визуального проектирования. Создание пользовательского интерфейса, оконного приложения, меню; задание исходной матрицы.

    курсовая работа , добавлен 12.01.2011

    Delphi как среда разработки программ, ориентированных на работу в Windows. Назначение и преимущество использования электронных учебников. Описание возможностей среды Delphi 5 для разработки электронного учебника. Варианты применения служб Internet.

    дипломная работа , добавлен 13.07.2011

    Основные понятия об операционных системах. Виды современных операционных систем. История развития операционных систем семейства Windows. Характеристики операционных систем семейства Windows. Новые функциональные возможности операционной системы Windows 7.

    курсовая работа , добавлен 18.02.2012

    Эволюция графических пользовательских интерфейсов. Устройство системы X Window и менеджеры окон. Описание рабочего стола и приложения KDE и GNOME. Обзор основных принципов организации интерфейса в системе Windows, описание пакета ее прикладных программ.

    реферат , добавлен 15.02.2012

    Изучение учебника и справочной подсистемы Windows 95/NT, получение навыков работы с "мышью", манипулирование окнами и значками программ и документов, запуска программ в системе Windows 95/NT. Разработка простого приложения для Windows при помощи Delphi.

    контрольная работа , добавлен 15.01.2009

    Разработка визуального интерфейса пользователя, на основе экранных форм среды Delphi и визуальных компонент. Основные типы данных, используемые в программе MD 5 Calc. Однонаправленные хэш-функции. Процесс хэширования MD5, возможности его применения.

    курсовая работа , добавлен 28.08.2012

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

    курсовая работа , добавлен 08.05.2011

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

    курсовая работа , добавлен 10.01.2012

    История интегрированной среды разработки, версии Delphi. Организация библиотеки компонентов. Страница Additional, ряд часто используемых компонентов общего назначения. Исполняемый файл программы "Архиватор текстовых файлов", интерфейс приложения.

    курсовая работа , добавлен 16.05.2017

    Использование языка программирования Delphi для записи программ, представляющих собой последовательность инструкций. Классы и директивы в объектно-ориентированном программировании. Разработка демонстрационной программы. Процесс настройки Windows XP.

Лекция № 2.

Тема: IDE Delphi.

Интегрированная среда разработки Delphi ..........................................................................

Меню Delphi ............................................................................................................................

Раздел меню Project ...................................................................................................................

Раздел меню Run........................................................................................................................

Раздел меню Component............................................................................................................

Раздел меню Database................................................................................................................

Раздел меню Tools .....................................................................................................................

Раздел меню Help.......................................................................................................................

Некоторые настройки компилятора Delphi..........................................................................

Десять важнейших функций графической среды разработки Delphi................................

1. Интегрированная среда разработки Delphi

На рис.1 показан общий вид интегрированной среды разработки (IDE) Delphi. На этом рисунке отмечены все основные компоненты среды разработки: главное окно, палитра компонентов, панели инструментов, окно конструктора форм, окно редактора кода, окно инспектора объектов и окно Code Explorer.

Главное окно

Главное окно можно представить как управляющий центр Delphi IDE. В нем содержатся все стандартные элементы и сохранена функциональность других окон Windows. Оно состоит из трех основных частей: главного меню, панелей инструментов и палитры компонентов (Component Palette).

Главное меню

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

Панели инструментов Delphi

Панели инструментов предоставляют доступ к различным функциям главного меню IDE с помощью единственного щелчка на соответствующей кнопке. Обратите внимание, что для каждой кнопки панели инструментов предусмотрен вывод подсказки, содержащей описание ее назначения. Не считая палитры компонентов, в IDE Delphi имеется несколько отдельных панелей инструментов: Debug (Отладка), Desktop (Рабочий стол), Standard (Стандартная), View (Вид) и Custom (Пользовательская). На рис.1 показана конфигурация кнопок этих панелей, принимаемая по умолчанию. Однако любую из кнопок можно удалить или добавить с помощью команды View -> Toolbars - > Customize. Добавление новых кнопок осуществляется путем их перетаскивания из этого окна на любую панель инструментов. Для удаления кнопки достаточно перетащить ее за пределы панели инструментов.

Инспектор объектов Конструктор форм Окно Code Explorer

Редактор кода

Рис.1- Общий вид интегрированной среды разработки (IDE) Delphi

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

Палитра компонентов

Палитра компонентов представляет собой панель инструментов удвоенной высоты, содержащей несколько вкладок, в которых находятся все установленные в среде IDE компоненты VCL и ActiveX. Порядок следования и вид вкладок и компонентов может быть настроен с помощью щелчка правой кнопкой мыши на интересующем объекте или посредством выбора в главном меню команды Component -> Configure Palette.

Конструктор форм Form Designer

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

Инспектор объектов Object Inspector

В окне Object Inspector можно изменять свойства компонентов формы или определять события, на которые будет реагировать эта форма или ее компоненты. Свойства (properties) представляют собой данные, определяющие, как объект выглядит на экране, - высоту, цвет, шрифт и т.д.События (events) - это подпрограммы, выполняемые в ответ на некоторые происходящие в вашем приложении действия. Примером события может

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

Cодержимое окна Object Inspector можно упорядочить либо по категории, либо по именам (в алфавитном порядке). Для этого достаточно щелкнуть правой кнопкой мыши в любом месте окна Object Inspector и выбрать в раскрывшемся контекстном меню команду

Инспектор объектов тесно связан с контекстной справочной системой. Если особенности какого -то события или свойства вам непонятны, поместите на него указатель мыши и нажмите клавишу . На экране раскроется окно справочной системы с соответствующим текстом.

Редактор кода Code Editor

Окно редактора текстов программ Code Editor предназначено для ввода команд, определяющих поведение создаваемой программы. Здесь же отображается текст, сгенерированный Delphi для создания компонентов разработанной формы. Окно Code Editor использует технологию вкладок, причем отдельная вкладка создается для каждого модуля или файла. При каждом добавлении в приложение новой формы создается новый модуль, а в окно Code Editor добавляется соответствующая вкладка. Контекстное меню окна Code Editor предоставляет широкий диапазон команд редактирования, включая команды работы с файлами, создания закладок и поиска символов.

Окно Code Explorer

В окне Code Explorer модули, представленные во вкладках окна Code Editor, можно просматривать в виде древовидной структуры. Подобное представление позволяет легче ориентироваться в модулях, а также добавлять новые или переименовывать уже имеющиеся элементы модулей. Очень важно помнить, что между окнами Code Explorer и Code Editor всегда поддерживается связь типа "один к одному". Щелчок правой кнопкой мыши на любом из элементов в окне Code Explorer позволяет вывести контекстное меню с командами, доступными этому объекту. Кроме того, можно управлять сортировкой и фильтрацией отображаемых в окне Code Explorer объектов. Для этой цели используются параметры, расположенные во вкладке Explorer диалогового окна Environment Options.

Генератор исходного кода

При работе с визуальными компонентами в конструкторе форм Delphi автоматически генерирует соответствующий код на языке Object Pascal. Простейший путь познакомиться с этой особенностью Delphi - начать новый проект. Выберите в главном окне команду File -> New Application. В результате в конструкторе форм будет создана новая форма, а в редакторе кода - заготовка исходного текста, представленная в листинге 1.1.

Листинг 1.1. Заготовка исходного текста программы

unit Unitl;interface uses

Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms; type

TForml = class (TForm)

{ Public declarations } end ;

Forml: TForml; implementation

{ $R *.DFM} end .

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

Рассмотрим код заготовки более подробно. Ниже приведена часть ее текста. type

TForml = class (TForm)private

{ Private declarations } public

{ Public declarations } end ;

Этот фрагмент указывает, что объект TForml порожден от объекта TForm. Тут же комментариями отмечены места, предназначенные для ввода собственного кода - как доступного извне (public), так и скрытого (private) от внешних программ. Не беспокойтесь, если вы пока не знаете точного значения терминов "объект", "скрытый" и т.д. Очень важна следующая строка программы:

В Object Pascal директива $R используется для загрузки внешнего файла ресурсов. Приведенная строка связывает файл с расширением.dfm (расширение файлов форм Delphi) с выполняемым модулем. Файл.dfm содержит текствовое или бинарное представление созданной с помощью Form Designer формы. Символ шаблона "*" в данном случае означает, что имя файла должно быть тем же, что и имя модуля. В нашем примере имя модуля определено как Unitl, следовательно, его исходный текст будет находиться в файле Unitl.pas, а значение *.DFM в директиве соответствует файлу Unitl.dfm.

Файл проекта приложения также заслуживает хотя бы беглого взгляда. Расширение файла проекта - .dpr (отD elphiPR oject). Он представляет собой обычный исходный файл Pascal, но с некоторыми расширениями. В этом файле содержится основная часть (с точки зрения Object Pascal) вашей программы. В отличие от других версий Pascal, которые, возможно, вам знакомы, основная работа программ Delphi проходит в модулях, а не в главном файле программы. Текст файла проекта можно отобразить в окне редактора с помощью

команды Project -> View Source. Вот текст файла нашего нового проекта:program Projectl;

uses Forms,

Unitl in "Unitl.pas" { Forml} ; { $R *.RES}

Application.Initialize; Application.CreateForm (TForml, Forml); Application.Run;

end.

При добавлении модулей и форм в приложение они будут появляться в описании uses файла проекта. Обратите внимание, что в описании uses сгенерированный код содер-

жит указания (в виде комментария) того, какая форма находится в подключаемом модуле. Если у вас когда-либо возникнут сомнения, в каком из модулей содержится та или иная форма, их легко можно будет развеять, воспользовавшись окном Project Manager, которое выводится на экран с помощью команды View-> Project Manager.

2. Меню Delphi

Раздел меню Project

Раздел меню Project содержит команды (рисунок 1), которые используются для компиляции и построения приложения.

Команда Add to Project... открывает диалоговое окно для поиска необходимого проекта и добавления его к уже существующему проекту. Когда вы добавляете модуль в проект, Delphi автоматически добавляет в файл проекта соответствующий оператор uses.

Команда Remove from Project удаляет формы и модули из текущего проекта. Когда вы выбираете данную команду и нажимаете OK, Delphi удаляет избранные форму и модуль текущего проекта, а из файла проекта удаляет соответствующий оператор uses.

Команда Import Type Library... импортирует в проект одну из зарегистрированных в системе библиотек типов.

Команда Add to Repository позволяет добавить ваши собственные проекты и формы в хранилище компонентов. Это позволит использовать ваш проект многократно, не создавая его заново.

Команда View Source позволяет осуществлять просмотр файла проекта в окне Редактора кода.

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

Команда Add New Project... добавляет в группу проектов новый проект.

Команда Add Existing Project добавляет в группу проектов ранее созданный проект. Команда Compile Project1 осуществляет компиляцию всех тех файлов проекта, ко-

торые были изменены с момента последнего выполнения вашей программы.

Команда Build Project1 компилирует все компоненты, модули, формы вне зависимости от того, изменялось ли в них что-нибудь с момента последней компиляции.

Syntax check Project1 производит синтаксическую проверку программы на наличие ошибок, без генерации исполняемого файла.

Команда Information for показывает информацию о вашей программе: числе строк кода, размер выполняемого модуля, размер стека и т.п.

Команда Compile All Projects компилирует все измененные файлы проектов, которые изменялись с момента последней компиляции.

Команда Build All Projects компилирует все файлы проектов, включенных в групповой проект, независимо от того, изменялись они или нет.

Команда Web Deployment Options позволяет сделать установки для развертывания активной формы или элемента на сервере.

Команда Web Deploy развертывает активную форму ActiveForm или элемент ActiveX на сервере.

Команда Options активизирует диалоговое окно Project Options опций проекта, в котором вы можете устанавливать опции компиляции, редактирования связей и задавать каталоги.

Раздел меню Run

Раздел меню Run содержит команды, обеспечивающие отладку и выполнение приложения.

Команда Run запускает выполнение вашего приложения. Если до этого не была выполнена компиляция программы в ее текущем состоянии, то перед запуском эта компиляция выполняется.

Команда Attach to process отображает окно со списком выполняемых процессов, которые вы можете отлаживать. Для начала отладки надо выделить интересующий вас процесс и сделать на нем двойной щелчок.

Команда Parameters... задает параметры командной строки, необходимые при запуске приложения.

Команда Register ActiveX Server позволяет зарегистрировать в Windows активный сервер ActiveX. Если вы проведете подобную регистрацию, то ваш управляющий активный элемент можно вызывать, применяя программу просмотра Web или другие приложения.

Команда Unregister ActiveX Server позволяет снять с регистрации в Windows активный сервер ActiveX, в результате чего экземпляр вашего активного элемента удаляется из системы.

Команда Install MTS Objects... допускает MTS объекты в ваше приложение, выполняемое в MTS среде, если на вашем компьютере установлена программа Microsoft transaction server.

Команда Step Over производит пошаговое выполнение приложения, по одному оператору за шаг. Любая процедура или функция выполняется, как если бы она была одним оператором программы. Это удобно, если вам необходимо просмотреть поведение программы, не заходя внутрь каждой процедуры или функции.

Команда Trace Into в отладочном режиме выполняет текущую строку кода и прослеживает работу вызываемых подпрограмм.

Команда Trace To Next Source Line позволяет выполнять программу до следующей исполняемой команды. Ее удобно использовать при работе с окном CPU.

Команда Run To Cursor выполняет программу до той точки в исходном тексте, где находится курсор.

Команда Run Until Return позволяет выполнять ваше приложение до тех пор, пока не произойдет возврат из выполняемой функции. Процесс остановится на операторе, следующим за вызовом этой функции.

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

Команда Program Pause приостанавливает прогон отлаживаемой программы, и вы можете работать с окном Watch.

Команда Program Reset прекращает выполнение приложения и выгружает его из па-

Команда Inspect открывает окно инспектора отладки приложения. Команда доступна только во время выполнения приложения при останове его средствами отладки или вследствие генерации исключения. После останова программы вы можете поставить курсор на имя интересующей вас переменной, или компонента, или функции и выполнить команду Run/Inspect. Инспектор отладки позволяет исследовать различные данные (переменные, массивы, классы, функции, указатели) и изменять значения переменных и свойств

компонентов.

Команда Evaluate/Modify открывает окно оценки и модификации выражений. Опции этого окна позволяют вычислять выражения и изменять значения переменных.

Команда Add Watch добавляет переменную или выражение в окно наблюдения. Команда Add Breakpoint добавляет точку прерывания, которая вызывает выделение

цветом соответствующего оператора в исходном тексте вашей программы.

Раздел меню Component

Раздел меню Component (рисунок 3) содержит команды, позволяющие создавать новые компоненты, изменять палитру компонентов и т.д.

Команда New Component... открывает диалоговое окно эксперта компонентов, помогающее создавать новые компоненты.

Команда Install Component... устанавливает новый визуальный компонент Delphi в новый или уже существующий пакет Delphi.

Команда Import ActiveX Control... позволяет импортировать активный управляющий элемент ActiveX, который уже зарегистрирован в системе, в новый или уже существующий проект Delphi.

Команда Create Component Template... сохраняет компонент с нужным набором свойств как шаблон для создания подобных компонентов. Эта команда становится активной, когда вы выделите на форме один или несколько компонентов.

Команда Install Packages... позволяет просмотреть список всех имеющихся пакетов и указать, какие пакеты должны компилироваться в вашем приложении. Вы можете видеть также текущий список компонентов каждого пакета и редактировать состав пакета.

Команда Configure Palette... вызывает диалоговое окно настройки палитры компонентов.

Раздел меню Database

Раздел меню DataBase (рисунок 4) содержит команды, позволяющие создавать, модифицировать и просматривать ваши базы данных.

Команда Explore вызывает инструмент исследования и редактирования структур баз данных Database Explorer или SQL Explorer (в зависимости от версии Delphi).

Команда SQL Monitor вызывает инструмент запросов к базе данных, позволяет наблюдать прохождение запросов в среде Windows и то, как они обрабатываются в вашем приложении.

Команда Form Wizard... вызывает окно эксперта форм для создания формы, отображающей наборы данных из удаленных или локальных баз данных.

Раздел меню Tools

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

Команда Environment Options вызывает окно настройки параметров Delphi и ее инструментов - палитры компонентов и окно просмотра объектов.

Команда Editor Options, введенная в Delphi 5, позволяет отображать диалоговое окно настройки Редактора кода. В Delphi 4 страницы настройки Редактора кода включены в окно настройки окружения Enviromental Options.

Команда Debugger Options... вызывает окно отладчика приложения для установки

необходимых опций.

Команда Repository... открывает окно репозитория Delphi, позволяя добавлять и удалять объекты из репозитория.

Команда Translation Repository имеется только в Delphi 5, она вызывает окно репозитория трансляции, которое используется при интернационализации проектов.

Команда Configure Tools... позволяет настроить Delphi, добавляя инструменты отладки приложения в меню Tools.

Команда Database Desktop вызывает инструмент обслуживания баз данных. Команда Package Collection Editor вызывает окно редактора пакетов. Команда Image Editor вызывает окно редактора графики.

Раздел меню Help

Команды этого раздела позволяют работать со справочной системой Delphi. Команда Contents или Delphi Help показывает содержимое справочной системы

3. Некоторые настройки компилятора Delphi

Компилятор может оказать большую помощь при разработке программы. Компилятор Delphi, например, позволяет включить различные режимы диагностики ошибок во вкладке Compiler диалогового окне Project-> Options, показанной на рис.2. Некоторые специальные директивы компилятора можно поместить непосредственно в текст программы. Кроме того, для получения дополнительной информации о коде полезно установить флажки опций Show Hints (Вывод советов) и Show Warnings (Вывод предупреждений), расположенных в той же вкладке диалогового окна свойств проекта. Зачастую программист тратит несколько часов в бесплодных поисках одной-единственной ошибки, которую компилятор, используя эти вспомогательные средства, смог бы найти немедленно.

Рис.2 - Вкладка Compiler диалогового окнаPro ject Options

Таблица 1. Классификация ошибок времени выполнения в Delphi

Проверка

Директива

Позволяет убедиться, что индекс массива,

(Проверка диапазона)

строки или значение скалярной переменной не

вышли за пределы допустимого диапазона

Контролирует ошибки ввода-вывода после ка-

(Контроль ввода-вывода)

ждого вызова функций ввода-вывода, напри

мер, таких как ReadLn() и WriteLn(). Эту

опцию желательно всегда включать

Overflow Checking

Проверяет, не превышает ли результат вычис-

(Контроль переполнения)

лений размер регистра

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

7. Десять важнейших функций графической среды разработки Delphi

1. Функция дополнения класса (Class Completion)

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

Безусловно, самым важной особенностью функции дополнения класса является то, что она не имеет собственного интерфейса. Достаточно просто ввести часть объявления класса и нажать комбинацию клавиш , для того чтобы функция дополнения класса предприняла попытку определить, что именно предполагалось ввести, и сгенерировала соответствующий текст. Например, если поместить в класс объявление процедуры Foo, после этого нажать упомянутую выше комбинацию клавиш, то описание этого метода автоматически будет внесено в раздел реализации данного модуля. Если объявить новое свойство, значение которого считывается из поля, а записывается с помощью метода, то после вызова функции дополнения класса будет автоматически создано определение поля, а также текст описания и реализации метода.

2. Функция навигации AppBrowser

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

3. Перемещение между разделами объявления и реализации

Для перемещения между объявлением и реализацией метода достаточно поместить на его имя курсор ввода и нажать комбинацию клавиш или

.

4. Состыковка окон

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

и удерживайте клавишу . Кроме того, можно щелкнуть в окне правой кнопкой мыши

и сбросить в раскрывшемся контекстном меню флажок опции Dockable.

5. Броузер объектов

Выводится на экран с помощью команды View -> Browser. В окне отображается древовидная структура, позволяющая получать доступ к глобальным переменным, классам и модулям, а также контролировать области видимости, цепочки наследования и ссылки на символы.

6. Создание нового GUID

Нажатие комбинации клавиш позволяет поместить в окно редактора кода новое уникальное значение GUID (уникального глобального идентификатора интерфейса). Эта возможность оказывается весьма полезной при создании нового интерфейса.

7. Подсветка синтаксиса С+ +

Если в процессе работы в среде Delphi вам часто приходится просматривать файлы с программами на языке С++ (например, файлы заголовков SDK), то вы сможете по достоинству оценить эту встроенную функцию редактора кодов. Нужно просто загрузить в редактор файл с текстом программы на С++ - все остальное будет сделано автоматически.

8. Список То Do

Используйте список "То Do List" для управления ходом работы над файлами с программами. Вывести содержимое этого списка можно с помощью команды View->To Do List. В этот список автоматически помещаются любые комментарии из создаваемых программ, которые начинаются словом "TODO". Окно То Do Items может использоваться для определения владельца, приоритета и категории каждого из объектов "То Do".

9. Использование менеджера проектов

Окно Project Manager может оказаться очень удобным инструментом при работе над большими проектами - особенно над теми, которые предусматривают создание нескольких файлов ЕХЕ или DLL Вывести это окно на экран можно с помощью команды View -> Project Manager.

10. Использование функции Code Insight для завершения объявлений и параметров

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

Визуальная среда программирования Delphi . Среда программирования Delphi состоит из множества визуальных и невизуальных стандартных компонент, которые позволяют существенно ускорит процесс разработки программ. Будем рассматривать одну из самых популярных версий Delphi 7. Рабочее окно программы состоит из пяти вспомогательных окон (рис.3.1.): главное окно (1), окно списка модулей (2), окно кода программы (3), окно формы проекта (4), инспектор объектов (5), окно списка объектов (6).

Рис. 3.1. Рабочее окно Delphi7.

Главное окно состоит из строки меню, панели инструментов и палитры компонентов. Палитра компонентов состоит из 14 страниц (Standard, Additional, Win32, System и др.). Для перемещения компонента на форму необходимо сначала щелкнуть по компоненту, а потом по форме.

Окно списка модулей содержит список всех подключенных к программе модулей.

В окне кода программы непосредственно пишется программы на языке Object Pascal. По умолчанию окно кода содержит текст пустой программы, отвечающей всех требованиям программы в Delphi.

Окно формы – это Windows-окно создаваемой программы: меню, размеры окна, заголовки, рамки и любые стандартные компоненты. При работе созданной программы пользователь видит только форму.

Инспектор объектов содержит две страницы: Properties (свойства) и Events (события). На странице свойств отражаются все характеристики выбранного объекта. На странице событий отображаются все возможные действия с объектом.

Окно списка объектов содержит список всех размещенных на форме компонентов.

Структура программы в среде Delphi . Программа на любом языке программирования имеет стандартную структуру: <заголовок программы> <тело программы>. Заголовок программы в среде Delphi содержит имя модуля основной программы и область определения всех стандартных и нестандартных программ-модулей, которые используется средой для организации исполнения программы. Рассмотрим разделы шаблона программы в среде.

Заголовок всегда начинается со слова unit . Стандартное имя программы Unit1. Для изменения имени программы достаточно сохранить программу под новым именем.

Раздел interface начинается с перечисления в предложении uses стандартных модулей. Например, модуль SysUtils разработан для использования в языке всех стандартных функций. Среда Delphi автоматически вставляет в шаблон разрабатываемой программы список необходимых модулей. Но есть модули, которые необходимо пользователю вписать вручную. Далее в разделе interface под заголовком type объявляются все создаваемые в программе типе данных. Здесь под заголовком private объявляются переменные, доступные только в этом модуле, а под заголовком public – доступные во всех модулях программы. Шаблон пустой программы в среде Delphi представлен на рисунке 3.2.

Рис. 3.2. Шаблон пустой программы в Delphi7

Объявление типов заканчивается тогда, когда появляется в программе заголовок следующего раздела. В приведенном примере это ключевое слово var. В этом разделе будут объявлены все переменные по определенным в программе типам данных. В приведенном шаблоне есть только одна переменная Form1, которая является объектом объявленного класса TForm1. Со строки unit до слова implementation находится заголовок программы. После этого слова располагаются описания всех действий в программе. Первое обязательное действие – это директива $R, обеспечивающая объединение модуля формы и модуля программы в один проект – программу. Конец текста программы-модуля определяется словом end с точкой.

Среда Delphi создает программу из нескольких файлов, которые обеспечивают настройку проекта на среду, установку параметров компилятора и другие файлы. Самый большой по размеру файл – это файл с расширением exe, который и является готовой программой. Рабочими файлами являются файлы с расширениями dpr и pas. В файле с расширением cfg обеспечивается настройка опций проекта. Файл с расширением dof обеспечивает установку параметров компилятора. Файл с расширением res определяется как файл ресурсов. Он содержит и стандартную иконку проекта, которую разработчик может заменить. Файл с расширением dcu – это оттранслированный файл модуля. Если модулей несколько, то они будут объединены в единый проект. Файл с расширением dfm содержит характеристики всех стандартных компонент формы.

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

Для записи целых чисел используются те же (плюс добавляются некоторые свои) типы данных, что и на языке Turbo Pascal 7.0., но только с другими диапазонами значений (табл. 3.29.).

Целый тип данных

Диапазон значений

Размер в байтах

2147483648…2147483647

Соответствует типу integer

2 63 …2 63 – 1

Соответсвует типу cardinal

Таблица 3.29. Целые типы данных в Delphi7.

Часто при создании программ необходимо перевести число в строку или наоборот. Для этого существуют функции: StrToInt(s) и IntToStr(x), первая из которых переводит строку s в число, вторая – число х в строку.

Вещественные (действительные) числа характеризуются наличием десятичной запятой в записи числа. Запись таких чисел обеспечивается с некоторой точностью, определяющей количество разрядов в экспоненциальной записи числа. В Delphi 7 используются 6 вещественных типов (таблица 3.30.).

Вещественный

тип данных

Максимальное значение

Количество цифр

Размер в байтах

9223337203685477.5807

Таблица 3.30. Вещественные типы данных в Delphi7.

Наибольшая производительность обеспеченна для типа real. Для переводов вещественного числа в строку и наоборот существуют функции StrToFloat(s) и FloatToStr(x).

Логический тип данных так же как и в Turbo Pascal 7.0. содержит две переменные: true (истина) и false (ложь). Использование логических переменных позволяет существенно улучшит алгоритм решения задач за счет контроля некоторых особых вариантов решения задачи.

Строковый (string) и символьный (char) типы данных в Delphi 7 аналогичны этим же типам в Turbo Pascal 7.0. Существуют еще 3 строковых типа данных (Shortstring,Ansistring,Widestring), которые отличаются длинной и используются, как правило, для совместимости с другими версиями.

Тип дата-время (TDateTime) введен для удобства пользователя. При этом дата и время могут быть записаны в нескольких формах.

Константы и массивы записываются аналогично записи в Turbo Pascal 7.0.

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

Вопросы для размышления:

1. На каком языке пишутся программы в среде Delphi 7?

2. Из каких частей состоит рабочее окно программы Delphi 7?

3. Из скольких файлов создается программа в Delphi 7?

4. Какие существуют типы данных в Delphi 7?

5. Чем могут отличаться одноименные типы данных в Turbo Pascal 7.0. и Delphi 7?

Интерфейс среды программирования Delphi

В первую очередь Delphi предназначен для профессионалов-разработчиков корпоративных информационных систем. Может быть, здесь следует пояснить, что конкретно имеется в виду. Не секрет, что некоторые удачные продукты, предназначенные для скоростной разработки приложений (RAD - rapid application development) прекрасно работают при изготовлении достаточно простых приложений, однако, разработчик сталкивается с непредвиденными сложностями, когда пытается сделать что-то действительно сложное. Бывает, что в продукте вскрываются присущие ему ограничения только по прошествии некоторого времени. Delphi такие ограничения не присущи. Хорошее доказательство тому - это тот факт, что сам Delphi разработан на Delphi. Можете делать выводы. Однако Delphi предназначен не только для программистов-профессионалов. Я читал в электронной конференции совершенно неожиданные для меня письма, где учителя, врачи, преподаватели ВУЗов, бизнесмены, все те, кто используют компьютер с чисто прикладной целью, рассказывали о том, что приобрели Delphi for Windows для того, чтобы быстро решить какие-то свои задачи, не привлекая для этого программистов со стороны. В большинстве случаев им это удается. Поразительный факт - журнал Visual Basic Magazine присудил свою премию Delphi for Windows. Руководители предприятий, планирующие выделение средств на приобретение программных продуктов, должны быть уверены в том, что планируемые инвестиции окупятся. Поэтому одним из оцениваемых факторов должен быть вопрос - а легко ли найти специалиста по Delphi и сколько будет стоить его обучение, сколько времени специалист затратит на овладение продуктом. Ответ здесь получить весьма просто - любой программист на паскале способен практически сразу профессионально освоить Delphi. Специалисту, ранее использовавшему другие программные продукты, придется труднее, однако самое первое работающее приложение он сможет написать в течение первого же часа работы на Delphi.

Структура среды программирования

Внешний вид среды программирования Delphi отличается от многих других из тех, что можно увидеть в Windows. К примеру, Borland Pascal for Windows 7.0, Borland C++ 4.0, Word for Windows, Program Manager - это все MDI приложения и выглядят по-другому, чем Delphi. MDI (Multiple Document Interface) - определяет особый способ управления нескольких дочерних окон внутри одного большого окна. Если Вы используете SDI приложение типа Delphi, то уже знаете, что перед началом работы лучше минимизировать другие приложения, чтобы их окна не загромождали рабочее пространство. Если нужно переключиться на другое приложение, то просто щелкните мышкой на системную кнопку минимизации Delphi. Вместе с главным окном свернутся все остальные окна среды программирования, освободив место для работы других программ.

Главные составные части среды программирования

Ниже перечислены основные составные части Delphi:

  1. Дизайнер Форм (Form Designer)
  2. Окно Редактора Исходного Текста (Editor Window)
  3. Палитра Компонент (Component Palette)
  4. Инспектор Объектов (Object Inspector)
  5. Справочник (On-line help)

Дизайнер Форм в Delphi столь интуитивно понятен и прост в использовании, что создание визуального интерфейса превращается в детскую игру. Дизайнер Форм первоначально состоит из одного пустого окна, которое Вы заполняете всевозможными объектами, выбранными на Палитре Компонент. Несмотря на всю важность Дизайнера Форм, местом, где программисты проводят основное время является Редактор. Логика является движущей силой программы и Редактор - то место, где Вы ее “кодируете”. Палитра Компонент позволяет Вам выбрать нужные объекты для размещения их на Дизайнере Форм. Для использования Палитры Компонент просто первый раз щелкните мышкой на один из объектов, и потом второй раз - на Дизайнере Форм. Выбранный Вами объект появится на проектируемом окне и им можно манипулировать с помощью мыши. Палитра Компонент использует постраничную группировку объектов. Внизу Палитры находится набор закладок - Standard, Additional, Dialogs и т.д. Если Вы щелкнете мышью на одну из закладок, то Вы можете перейти на следующую страницу Палитры Компонент. Принцип разбиения на страницы широко используется в среде программирования Delphi и его легко можно использовать в своей программе. (На странице Additional есть компоненты для организации страниц с закладками сверху и снизу). Слева от Дизайнера Форм Вы можете видеть Инспектор Объектов. Заметьте, что информация в Инспекторе Объектов меняется в зависимости от объекта, выбранного на форме. Важно понять, что каждый компонент является настоящим объектом, и Вы можете менять его вид и поведение с помощью Инспектора Объектов. Инспектор Объектов состоит из двух страниц, каждую из которых можно использовать для определения поведения данного компонента. Первая страница - это список свойств, вторая - список событий. Если нужно изменить что-нибудь, связанное с определенным компонентом, то Вы обычно делаете это в Инспекторе Объектов. К примеру, Вы можете изменить имя и размер компонента TLabel, изменяя свойства Caption, Left, Top, Height, и Width. Последняя важная часть среды Delphi - Справочник (on-line help). Для доступа к этому инструменту нужно просто выбрать в системном меню пункт Help и затем Contents. На экране появится Справочник. Справочник является контекстно-зависимым; при нажатии клавиши F1, Вы получите подсказку, соответствующую текущей ситуации. Например, находясь в Инспекторе Объектов, выберите какое-нибудь свойство и нажмите F1 - Вы получите справку о назначении данного свойства. Если в любой момент работы в среде Delphi возникает неясность или затруднение - жмите F1 и необходимая информация появится на экране.

Дополнительные элементы

В данном разделе внимание фокусируется на трех инструментах, которые можно воспринимать как вспомогательные для среды программирования:
Меню (Menu System);
Панель с кнопками для быстрого доступа (SpeedBar);
Редактор картинок (Image Editor).
Меню предоставляет быстрый и гибкий интерфейс к среде Delphi, потому что может управляться по набору “горячих клавиш”. Это удобно еще и потому, что здесь используются слова или короткие фразы, более точные и понятные, нежели иконки или пиктограммы. Вы можете использовать меню для выполнения широкого круга задач; скорее всего, для наиболее общих задач вроде открытия и закрытия файлов, управления отладчиком или настройкой среды программирования. SpeedBar находится непосредственно под меню, слева от Палитры Компонент. SpeedBar выполняет много из того, что можно сделать через меню. Если задержать мышь над любой из иконок на SpeedBar, то Вы увидите что, появится подсказка, объясняющая назначение данной иконки. Редактор Картинок работает аналогично программе Paintbrush из Windows. Вы можете получить доступ к этому модулю выбрав пункт меню Tools | Image Editor. А теперь нужно рассмотреть те элементы, которые программист на Delphi использует в повседневной жизни.

Инструментальные средства

В дополнение к инструментам, обсуждавшимся выше, существуют пять средств, поставляемых вместе с Delphi. Эти инструментальные средства:
Встроенный отладчик
Внешний отладчик (поставляется отдельно)
Компилятор командной строки
WinSight
WinSpector
Данные инструменты собраны в отдельную категорию не потому, что они менее важны, чем другие, но потому, что они играют достаточно абстрактную техническую роль в программировании. Чтобы стать сильным программистом на Delphi, Вам необходимо знать, как использовать отладчик Delphi. Отладчик позволяет Вам пройти пошагово по исходному тексту программы, выполняя по одной строке за раз, и открыть просмотровое окно (Watch), в котором будут отражаться текущие значения переменных программы. Встроенный отладчик, который наиболее важен из пяти вышеперечисленных инструментов, работает в том же окне, что и Редактор. Внешний отладчик делает все, что делает встроенный и кое-что еще. Он более быстр и мощен, чем встроенный. Однако он не так удобен в использовании, главным образом из-за необходимости покидать среду Delphi.

Стандартные компоненты

Для дальнейшего знакомства со средой программирования Delphi потребуется рассказать о составе первой страницы Палитры Компонент. На первой странице Палитры Компонент размещены 14 объектов определенно важных для использования. Мало кто обойдется длительное время без кнопок, списков, окон ввода и т.д. Все эти объекты такая же часть Windows, как мышь или окно. Набор и порядок компонент на каждой странице являются конфигурируемыми. Так, Вы можете добавить к имеющимся компонентам новые, изменить их количество и порядок. Стандартные компоненты Delphi перечислены ниже с некоторыми комментариями по их применению. При изучении данных компонент было бы полезно иметь под рукой компьютер с тем, чтобы посмотреть, как они работают и как ими манипулировать. TMainMenu позволяет Вам поместить главное меню в программу. При помещении TMainMenu на форму это выглядит, как просто иконка. Иконки данного типа называют "невидимыми компонентом", поскольку они невидимы во время выполнения программы. Создание меню включает три шага: (1) помещение TMainMenu на форму, (2) вызов Дизайнера Меню через свойство Items в Инспекторе Объектов, (3) определение пунктов меню в Дизайнере Меню. TPopupMenu позволяет создавать всплывающие меню. Этот тип меню появляется по щелчку правой кнопки мыши. TLabel служит для отображения текста на экране. Вы можете изменить шрифт и цвет метки, если дважды щелкнете на свойство Font в Инспекторе Объектов. Вы увидите, что это легко сделать и во время выполнения программы, написав всего одну строчку кода. TEdit - стандартный управляющий элемент Windows для ввода. Он может быть использован для отображения короткого фрагмента текста и позволяет пользователю вводить текст во время выполнения программы. TMemo - иная форма TEdit. Подразумевает работу с большими текстами. TMemo может переносить слова, сохранять в Clipboard фрагменты текста и восстанавливать их, и другие основные функции редактора. TMemo имеет ограничения на объем текста в 32Кб, это составляет 10-20 страниц. (Есть VBX и “родные” компоненты Delphi, где этот предел снят). TButton позволяет выполнить какие-либо действия при нажатии кнопки во время выполнения программы. В Delphi все делается очень просто. Поместив TButton на форму, Вы по двойному щелчку можете создать заготовку обработчика события нажатия кнопки. Далее нужно заполнить заготовку кодом (подчеркнуто то, что нужно написать вручную):

Procedure TForm1.Button1Click(Sender: TObject); begin MessageDlg("Are you there?", mtConfirmation, mbYesNoCancel, 0); end; TCheckBox отображает строку текста с маленьким окошком рядом. В окошке можно поставить отметку, которая означает, что что-то выбрано. Например, если посмотреть окно диалога настроек компилятора (пункт меню Options | Project, страница Compiler), то можно увидеть, что оно состоит преимущественно из CheckBox’ов. TRadioButton позволяет выбрать только одну опцию из нескольких. Если Вы опять откроете диалог Options | Project и выберете страницу Linker Options, то Вы можете видеть, что секции Map file и Link buffer file состоят из наборов RadioButton. TListBox нужен для показа прокручиваемого списка. Классический пример ListBox’а в среде Windows - выбор файла из списка в пункте меню File | Open многих приложений. Названия файлов или директорий и находятся в ListBox’е. TComboBox во многом напоминает ListBox, за исключением того, что позволяет водить информацию в маленьком поле ввода сверху ListBox. Есть несколько типов ComboBox, но наиболее популярен выпадающий вниз (drop-down combo box), который можно видеть внизу окна диалога выбора файла. TScrollbar - полоса прокрутки, появляется автоматически в объектах редактирования, ListBox’ах при необходимости прокрутки текста для просмотра. TGroupBox используется для визуальных целей и для указания Windows, каков порядок перемещения по компонентам на форме (при нажатии клавиши TAB). TPanel - управляющий элемент, похожий на TGroupBox, используется в декоративных целях. Чтобы использовать TPanel, просто поместите его на форму и затем положите другие компоненты на него. Теперь при перемещении TPanel будут передвигаться и эти компоненты. TPanel используется также для создания линейки инструментов и окна статуса. TScrollBox представляет место на форме, которое можно скроллировать в вертикальном и горизонтальном направлениях. Пока Вы в явном виде не отключите эту возможность, форма сама по себе действует так же. Однако, могут быть случаи, когда понадобится прокручивать только часть формы. В таких случаях используется TScrollBox. Это полный список объектов на первой странице Палитры Компонент. Если Вам нужна дополнительная информация, то выберите на Палитре объект и нажмите клавишу F1 - появится Справочник с полным описанием данного объекта. Остальное связано с построением пользовательского интерфейса: размещению объектов на форме, настройке их свойств и написанию обработчиков событий. А также созданию приложений, работающих с базами данных. Итак, очевидно, что пользователь является замыкающим звеном системы управления, т.е. субъектом управления, а программа является объектом управления. Рациональная организация труда пользователей является одним из важнейших факторов, определяющих эффективное функционирование системы в целом. До появления операционных систем семейства Windows пользователь вёл управление, «не видя» реального объекта. Между реальным объектом управления и пользователем находилась информационная модель объекта (средства отображения информации). Поэтому возникала проблема проектирования не только средств отображения информации, но и средств взаимодействия пользователя с техническими средствами программы, т.е. проблема проектирования системы, которая имеет название интерфейс пользователя.

Возможности среды программирования Delphi

Анализ опыта внедрения в школах, вузах и различных предприятиях, компьютерных программ учебного назначения показывает, что важным фактором, препятствующим их широкому применению, является неполное соответствие предлагаемого материала идеям и методам преподавания той или иной дисциплины. Многие педагоги проявляют значительную осторожность в использовании обучающих программ и педагогических программных средств. Идеальным решением этой проблемы является полный учет требований пользователя (преподавателя), что практически недостижимо. В настоящее время в сфере разработки обучающих и других учебных программ доминируют интересы и предпочтения производителя, то есть программистов-разработчиков компьютерных программ. В печати и на конференциях различного уровня не раз высказывалось мнение, что современному педагогу, скорее нужен не диск с полным мультимедийным курсом по предмету, а некоторые элементарные кирпичики, которые он мог бы использовать в качестве красочных иллюстраций своих идей и методов и которые более органично вписались бы в традицию использования наглядных пособий, подбираемых педагогом для своего занятия. В связи с этим представляется целесообразным создание не законченной обучающей продукции, а своеобразных электронных конструкторов - инструментальных программных средств (авторских систем) для создания педагогом собственных приложений. Одним из таких инструментальных средств является Delphi. Однако, имеется крайне мало литературы начального уровня, предназначенной для освоения Delphi применительно к использованию в учебном процессе. Профессиональным программистам такие задачки, как мини-калькулятор или учебный графический редактор, неинтересны - им, скорее, подавай примеры работы с базами данных по технологии "клиент-сервер". А учителю это как раз совсем не нужно. Delphi можно изучать и использовать на нескольких уровнях: Работа с визуальными объективами практически без программирования. Использование готовых компонентов системы с написанием на их основе собственного программного кода. Создание собственных компонентов на языке Паскаль и включение их в палитру компонентов Delphi в качестве стандартных. Разработка законченных Windows-приложений. Для школьного курса более чем достаточно первого уровня (задачи второго уровня можно решать в курсе профильной школы и на факультативах). Не так давно программирование, ориентированное на объекты и события, казалось непрофессионалам большой экзотикой. Однако даже после прихода Windows 95/98 такой стиль создания программ пока фактически не востребован в реальной школьной практике. Приведу пример проведения занятий по созданию приложений Windows с группами школьников, углубленно изучающими информатику. Для работы была выбрана среда визуального конструирования программ Delphi3. Школьники, приступившие к изучению и применению Delphi, уже достаточно хорошо работали в Windows 95 и приложениях. Поэтому интегрированная среда разработки Delphi воспринималась учениками совершенно естественно. Конструирование форм с различными визуальными компонентами (хорошо знакомыми элементами управления Windows) и работа с инспектором объектов по установлению свойств объектов вызывала у школьников неподдельный интерес. Одновременно создавались первые приложения, в которых свойства объектов можно изменять в программном режиме. Весьма живо воспринималось применяемое преподавателями образное сравнение: мы проектируем Windows"кого робота, создаем заготовки его частей, программируем его реакции на те или иные действия пользователя, в процессе компиляции Delphi собирает робота и запускает его в работу. Теперь надо определить, получился ли робот, таким, как мы хотели. Получая практический опыт конструирования событийно-управляемых объектно-ориентированных программ, школьники выходили затем с помощью преподавателя на уровень соответствующих теоретических обобщений. Ряд школьников с эмпирическим стилем мышления успешно конструировали весьма интересные приложения, ограничиваясь минимальным применением базовых управляющих структур при разработке процедур. В то же время за этими структурами они видели теперь не средства для организации трудно воспринимаемых абстрактных вычислений, а средства для обучения Windows"кого робота, то есть средства решения очень интересной задачи. Школьники с развитым теоретическим стилем мышления, освободившись от рутины организации интерфейса Турбо Паскаля и жестких рамок его возможностей, выходили на разработку серьезных развитых проектов с использованием разнообразных компонентов Delphi и хорошей проработкой кода процедур. По моему мнению, современные технологии конструирования приложений Windows на Delphi во многом более доступны школьникам, чем традиционное программирование, вызывают большой интерес, способствуют раскрытию творческого потенциала ученика и обладают замечательными дидактическими возможностями.

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

Требования к средам визуального программирования

Основные требования, которым должна удовлетворять среда визуального конструирования алгоритмов:

  1. Среда должна быть разработана для функционирования в наиболее популярной из современных операционных систем, которая поддерживает графический интерфейс с пользователем. Это даст возможность изучать основы алгоритмизации, используя значительное количество компьютерной техники, которой укомплектованы средние школы. На данный момент - это операционные системы семейства Windows фирмы Microsoft.
  2. Среда должна быть разработана с соблюдением общих стандартов для современных программных продуктов. Это обеспечит удобство и простоту работы с элементами управления среды: меню, панелями инструментов и т.п., и даст возможность закрепить основные навыки работы пользователя с программными средствами.
  3. Среда должна быть простой и мощной. Простота освоения и пользования средой, возможности конструирования широкого класса алгоритмов с использованием всех доступных на сегодняшний момент ресурсов мультимедийных компьютеров.
  4. Для предоставления алгоритмов необходимо выбрать форму, которая должна удовлетворять двум основным критериям: быть наглядной и понятной для пользователя и быть удобной для реализации в графической оболочке операционной системы. Кроме этого, форма предоставления, в силу возможностей, должна быть наиболее приближенной к содержанию алгоритма, а не к синтаксису алгоритмических структур, который используется в этом представлении.
  5. Методы, при помощи которых конструируются алгоритмы в среде, должны основываться на методах создания программного обеспечения при помощи современных средств разработки, в основе которых лежит объектный подход и визуализация. Это, по нашему мнению, даст возможность ученикам при необходимости, например, при изучении основ современного программирования в классах с углубленным изучением информатики или факультативно, быстрее освоить технологию визуального программирования.
  6. Одной из главных задач является создание среды, ориентированной на выделение смыслового содержания решаемой задачи, а не на изучение алгоритмических структур конкретного представления. "Невзирая на то, что разработка каждого нового алгоритма требует своего подхода, тем не менее существуют определенные общие приемы и этапы этого рода деятельности". Поэтому в среде должна быть реализована унификация алгоритмических структур как конструкций, которые содержатся в любых алгоритмах, а не только алгоритмах определенного класса. В роли таких унифицированных структур целесообразно использовать такие стандартные алгоритмические конструкции: следование, разветвление, повторение и вызов подпрограммы.
  7. Действия, которые относятся к решению определенной задачи, должны быть определенными по смысловому содержанию, и организованы в виде отдельного блока (подпрограммы). Например, если необходимо проиграть какой-нибудь звуковой файл, то и смысл этой конструкции должен быть - "проиграть звуковой файл с определенным именем".
  8. В среде структура алгоритма должна быть представлена в графической форме при помощи определенного "графического" синтаксиса. Наряду с этим для обозначения идентификаторов, названий методов графически-визуальных объектов возможное использование текстового синтаксиса. Такого рода синтаксис нельзя "изъять" полностью, поскольку он является внешним по отношению к алгоритмическому представлению. Но такой "внешний" синтаксис основывается на понятиях, известных ученикам по собственному опыту, приобретенному при изучении других школьных предметов, и его применение не должно вызывать значительных трудностей.
  9. В среде пользователю должна быть предоставлена возможность свободно менять синтаксис текстово-символьных команд (там, где это целесообразно). Например, изменить символ арифметического сложения "+" на какой-то другой вряд ли стоит с точки зрения ясности и унификации, а вот выбрать название для действия изъятия в символьной строке - "стереть" или "delete" - целиком зависит от желания пользователя.
  10. Как известно, каждый алгоритм работает с определенным набором данных, которые обрабатываются при помощи некоторых методов. Собственно, алгоритм - это процесс преобразования входных данных в выходные. Поэтому следует предусмотреть явное разграничение между данными и методами их обработки. Это не противоречит парадигме процедурного программирования. Достаточно только вспомнить известную "формулу" Н. Вирта "алгоритмы + данные = программа". При этом, данные логично сделать строго типизированными, как того требуют правила современных языков программирования, и разместить их отдельно, например в виде таблицы, доступ к которой можно быстро получить в любой момент конструирование алгоритма.

Методология создания приложений учебного назначения

Создание любого компьютерного приложения, а особенно курса по информатики, сегодня не мыслится без тщательно продуманного плана разработки. В настоящее время существует хорошо отработанная методология создания компьютерных обучающих систем. Как и всякая методология проектирования, она включает целый ряд последовательных этапов. Для создания обучающей программы необходимо:
Выбрать тип программы. На этом этапе определяются основные цели и задачи программы, а также средства её реализации.
Собрать подходящие исходные материалы - тексты, репродукции и иллюстрации, аудиозаписи, видеокассеты, компьютерные файлы. Полнота собранных материалов говорит о готовности к реализации программы и определяет уровень её качества.
Написать сценарий программы и взаимодействия преподавателя с ней, определяющий композицию всех собранных материалов. Здесь определяется вся логика программы. Сценарий описывает связи между слайдами, структуру и изменения на этих слайдах, а также звуковые и видеоэффекты.
Обработать собранные материалы на компьютере, подготовив их к включению в обучающую программу, т.е. создать и отредактировать текстовые, графические, анимационные, видео, звуковые сопровождения. Здесь используются как стандартные средства самой операционной системы, так и ставшие стандартными пакеты редактирования текстов (Microsoft Word), компьютерной графики и анимации (3D Studio, Adobe PhotoShop), видеомонтажа (Adobe Premiere), Web-мастеринга (Microsoft FrontPage), а также программы, поставляемые вместе с аудио- и видео платами.
Реализовать сценарий в виде действующей программы, внося необходимые изменения в материалы и сценарий в процессе опытной эксплуатации. Для авторов, не являющихся программистами, лучшим вариантом является использование таких средств визуального программирования, как Power Point из Microsoft Office, Macromedia Director, а также средства Web-мастеринга. Наконец, профессиональные программисты могут использовать системы программирования Visual C++, Visual Basic, Delphi, Java и др., но оптимальных сроков разработки они добьются, если будут их использовать в дополнение к перечисленным выше системам.
Подготовить методические материалы для пользователей программы - преподавателей. Такие материалы необходимы, так как пользователи программы, как правило, не обладают квалификацией её авторов.

Практическая часть

Создание простейших программ учебного назначения.

Проект "Подбор цвета"

Формирование цвета из отдельных компонент. Класс TColor, константы цвета, функция RGB Цвета объектов образуются смешением трех компонент - красной (red), зеленой (green) и синей {blue). Интенсивность каждой составляющей цвета может изменяться от 0 до 255. Комбинация (0, 0, 0) соответствует черному, а (255, 255, 255) - белому цвету. Почти у каждого визуального компонента есть свойство Color. До сих пор мы выбирали его значение из списка стандартных цветов, но ничто не мешает создать цвет из отдельных компонент. Для этого воспользуемся функцией RGB: Color:= RGB (red, green, blue); Можно создать также свою цветовую гамму, заранее заготовив цвета для различных визуальных объектов. Но использовать эти цвета можно будет только при создании соответствующего объекта на этапе выполнения программы (об этом поговорим немного позже). Для подбора цвета разработаем проект, позволяющий легко изменять цвет панели с помощью полос прокрутки - объектов класса TScrollBar. Поместим на форму панель и три полосы прокрутки (они также находятся на вкладке standard). Каждая полоса прокрутки будет отвечать за интенсивность одной из трех цветовых компонент. Крайнее левое положение ползунка должно соответствовать минимальному, а крайнее правое - максимальному значению интенсивности. Зададим для всех полос свойство Min=0, а свойство Мах=2 5 5. Настроим другие свойства: Kind - определяет размещение полосы - горизонтальное (sbHorizontal) или вертикальное (sbVertical); LargeChange-шаг перемещения ползунка при щелчке на самой полосе; SmallChange - шаг перемещения ползунка при щелчке на стрелке; Position - числовой эквивалент положения ползунка на полосе скроллинга,

Исходный код:

Вы можете сразу скачать в архиве ZIP.

Программа1. «Подбор цветов»
Основное событие для полосы скроллинга - перемещение ползунка (событие OnChange), при этом способ перемещения значения не имеет. Напишем отдельную процедуру изменения цвета панели:

Procedure SetPanelColor; var red, green, blue, k: word; begin red:= Form1. ScrollBar1.Position; if form1.rb1.Checked then begin k:=255 div 2; if (red>=0) and(red=0) and(green=0) and(blue и будем ее вызывать в ответ на перемещение ползунка на любой полосе скроллинга: procedure TForm1.ScrollBar1Change(Sender: TObject); begin SetPanelColor; end; procedure TForm1.ScrollBar2Change(Sender: TObject); begin SetPanelColor; end; procedure TForm1.ScrollBar3Change(Sender: TObject); begin SetPanelColor; end; Выбирая палитру из 8 цветов мы должны изменять положение ползунка так чтобы его движение равнялось 0 либо 255: procedure TForm1.RB1Click(Sender: TObject); begin Form1.Caption:="Палитра из 8 цветов; ScrollBar1.LargeChange:=255; ScrollBar1.SmallChange:=255; ScrollBar1.Position:=0; ScrollBar2.LargeChange:=255; ScrollBar2.SmallChange:=255; ScrollBar2.Position:=0; ScrollBar3.LargeChange:=255; ScrollBar3.SmallChange:=255; ScrollBar3.Position:=0; end; procedure TForm1.RB2Click(Sender: TObject); begin Form1.Caption:="Палитра из 256 цветов; ScrollBar1.LargeChange:=1; ScrollBar1.SmallChange:=1; ScrollBar1.Position:=0; ScrollBar2.LargeChange:=1; ScrollBar2.Position:=0; ScrollBar2.SmallChange:=1; ScrollBar3.LargeChange:=1; ScrollBar3.SmallChange:=1; ScrollBar3.Position:=0; end; Проект готов, можем запустить и поработать с ним. Вариант оформления проекта приведен на рисунке:

Данное приложение можно использовать на уроках информатики для закрепления материала «Представление графической информации в компьютере», наглядно показывая, что цвет хранится в виде числового кода. В наборе имеются палитры из 8 и 256 цветов.

Составные компоненты программы:
Панель (Panel) для отображения цвета;
3 полосы прокрутки (ScrollBar) для изменения цветовой гаммы (КЗС или КККЗЗЗСС);
2 переключателя (RadioButton) для выбора цветовой палитры;
3 текстовых поля (Edit) для вывода цветового кода;
Кнопка(BitBtn) для закрытия программы.