Настройка оборудования и программного обеспечения

Дидактические возможности Delphi. Среда Delphi и простейшее приложение Delphi популярная современная среда приложение 1

Интерфейс среды программирования 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) для закрытия программы.

Энциклопедичный YouTube

  • 1 / 5

    Среда предназначена для быстрой (RAD) разработки прикладного ПО для операционных систем Windows, Mac OS X, а также iOS и Android. Благодаря уникальной совокупности простоты языка и генерации машинного кода, позволяет непосредственно, и, при желании, достаточно низкоуровнево взаимодействовать с операционной системой, а также с библиотеками, написанными на C/C++. Созданные программы независимы от стороннего ПО, как то Microsoft .NET Framework или Java Virtual Machine. Выделение и освобождение памяти контролируется в основном пользовательским кодом, что, с одной стороны, ужесточает требования к качеству кода, а с другой - делает возможным создание сложных приложений с высокими требованиями к отзывчивости (работа в реальном времени). В кросс-компиляторах для мобильных платформ предусмотрен автоматический подсчёт ссылок на объекты, облегчающий задачу управления их временем жизни.

    Произношение

    По поводу «правильного» произношения названия среды разработки было сломано немало копий не только в России . Интересно, что нет единства даже среди англоязычных стран. В частности, согласно данному источнику, в Великобритании доминирует произношение «дел-фи́» , а в США - «дел-фа́й» .

    CodeGear

    История версий Delphi

    Borland Delphi

    Первая версия Borland Delphi (позже известная как Delphi 1) была выпущена в 1995 году и была предназначена для разработки 16-разрядных приложений для Windows 3.1. Это была одна из первых систем RAD .

    Delphi 2

    Delphi 2 появилась в 1996 году и позволяла разрабатывать 32-битные приложения. Для программирования под Windows 3.1 в комплект поставки включалась Delphi 1.

    Delphi 3

    Delphi 3 выпущена в 1997 году. В этой версии появилась технология Code Insight, пакеты компонентов, поддержка ActiveForms, MIDAS и интерфейсов COM.

    Inprise Delphi 4

    Inprise Delphi 4 была выпущена в 1998 году. IDE была полностью переработана с применением интерфейсов Drag-and-Dock. В VCL добавлена поддержка ActionLists. Была введена перегрузка процедур и функций, динамические массивы, поддержка Windows 98, CORBA и Microsoft BackOffice. Это была последняя версия поставляемая с Delphi 1 для 16-битных программ.

    Borland Delphi 5

    Borland Delphi 5 появилась в 1999 году. Добавлены фрэймворки, параллельное программирование, расширенный интегрированный отладчик, поддержка XML, поддержка баз данных ADO.

    Kylix

    В 2001 году Borland реализовал версию Delphi под Linux , названную Kylix. Вместо библиотеки VCL использовалась кроссплатформенная CLX (оболочка для ). IDE Kylix базировался на библиотеках Wine. Так как kylix раньше был по другому назван GRODT потом Н.Никос изменил название на kyluix. [ ]

    Borland Delphi 6

    Поддерживала кросс-платформенную библиотеку CLX.

    Borland Delphi 7

    Delphi 7, выпущенная в августе 2002 года, стала стандартом для многих разработчиков Delphi.

    Это один из самых успешных продуктов Borland из-за стабильности, скорости и низких требований к аппаратному обеспечению. В Delphi 7 добавлены новые компоненты для Windows XP и увеличено число компонентов для создания web-приложений .

    Borland Delphi 8

    Delphi 8 выпущена в декабре 2003 года. Имела новый закрепленный интерфейс Galileo, подобный Visual Studio.NET Microsoft. Поддерживала разработку приложений только под .NET . Позиционировалась как первая система программирования под.NET, выпущенная не Microsoft, а сторонним разработчиком.

    Borland Delphi 2005

    Также Delphi 9 и Borland Developer Studio 3.0. В этой версии была возвращена возможность разработки приложений под Win32, убранная из предыдущей Delphi 8. Но если библиотека VCL была возвращена, то CLX больше уже не поддерживалась.

    Borland Delphi 2006

    Delphi 2006 (Delphi 10, Borland Developer Studio 4.0) Была выпущена в декабре 2005 года. В одной IDE поддерживалась разработка проектов C#, Delphi.NET, Delphi Win32 и C++.

    CodeGear Delphi 2007

    Delphi 2007 (Delphi 11, в составе IDE CodeGear RAD Studio 5.0) вышла в сентябре 2007 года. Является последней неюникодной версией Delphi.

    Новое в Delphi 2007

    • Стандартные компоненты в новой Delphi, теперь автоматически поддерживают темы Windows. В предыдущих версиях нужно было кидать на форму компонент XPManifest. XPManifest некорректно работал (исчезал цвет на некоторых компонентах) в ОС Windows Vista и выше;
    • Некоторые изменения претерпел VCL . Наряду с обычной, стандартной вкладкой «Dialogs», появилась новая - «Vista Dialogs». Она содержит всего три компонента: TFileOpenDialog, TFileSaveDialog и TTaskDialog;
    • В VCL добавлены Vista-ориентированные классы диалогов (TCustomFileDialog, TCustomFileOpenDialog, TCustomFileSaveDialog, TCustomTaskDialog, TFavoriteLinkItem, TFavoriteLinkItems, TFavoriteLinkItemsEnumerator, TFileTypeItem, TFileTypeItems, TTaskDialogBaseButtonItem, TTaskDialogButtonItem, TTaskDialogButtons, TTaskDialogButtonsEnumerator, TTaskDialogProgressBar, TTaskDialogRadioButtonItem) и переработаны некоторые существовавшие классы под Windows Vista;
    • Справочная система Delphi сделана в формате Microsoft Document Explorer. Многие его пункты переработаны и расширены. Визуально выглядеть он стал лучше;
    • Некоторым изменениям подверглась DBExpress . Появилась поддержка Interbase 2007, MySQL 4.1 и 5. Также появилась поддержка Unicode в драйверах Oracle , Interbase и MySQL .

    Delphi 2009

    Новое в Delphi 2009
    • полная поддержка Unicode . Приложения могут выполняться на любой языковой версии Windows. Применение Unicode гарантирует, что приложения будут одинаково выглядеть и функционировать во всех языковых версиях Windows и поддерживать как Unicode-строки, так и ANSI-строки. Новые усовершенствованные средства локализации помогают переводить приложения на различные языки. Все функции Windows API заменены на их unicode-аналоги (например, ранее MessageBox определялась как MessageBoxA, теперь - MessageBoxW); тип String теперь на самом деле является UnicodeString, а Char - WideChar, PChar теперь объявлен как PWideChar. Старые типы и описания ANSI-вариантов системных функций сохранились, однако теперь потребуется прямое их указание (например, Set of Char в Delphi 2009 будет Set of AnsiChar, а MessageBox - MessageBoxA). Delphi 2009 - первая из версий Delphi для Win32 , требующая серьёзной переработки проектов при переходе на новую версию, что особенно критично для системных программистов, широко использовавших прямую обработку типов данных;
    • новые элементы языков программирования, в том числе Generics и анонимные методы для Delphi, позволяют создавать более гибкий и качественный код и предоставляют новые возможности для рефакторинга ;
    • новая библиотека VCL включает в себя множество усовершенствований и новых компонентов для создания развитого графического интерфейса;
    • веб-библиотека VCL позволяет создавать веб-приложения с развитым интерфейсом с поддержкой AJAX ;
    • уменьшено время передачи приложением сообщений операционной системе;
    • визуальное проектирование и разработка баз данных благодаря входящему в состав редакции Delphi Architect профессионального средства моделирования Embarcadero ER/Studio.

    Delphi 2010

    25 августа 2009 года компания Embarcadero Technologies объявила о продаже интегрированной среды разработки Embarcadero Rad Studio 2010, в которую вошла новая версия Delphi 2010.

    Новое в Delphi 2010

    • Поддержка Windows 7 API, Direct2D и мультисенсорного ввода.
    • Поддержка касаний и жестов для Windows 2000 , , Vista и 7.
    • IDE Insight в Delphi 2010 - мгновенный доступ к любой функции или параметру.
    • Delphi 2010 включает свыше 120 усовершенствований для повышения производительности.
    • Визуализаторы отладчика.
    • В Delphi 2010 включена поддержка Firebird с помощью dbExpress .
    • Классический интерфейс Delphi 7 и панель инструментов со вкладками как опция.
    • Расширение RTTI - поддержка атрибутов, которые могут быть применены к типам(в том числе классам и интерфейсам), полям, свойствам, методам и к элементам перечислений.
    Редакция Delphi 2010 Professional
    • Локальное подключение к базам данных InterBase , Blackfish SQL и MySQL
    • Развертывание Blackfish SQL в системах с одним пользователем и размером базы данных 512 МБ.
    • Веб-библиотека VCL с ограничением числа подключений (не более 5).
    Редакция Delphi 2010 Enterprise
    • Delphi 2010 Enterprise включает все возможности редакции Delphi 2010 Professional и ряд дополнительных возможностей.
    • Подключение к серверам баз данных InterBase , Firebird , Blackfish SQL, MySQL , Microsoft SQL Server , Oracle , DB2 , Informix и Sybase при подключении через dbExpress.
    • Разработка многоуровневых приложений баз данных DataSnap.
    • Развертывание Blackfish SQL в системах с пятью пользователями и размером базы данных 2 ГБ.
    • Веб-библиотека VCL без ограничения числа подключений.
    • Дополнительные возможности UML -моделирования.
    Редакция Delphi 2010 Architect
    • Delphi 2010 Architect включает все возможности редакции Delphi 2010 Enterprise и ряд дополнительных возможностей.
    • Обратное проектирование, анализ и оптимизация баз данных.
    • Создание логических и физических моделей на основе сведений, извлеченных из баз данных и файлов сценариев.
    • Удобные для восприятия и навигации диаграммы.
    • Delphi 2010 Architect дает возможность прямого проектирования путём автоматического создания кода базы данных из моделей.
    • В Delphi 2010 Architect усовершенствовано двунаправленное сравнение и объединение моделей и структур баз данных.

    Delphi XE

    Новые возможности Delphi XE

    • Интеграция Subversion.
    • Новые возможности VCL и RTL.
    • Доработки в редакторе кода.
    • Обновление DataSnap, в частности по части поддержки новых версий СУБД.
    • Обновление средств моделирования, поддержка диаграмм последовательностей.
    • Новые возможности для расширения IDE, обновленный Open Tools API.

    Delphi XE2

    1 сентября 2011 года Embarcadero выпустила RAD Studio XE2, которая включает в себя Delphi XE2, а также C++ Builder XE2, Prism XE2 и RadPHP XE2.

    Новое в Delphi XE2;

    Delphi XE3

    Delphi XE3 поддерживает 32 битную и 64 битную редакции Windows (включая Windows 8) и улучшенную поддержку Apple Mac OS X с фреймворком Firemonkey 2/FM². Поддержка iOS была прекращена (с намерением вернуть её обратно в отдельном продукте - Mobile Studio), но приложения под эту платформу по-прежнему можно разрабатывать в Delphi XE2.

    Delphi XE4

    Нововведения
    • Вернулась поддержка iOS , которая отсутствовала в RAD Studio XE3.
    • Взамен RAD Studio XE3 Mobile, выход которой ожидался в начале 2013 года , RAD Studio XE4 была дополнена функционалом для разработки мобильных приложений.
    • Программирование непосредственно под iPhone и iPad с учётом всех программных и технических особенностей.
    • Генерация кода для эмулятора Apple iOS.
    • Улучшено взаимодействие с такими базами данных, как InterBase , SQLite , MySQL , SQL Server, Oracle , PostgreSQL , DB2 , Advantage DB, Firebird , Access , Informix , DataSnap и тд.

    Delphi XE5

    RAD Studio XE5 появилась в продаже 11 сентября 2013 года . В новой версии добавлена поддержка разработки ПО для устройств с архитектурой ARM , работающих под управлением Android .

    Delphi XE6

    15 апреля 2014 года Embarcadero выпустила RAD Studio XE6. Разработчики назвали его «качественным релизом», так как были исправлены сотни дизайн-ошибок и ошибки производительности.

    Новое в IDE XE6

    • Дизайн устройства Google Glass добавлен в конструкторе форм.
    • Новые иконки в IDE. Иконки были обновлены по всему продукту.
    • Новые возможности в диспетчере развёртывания. Новая опция Перезапись позволяет выбрать файлы, которые не нужно разворачивать, специально, чтобы можно было избежать перезаписи файлов на целевом устройстве. Опция Перезапись установлена в Всегда по умолчанию.
    • Изменения в SDK-менеджере для Android-платформ. Свойства для Android SDK теперь организованы в трёх различных вкладках: SDK, NDK и Java.
    • Изменены и добавлены некоторые параметры в окне Опции проекта (новая ориентация страницы для мобильных приложений, новая функция Use MSBuild externally to compile для Delphi-компилятора, новый ключ hardwareAccelerated на Info Version Page для Android, новые возможности для C++ Linker для всех мобильных платформ).
    • Команды выполнения предоставляют новый параметр -cleaninstall для мобильных платформ.
    Новые ключевые возможности Delphi XE6
    • Компоненты для взаимодействия приложений (Application Tethering Components)
    • Компоненты для панели задач (Taskbar component): Компоненты для реализации предварительного просмотра нескольких окон, которые можно выбрать в приложениях при помощи управляющих кнопок. Автоматический или пользовательский предварительный просмотры. Отображение прогресса в кнопках панели задач для приложений. Перекрывающиеся иконки на кнопках панели задач.
    • Взаимодействие с сервисами в облаках (BaaS), компоненты для Kinvey и Parse: Взаимодействие с ведущими поставщиками «бэкендов-как-сервисов» для добавления данной функциональности к мобильным приложениям. Лёгкий доступ к сервисам в облаках, что избавляет от необходимости создавать и поддерживать собственные «бэкенд-сервисы». Использование push-уведомлений для вовлечения любых пользователей устройств и платформ. Доступ к данным и хранилищам объектов в облаках. Аутентификация пользователей. Поддержка REST -клиентов, создание которых доступно начиная с XE5. Поддержка трёх наиболее популярных поставщиков BaaS - Kinvey и Parse на основе набора компонент доступа через API.
    • Новые стили VCL : Придание приложением обновленный вид под актуальные версии Windows или создание для них уникального дизайна. Включает стиль планшетной Windows. Поддерживает Windows 7 и Windows 8. Полная стилизация приложений, включая меню и границы окон.
    • Компоненты VCL для работы с датчиками: Delphi-приложения могут использовать возможности датчиков положения, перемещения и других. Доступ к датчиками устройств из VCL-приложений для планшетов под управлением Windows. Возможности акселерометра , GPS и гироскопа .
    • Покупки из приложения и реклама в приложениях: Мобильные приложения дают возможность зарабатывать деньги для их разработчиков. Можно монетизировать мобильные приложения за счёт встраивания возможностей покупки из приложений и рекламы. Продажа контента, функциональности, сервисов и подписки в iOS и Android. Поддержка главных рекламных сетей (Google AdMob и Apple iAd).
    • Приложения для Google Glass : С помощью Delphi разработка для различных устройств теперь простирается за рамки ПК, планшетов и смартфонов до носимых гаджетов. Возможность создания Andorid-приложений для Google Glass . Новые пользовательские стили для оптимизации дизайна приложений и разрешения под Google Glass . Шаблоны дизайнера для устройства Google Glass .
    • Специальные возможности: Можно делать приложения более удобными для использования большим количеством пользователей, включая тех, кто использует устройства чтения экрана. Новые специальные возможности для настольных приложений на основе FM. Поддержка JAWS на Windows и VoiceOver на Mac OS X.
    • Качество, производительность и стабильность: Наилучшие возможности по разработке и поставке приложений с высочайшим уровнем пользовательского взаимодействия. Исправлено более 2000 зарегистрированных ошибок. Повышена общая производительность приложений на этапе исполнения для всех платформ.
    • Ключевые возможности и работа с базами данных: Расширение ключевых возможностей продукта. Улучшение в библиотеке FireDAC по работе с базами данных, FDMemTable. «Обозреватель данных» (Database Explorer) для FireDAC. Поддержка Apache (WebBroker). Поддержка DirectX 11 , OpenGL 4.3 и более ранние. Производительность DataSnap и обновлённые мастера (wizards). Рефакторинг и улучшения в RTL. Обновление драйвера FireDAC для Informix. Поддержка Apache C++.

    Delphi XE7

    Основные изменения

    Delphi XE8

    • Появилась возможность разработки 64-битных приложений под iOS;
    • Предварительный просмотр дизайна приложения на разных устройствах одновременно;
    • Возможность запускать iOS-приложения на любом зарегистрированном в RAD Studio iOS-симуляторе (iPad, iPad Air, iPhone от 4 и выше);
    • Возможность отключения встроенных в RAD Studio Android-библиотек;
    • RAD Studio теперь поддерживает новую систему контроля версий, интегрированную в IDE, для управления и отслеживания изменений в проектах: Mercurial Version Control System Integrated;
    • Позволяет создавать универсальные приложения для iOS с разной разрядностью - в одном исполняемом файле два кода: 32 бит и 64 бит (ARMv7 + arm64);
    • Интегрирована Castalia (добавляет функциональность, позволяющую выполнять некоторые задачи более простым способом);
    • Добавлены два новых независящих от платформы типа данных: FixedInt и FixedUInt . (FixedInt - 32-битное целое число со знаком, FixedUInt - 32-битное целое число без знака).

    Delphi 10 Seattle

    Основные нововведения среды разработки

    Delphi 10.1 Berlin

    Добавлена поддержка Android 6.0.

    Delphi 10.2 Tokyo

    Основные новые возможности Delphi 10.2 Tokyo:

    • в состав Delphi включён компилятор приложений под Linux (Ubuntu Server (LTS 16.04) and RedHat Enterprise (V7));
    • включена поддержка СУБД MariaDB .

    Delphi for PHP

    В марте 2007 года CodeGear выпустила среду разработки Delphi for PHP , предназначенную для разработки веб-приложений на языке программирования PHP . Теперь среда Delphi ориентирована не только на язык Delphi . Были выпущены 1-я и 2-я версии, после чего Delphi for PHP была переименована в RadPHP XE (по сути 3-я версия), затем RadPHP XE2, и с выпуском Delphi XE3 этот продукт сильно переработан и назван HTML5 Builder.

    Delphi for .NET

    Первая версия полноценной среды Delphi для.NET - Delphi 8. Среда позволяет писать приложения только для.NET.

    В Delphi 2005 можно писать приложения для.NET, используя стандартную библиотеку классов.NET и VCL для.NET. Среда позволяет писать.NET-приложения на . Delphi 2005 также позволяет писать обычные приложения с использованием библиотек VCL и CLX .

    Delphi 8, 2005, 2006 используют.NET Framework версии 1.1. Delphi for .NET 2007, включённая в состав CodeGear RAD Studio 2007, разработана для.NET Framework 2.0.

    Начиная с версии 2009, поддержка Delphi.NET была прекращена . Для разработки под.NET предлагается Delphi Prism.

    Delphi Prism

    Delphi Prism - среда разработки под .NET и Mono на языке Oxygene , использующая Visual Studio Shell (с возможностью интеграции в Visual Studio).

    См. также

    Примечания

    1. “Сила независимых поставщиков средств разработки - в поддержке многоплатформенности” (неопр.) (18 сентября 2015). - «у нас только три таких центра вне США (один в Канаде, а недавно появился ещё в Испании вместо закрытого в Румынии)». Дата обращения 4 октября 2015.

    Для подтверждения факта преемственности используемой терминологии на рис 1.2 показан общий вид интегрированной среды разработки (IDE - Integrated Development Environment) Delphi. На этом рисунке отмечены все основные компоненты среды раз работки: главное окно (Main Window), палитра компонентов (Component Palette), пане ли инструментов (toolbars), окно конструктора форм (Form Designer), окно редактора кода (Code Editor), окно инспектора объектов (Object Inspector), дерево объектов (Object TreeView) и проводник структуры кода (Code Explorer).

    Главное окно

    Главное окно можно представить как центр управления IDE Delphi. Это окно обла дает всеми стандартными функциональными возможностями главного окна любой другой программы Windows. Оно состоит из трех частей: главного меню, панелей ин струментов и палитры компонентов.

    Главное меню

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

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

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

    Панели инструментов Дерево объектов Главное окно Окно конструктора форм

    Палитра компонентов Окно инспектора объектов Проводник структуры кода

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

    Рис. 1.4. Плавающие панели инструментов

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

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

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

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

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

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

    Одной из возможностей Delphi является способность упорядочивать содержимое окна Object Inspector либо по категории, либо по именам (в алфавитном порядке). Дляэтого достаточно щелкнуть правой кнопкой мыши в любом месте окна Object Inspector и выбрать в раскрывшемся контекстном меню пункт Arrange (Выстроить). На рис. 1.5 показаны два расположенных рядом окна Object Inspector. В левом окне объекты упорядочены по категории, а в правом - по именам. Кроме того, с помощью пункта View этого же контекстного меню можно определить, какие именно категории объектов необходимо представить в данный момент.

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

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

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

    Рис. 1.5. Представление содержимого

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

    Можно работать сразу с несколькими окнами Code Editor. Чтобы открыть новое окно ре-

    дактора кода, необходимо выбрать в главном меню View пункт New Edit Window.

    Визуальная среда программирования 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?

    1. Знакомство со средой программирования Delphi

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

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

    Delphi это комбинация нескольких важнейших технологий:

    o Высокопроизводительный компилятор в машинный код

    o Объектно-ориентированная модель компонентов

    o Визуальное построение приложений из программных прототипов

    o Масштабируемые средства для построения баз данных

    Приложение для Windows – это специальный тип программы, которая:

    Ø Имеет специальный формат исполняемого файла (*.exe)

    Ø Работает только с Windows

    Ø Обычно работает в прямоугольном окне на экране

    Ø Может работать одновременно с другими программами для Windows, включая другие экземпляры этого же приложения

    Ø DIV_ADBLOCK441">


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

    1. Главное окно

    2. Дизайнер Форм (Form Designer)

    3. Окно Редактора Исходного Текста (Editor Window)

    4. Палитра Компонент (Component Palette)

    5. Инспектор Объектов (Object Inspector)

    6. Справочник (On-line help)

    Есть, конечно, и другие важные составляющие Delphi, вроде линейки инструментов, системного меню и многие другие, нужные для точной настройки программы и среды программирования. Рассмотрим функции каждого составляющего.

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

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

    § Панель инструментов (SpeedBar) предоставляет быстрый доступ к большинству команд главного меню. Располагается под главным меню.

    § Палитра компонентов (Component Palette) предоставляет доступ к визуальным компонентов, которые можно помещать на форму.

    Программисты на Delphi проводят большую часть времени, переключаясь между Дизайнером Форм и Окном Редактора Исходного Текста (которое для краткости называют Редактор).

    Дизайнер Форм в Delphi столь интуитивно понятен и прост в использовании, что создание визуального интерфейса превращается в детскую игру. Окно формы представляет собой проект Windows-окна будущей программы. Вначале это окно пусто. Точнее, оно содержит стандартные для Windows интерфейсные элементы – кнопки вызова системного меню, максимизации, минимизации и закрытия окна, полосу заголовка и очерчивающую рамку. Вся рабочая область окна обычно заполнена точками координатной сетки, служащей для упорядочения размещаемых на форме компонентов (вы можете убрать эти точки, вызвав с помощью меню Tools | Environment options соответствующее окно настроек и убрав флажок в переключателе Display Grid на окне, связанном с закладкой Preferences). Значительную часть времени программист занят увлекательным занятием, напоминающим работу с набором деталей конструктора Lego: он “достает” из палитры компонентов, как из коробки с деталями, нужный компонент и размещает его на “наборном поле” окна формы, постепенно заполняя форму интерфейсными элементами. Собственно, именно в этом процессе наполнения формы и заключается главная изюминка визуального программирования. Программист в любой момент времени контролирует содержание окна создаваемой программы и может внести в него необходимые изменения. Несмотря на всю важность Дизайнера Форм , местом, где программисты проводят основное время является Редактор . Логика является движущей силой программы и Редактор – то место, где Вы ее “кодируете”.

    Палитра компонентов - это главное богатство Delphi. Она занимает правую часть главного окна и имеет закладки, обеспечивающие быстрый поиск нужного компонента. Под компонентом понимается некий функциональный элемент, содержащий определенные свойства и размещаемый программистом в окне формы. С помощью компонентов создается каркас программы, во всяком случае - ее видимые на экране внешние проявления: окна, кнопки, списки выбора и т. д. Палитра Компонент позволяет Вам выбрать нужные объекты для размещения их на Дизайнере Форм. Для использования Палитры Компонент просто первый раз щелкните мышкой на один из объектов и потом второй раз - на Дизайнере Форм . Выбранный Вами объект появится на проектируемом окне и им можно манипулировать с помощью мыши. Палитра Компонент использует постраничную группировку объектов. Внизу Палитры находится набор закладок - Standard, Additional, Dialogs и т. д. Если Вы щелкнете мышью на одну из закладок, то Вы можете перейти на следующую страницу Палитры Компонент . Принцип разбиения на страницы широко используется в среде программирования Delphi и его легко можно использовать в своей программе.

    Слева от Дизайнера Форм Вы можете видеть Инспектор Объектов . Любой размещаемый на форме компонент характеризуется некоторым набором параметров: положением, размером, цветом и т. д. Часть этих параметров, например, положение и размеры компонента, программист может изменять, манипулируя с компонентом в окне формы. Для изменения других параметров предназначено окно Инспектора объектов. Это окно содержит две страницы – Properties (Свойства) и Events (События). Страница properties служит для установки нужных свойств компонента, страница Events позволяет определить реакцию компонента на то или иное событие. Совокупность cвойств отображает видимую сторону компонента: положение относительно левого верхнего угла рабочей области формы, его размеры и цвет, шрифт и текст надписи на нем и т. п.; совокупность событий - его поведенческую сторону: будет ли компонент реагировать на щелчок мыши или на нажатие клавиш, как он будет вести себя в момент появления на экране или в момент изменения размеров окна и т. п. Каждая страница окна Инспектора объектов представляет собой двухколончатую таблицу, левая колонка которой содержит название свойства или события, а правая – конкретное значение свойства или имя подпрограммы [Если вам еще не знаком этот термин, считайте, что подпрограмма – это просто относительно небольшой фрагмент программы.], обрабатывающей соответствующее событие. В верхней части окна Инспектора объектов располагается раскрывающийся список всех помещенных на форму компонентов. Поскольку форма сама по себе является компонентом, ее имя также присутствует в этом списке.


    Страница событий связана с Редактором ; если Вы дважды щелкнете мышкой на правую сторону какого-нибудь пункта, то соответствующий данному событию код автоматически запишется в Редактор , сам Редактор немедленно получит фокус, и Вы сразу же имеете возможность добавить код обработчика данного события. Окно кода предназначено для создания и редактирования текста программы. Этот текст составляется по специальным правилам и описывает алгоритм работы программы. Совокупность правил записи текста называется языком программирования. В системе Delphi используется язык программирования Object Pascal, который представляет собой расширенную и усовершенствованную версию широко распространенного языка Паскаль, впервые предложенного швейцарским ученым Н. Виртом еще в 1970 г. и усовершенствованного сотрудниками корпорации Borland (созданные ими языки назывались Turbo Pascal, Borland Pascal и Object Pascal). Первоначально окно кода содержит минимальный исходный текст, обеспечивающий нормальное функционирование пустой формы в качестве полноценного Windows-окна. В ходе работы над проектом программист вносит в него необходимые дополнения, чтобы придать программе нужную функциональность. Поскольку для создания даже простых программ вам понадобится создавать и изменять (редактировать) код программы, ниже описываются основные приемы работы с окном кода. Сразу после открытия нового проекта в нем будут минимально необходимые строки кода для описния формы.

    Последняя важная часть среды Delphi – Справочник (on-line help) . Для доступа к этому инструменту нужно просто выбрать в системном меню пункт Help и затем Contents. На экране появится Справочник . Справочник является контекстно-зависимым; при нажатии клавиши F1, Вы получите подсказку, соответствующую текущей ситуации. Например, находясь в Инспекторе Объектов, выберите какое-нибудь свойство и нажмите F1 - Вы получите справку о назначении данного свойства. Если в любой момент работы в среде Delphi возникает неясность или затруднение - жмите F1 и необходимая информация появится на экране.

    1.2 Проект Delphi

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

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

    · Главный файл проекта, изначально называется PROJECT1.DPR.

    · Первый модуль программы (unit), который автоматически появляется в начале работы. Файл называется UNIT1.PAS по умолчанию, но его можно назвать любым другим именем, вроде MAIN. PAS.

    · Файл главной формы, который по умолчанию называется UNIT1.DFM, используется для сохранения информации о внешнем виде главной формы.

    · Файл PROJECT1.RES содержит иконку для проекта, создается автоматически.

    · Файл, который называется PROJECT1.DFO по умолчанию, является текстовым файлом для сохранения установок, связанных с данным проектом. Например, установленные разработчиком директивы компилятора сохраняются здесь.

    · Файл PROJECT1.CFG содержит информацию о состоянии рабочего пространства.

    Разумеется, если сохранить проект под другим именем, то изменят название и файлы с расширением RES, DFO и CFG. Кроме того, в проекте сохраняются файлы резервных копий (т. е. файлы с расширениями *.~df, *.~dp, *.~pa). Поскольку проект содержит множество файлов, то рекомендуется для каждого проекта создавать отдельную директорию. Все манипуляции с файлами (сохранение, переименование, редактирование и т. д.) рекомендуется производить только в среде разработки.

    После компиляции программы получаются файлы с расширениями: DCU – скомпилированные модули EXE – исполняемый файл

    1.3 Главное меню среды

    Пункт меню “File”

    New предлагает выбрать тип нового приложения

    New Application начинает новый проект для оконного приложения

    New Form создает новую форму и модуль, связанный с ней

    Open открывает при необходимости любой модуль или просто текстовый файл. Если модуль описывает форму, то эта форма тоже появится на экране.

    Open Project открывает существующий проект.

    Reopen открывает ранее открывавшийся проект

    Save сохраняет только редактируемый файл, но не весь проект.

    Save As сохраняет редактируемый файл под другим именем.

    Save Project As сохраняет проект

    Close удаляет текущий файл из окна Редактора.

    Close All закрывает все файлы проекта

    Рисунок 2

    Пункт меню “Edit”

    “Edit” содержит команды Undo и Redo , которые могут быть очень полезны при работе в редакторе для устранения последствий при неправильных действиях, например, если случайно удален нужный фрагмент текста.

    Команды Cut, Copy, Paste и Delete - как во всех остальных приложениях Windows, но их можно применять не только к тексту, но и к визуальным компонентам. Bring To Front , Send To Back , Align и Size используются для выравнивания и управления внешним видом компонентов на форме.

    Пункт меню “ View

    Project manager позволяет видеть содержимое проекта.

    Object Inspector показывает окно Инспектора объектов.

    Пункт меню “Project”

    Add to Project позволяет добавлять форму в проект.

    Remove from Project удаляет форму из проекта.

    View Source показывает содержимое файла проекта.

    Syntax Check только проверяет правильность кода программы, но не обновляет DCU файлы.

    Пункт меню “Run”

    Run F 9 компилирует и запускает приложение на исполнение

    Program Reset снимает с выполнения приложение.

    1.4 Первое приложение на Delphi

    Рассмотрим процесс построения простейшего приложения, которое работает следующим образом. При нажатии кнопки появляется сообщение «Здравствуй, мир!».

    Порядок действий:

    1. Запустите Delphi . (Пуск/ Программы/ Borland Delphi 5 ) При этом автоматически открывается новый проект для оконного приложения с одной главной формой и модулем, соответствующим этой форме.

    2. Выберите в Палитре компонентов закладку Standard . и перенесите с Палитры компонентов на форму компонент и TButton . Для этого поочередно подводите курсор мыши к компонентам, читая подсказки, до тех пор, пока не появится TButton . Выберете его, нажав левую кнопку мыши, а затем переместите указатель на форму и нажмите еще раз на кнопку мыши. Помещенный на форму компонент будет иметь имя Button 1 . При этом текст модуля будет иметь вид

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

    TForm1 = class(TForm)

    Button1: TButton;

    { Private declarations }

    { Public declarations }

    3. Для того, чтобы при нажатии на кнопку происходили какие-либо действия нужно написать обработчик события Button 1 Click . Для этого выберите на форме Button 1 и щелкните на него дважды. Вы окажетесь в окне редактирования.

    4. Приведите обработчик события нажатия кнопки к следующему виду:

    procedure TForm1.Button1Click(Sender: TObject);

    ShowMessage(‘ Здравствуй , мир !");

    end ;

    5. Сохраните Приложение, выбрав пункт в главном меню File -> Save All . Название проекта и название программного модуля не должно совпадать! Рекомендуется создать отдельную директорию для файлов проекта.

    6. Запустите на выполнение ваше Приложение. Для этого выберете в главном меню пункт Run-> Run , или нажмите клавишу F 9 .

    Unit1.pas" {Form1};

    Application. Initialize;

    Application. CreateForm(TForm1, Form1);

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

    1.5 Контрольные вопросы

    1. Назовите основные составляющие среды DELPHI и их назначение.

    2. Назовите состав и назначение пунктов главного меню системы.

    3. Каково назначение Инспектора объектов?

    4. Из каких основных файлов состоит проект приложения?

    5. Как производится размещение, перемещение, изменение размеров компонентов на форме?

    6. Как запустить приложение на выполнение из среды DELPHI?

    2. Библиотека визуальных компонентов (VCL)

    2.1 Иерархия базовых классов VCL

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

    Класс TComponent является важнейшим классом, поскольку является предком для визуальных компонентов. Он наделен взаимодействием компонента со средой разработки, с Палитрой компонентов и Инспектором Объектов. Благодаря этим возможностям компоненты начинают работают уже во время разработки интерфейса приложения. Визуальные компоненты можно разбить на две группы: видимые и невидимые. Видимые компоненты видны не только во время дизайна интерфейса, но и во время работы приложения. Невидимые компоненты не видны во время работы программы, они осуществляют взаимодействие с ресурсами либо с другими компонентами. Непосредственно от класса TComponent можно порождать невидимые визуальные компоненты.

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

    2.2 Типы свойств компонентов. Изменение свойств

    Каждый компонент имеет свой набор характеристик или свойств . Для пользователя (программиста) свойство выглядит как простое поле какой-либо структуры, содержащее некоторое значение. Однако в отличие от “просто” поля, любое изменение значения некоторого свойства компонента сразу же приводит к изменению визуального представления этого компонента, поскольку свойство инкапсулирует в себе методы (действия), связанные с чтением и записью этого поля (которые, в свою очередь, включают в себя необходимую перерисовку). Каждый компонент, который помещается на форму, имеет свое отражение в окне Инспектора Объектов (Object Inspector). Инспектор Объектов имеет две “странички” - “Properties” (Свойства) и “Events” (События), где можно изменять характеристики компонента.

    Существует несколько типов свойств, в зависимости от их “природы”, т. е. внутреннего устройства.

    o Простые свойства - это те, значения которых являются числами или строками. Например, свойства Left и Top принимают целые значения, определяющие положение левого верхнего угла компонента или формы. Свойства Caption и Name представляют собой строки и определяют заголовок и имя компонента или формы.

    o Перечислимые свойства - это те, которые могут принимать значения из предопределенного набора (списка). Простейший пример - это свойство типа Boolean , которое может принимать значения True или False .

    o Вложенные свойства - это те, которые поддерживают вложенные значения (или объекты). Object Inspector изображает знак “+” слева от названия таких свойств. Некоторые свойства, например, Font, для изменения своих значений имеют возможность вызвать диалоговое окно. Для этого достаточно щелкнуть маленькую кнопку с тремя точками в правой части строки Инспектора Объектов, показывающей данное свойство.

    Delphi позволяет легко манипулировать свойствами компонент как в режиме проектирования (design time), так и в режиме выполнения программы (run time). В режиме проектирования манипулирование свойствами осуществляется с помощью Дизайнера Форм (Forms Designer) илина страничке “Properties” Инспектора Объектов. Например, для того чтобы изменить свойства Height (высоту) и Width (ширину) кнопки, достаточно “зацепить” мышкой за любой ее угол и раздвинуть до нужного представления. Того же результата можно добиться, просто подставив новые значения свойств Height и Width в окне Object Inspector.

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

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

    MyComponent. Width:= 35;

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

    Таким образом, нет ничего магического в Инспекторе Объектов. Object Inspector просто является удобным способом выполнения в режиме проектирования того, что может быть осуществлено программным путем в режиме выполнения. Более того, как уже было сказано выше, у компонента могут быть свойства, не отображаемые в окне Инспектора Объектов.

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

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

    2.3 Некоторые общие свойства компонентов

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

    Таблица 1 Свойства класса TComponent

    Свойство

    Назначение

    идентификатор компонента

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

    От класса TControl порождаются все видимые визуальные компонента и наследуют свойства, связанные расположением и внешним видом компонента. Эти свойства можно разбить на несколько групп.

    Таблица 2 Размер и местоположение компонента

    Свойство

    Назначение

    местоположение левого верхнего угла компонента по вертикали

    местоположение левого верхнего угла компонента по горизонтали

    высота компонента

    ширина компонента

    Таблица 3 Выравнивание и масштабирование

    Свойство

    Назначение

    выравнивание компонента относительно границ родительского компонента

    Alignment

    выравнивание надписи на компоненте

    фиксация компонента по сторонам родительского компонента

    Constraints

    сложное свойство, определяющее максимально и минимально допустимые размеры компонента

    AutoSize

    логическое свойство, разрешающее или запрещающее автоматическое изменение размеров компонента в соответствии с размером его содержимым

    Таблица 4 Внешний вид

    Свойство

    Назначение

    цвет компонента

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

    надпись на компоненте

    сложное свойство, определяющее тип шрифта надписи

    логическое свойство, определяющее видимость компонента

    PopupMenu

    логическое свойство, разрешающее или запрещающее использование всплывающего меню

    логическое свойство, определяющее доступность компонента

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

    ShowHint

    логическое свойство, разрешающее или запрещающее использование подсказки

    2.4 События в Delphi

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

    Программирование, ориентированное на события – неотъемлемая черта Windows. Delphi предоставляет полный доступ к подструктуре событий, совершаемых в операционной среде Windows. С другой стороны, Delphi упрощает программирование обработчиков таких событий.

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

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

Понравилась статья? Поделитесь с друзьями!
Была ли эта статья полезной?
Да
Нет
Спасибо, за Ваш отзыв!
Что-то пошло не так и Ваш голос не был учтен.
Спасибо. Ваше сообщение отправлено
Нашли в тексте ошибку?
Выделите её, нажмите Ctrl + Enter и мы всё исправим!