Полиморфизм — это свойство системы использовать объекты с одинаковым интерфейсом без информации о типе и внутренней структуре объекта. 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Полиморфизм — это свойство системы использовать объекты с одинаковым интерфейсом без информации о типе и внутренней структуре объекта.



Класс

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

Объект

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

Прототип

Прототип — это объект-образец, по образу и подобию которого создаются другие объекты. Объекты-копии могут сохранять связь с родительским объектом, автоматически наследуя изменения в прототипе; эта особенность определяется в рамках конкретного языка.

14 В Object Pascal экземпляры объектов могут быть только динамическими. Это означает, что в приведенном выше фрагменте переменная AMyObject на самом деле является указателем, содержащим адрес объекта.

Объект "появляется на свет" в результате вызова специального метода, который инициализирует объект – конструктора. Созданный экземпляр уничтожается другим методом – деструктором:

AMyObject:= TMyObject.Create; { действия с созданным объектом } ... AMyObject.Destroy;

Здесь объекта еще нет, но обратите внимание, что вызывается метод TMyObject.Create, а не AMyObject.Create. Есть такие методы (в том числе конструктор), которые успешно работают до (или даже без) создания объекта.

В Object Pascal конструкторов у класса может быть несколько. Общепринято называть конструктор create. Типичное название деструктора – Destroy.

type TMyObject = class(TObject) MyField: Integer; Constructor Create; Destructor Destroy; Function MyMethod: Integer; end;

Для уничтожения экземпляра объекта рекомендуется использовать метод Free, который первоначально проверяет указатель (не равен ли он Nil) и только затем вызывает Destroy:

AMyObject.Free;

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

15. В языках программирования инкапсуля́ция имеет одно из следующих значений, либо их комбинацию:

  • языковой механизм ограничения доступа к определённым компонентам объекта;
  • языковая конструкция, способствующая объединению данных с методами (или другими функциями), обрабатывающими этими данные.

Инкапсуляция — один из четырёх важнейших механизмов объектно-ориентированного программирования (наряду с абстракцией, полиморфизмом и наследованием).

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

Сокрытие реализации целесообразно применять в следующих целях:

  • предельная локализация изменений при необходимости таких изменений,
  • прогнозируемость изменений (какие изменения в коде нужно сделать для заданного изменения функциональности) и прогнозируемость последствий изменений.

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

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

17. Полиморфи́зм (в языках программирования) — возможность объектов с одинаковой спецификацией иметь различную реализацию.

Язык программирования поддерживает полиморфизм, если классы с одинаковой спецификацией могут иметь различную реализацию — например, реализация класса может быть изменена в процессе наследования[1].

Кратко смысл полиморфизма можно выразить фразой: «Один интерфейс, множество реализаций».

Полиморфизм — один из четырёх важнейших механизмов объектно-ориентированного программирования (наряду с абстракцией, инкапсуляцией и наследованием).

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

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

18. Создание прикладных программ, или приложений, в Delphi выполняется в интегрированной среде разработки IDE (Integrated Development Environment). IDE служит для организации взаимодействия с программистом и включает в себя ряд окон, содержащих различные элементы управления. С помощью средств интегрированной среды разработчик может проектировать интерфейсную часть приложения, а также писать программный код, и связывать его с управляющими элементами. При этом вся работа по созданию приложения, включая отладку, происходит в IDE.
Главные составные части среды программирования
Интегрированная среда программирования Delphi состоит из следующих основных частей:

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

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

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

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

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

В главном окне отображается Главное меню, Панель инструментов и Палитра компонентов (см. рисунок). Главное меню содержит обширный набор команд для доступа к функциям Delphi. Панель инструментов находится под Главным меню в левой части Главного окна и содержит 15 кнопок быстрого доступа для вызова часто используемых команд Главного меню. Палитра компонентов находится справа от Панели инструментов и содержит множество компонентов, размещаемых в создаваемых приложениях. Все компоненты делятся на группы, каждая из которых в Палитре компонентов располагается на отдельной странице (Standard, Additional, Win 32 и др.).

Рисунок - Приложение Delphi.

Дизайнер форм в Delphi служит для создания визуального интерфейса программы (рис. 9). Дизайнер Форм первоначально состоит из одного пустого окна, которое заполняется компонентами, выбранными в Палитре компонентов.
Редактор исходного текста (Редактор кода) представляет собой текстовый редактор, с помощью которого можно создавать и редактировать программный код (рис. 9).
Инспектор объектов состоит из двух страниц, каждую из которых можно использовать для определения поведения данного компонента (рис. 9). Первая страница – это список свойств, вторая – список событий. Если нужно изменить что-нибудь, связанное с определенным компонентом, то обычно делается это в Инспекторе объектов. Страница событий связана с Редактором кода. Если дважды щелкнуть мышкой на правую сторону какого-либо пункта, то соответствующий данному событию код автоматически запишется в Редактор. Сам Редактор немедленно получит фокус, и появится возможность добавить код обработчика данного события.

Организация проекта, основные файлы проекта
Проект в Delphi состоит из форм, модулей, установок параметров проекта, ресурсов и т.д. Вся эта информация размещена в файлах: файл проекта (.dpr); файл модуля (.pas); описание формы (.dfm); описание ресурсов (.res); параметры проекта (.dof); параметры среды (.cfg); исполняемый файл (.exe).
Типичная головная программа приложения имеет вид:
program Project1;
uses
Forms,
Unit1 in 'Unit1.pas' {Form1};
{$R *.res}
begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
end.
Текст модуля имеет вид.
unit Unit1;
interface
{Список подключаемых модулей}
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs;
{Объявление класса формы}
type
TForm1 = class(TForm)
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
{Сюда могут включаться объявления типов, констант, переменных, функций и процедур, к которым будет доступ из других модулей}
implementation
{$R *.dfm}
{Сюда могут помещаться предложения uses, объявления типов, констант, переменных, к которым не будет доступа из других модулей. Тут же должны быть реализации всех объявленных в разделе interface функций и процедур, а также могут быть реализации любых дополнительных, не объявленных ранее функций и процедур.}
end.

19.(18)

20. Конструктор форм (Form Designer) предназначен для разработки внешнего вида формы Вашего приложения. Это очень удобный инструмент визуального проэктирования. С его помощью можно за считанные минуты разработать форму любой сложности.
Я не буду здесь рассказывать об очевидных приемах работы. Сконцентрирую Ваше внимание на несколько завуалированных, не очевидных и мало известных приемах. И так...
Всем известно, что с помощью мыши можно разместить на форме любой компонент с палитры, а также перемещать уже размещенные компоненты. Но что же делать, если нужно переместить компонент, который полностью закрыт дочерним компонентом (например TPanel, на котором размещен TMemo с выравниванием alClient)? Для перемещения такого компонента (в нашем случае панели TPanel) нужно просто начать перетаскивать дочерний компонент (TMemo) и нажать клавишу Esc. Прейти от выделенного элемента к родительскому в аналогичном случае можно с пощью той же клавиши Esc.
Очень часто необходимо выделить саму форму (для самых разных целей), но также часто вся клиентская часть формы полностью закрыта дочерними елементами. Для ее выделения можно конечно воспользоваться инспектором объектов (о нем я расскажу в другой статье), но это иногда очень неудобно. Проще щелкнуть мышью по любому элементу на форме, удерживая клавишу Shift.
Всем известно, что любой элемент имеет свойства Top и Left, с помощью которых задаются координаты элементов. Эти координаты отсчитываются от верхнего левого угла клиентской части родительского элемента (например формы). Изменить свойства Top и Left можно с помощью перетаскивания мышью, задавая нужные значения в Инспекторе объектов, или с помощью... клавиатуры - клавишами стрелок, удерживая клавишу Ctrl. Если же прижать Shift, то с помощью стрелок можно точно регулировать размеры компонента. Клавиши Ctrl+Shift+стрелки перемещают компонент по узлам сетки (шаг которой задается в меню Tools>Environment Options на закладке Preferences).
Часто бывает нужно выровнять несколько компонентов одновременно (или "уровнять" их размеры). Для этого полезно использовать команду Allign... (или Size...) контекстного меню формы или меню Edit.
После окончания проектирования полезно зафиксировать все компоненты на форме, чтобы случайно не сдвинуть их. Для этого существует команда Lock Controls меню Edit.
Кроме того, Конструктор форм имеет уникальный набор подсказок (хинтов): при изменении размеров элемента в подсказке отображаются текущие размеры элемента (это, к сожалению, справедливо только при изменении размеров мышью); при "наезде" мыши на компонент в хинте можно увидеть имя и тип компонента; при перемещении компонента (опять же, только мышью) в посказке видно его текущее положение (свойства Left и Top).
И последнее. В Delphi-5 появилась новая возможность: форма может сохраняться (в *.dfm файле) не только в двоичном виде, но и в текстовом. Это наиболее актуально, если Вы будете использовать проекты Delphi-5 в более ранних версиях Делфи, т.к. более ранние версии просто не поймут этот формат. В этом случае Вам необходимо в контекстном меню формы (форм?) убрать флажек Text DFM, или убрать в окне Environment Options на закладке Preferences флаг New form as Text (это значение по умолчанию). Здесь, кстати, находятся и другие параметры, касающиеся материала данной статьи.

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

Visual Studio 2010

Другие версии

·Visual Studio 2008

1 из 1 оценили этот материал как полезный - Оценить эту тему

Редактор — это текстовый процессор интегрированной среды разработки (IDE).При использовании для редактирования текста он называется текстовым редактором.При использовании для редактирования исходного кода на языке разработки Visual Studio (это наиболее распространенное использование) – используется термин "редактор кода".

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

Открытие редактора кода из Сделайте следующее
Обозреватель решений Дважды щелкните форму или модуль или выберите его и нажмите кнопку Просмотреть код.
Форма Windows Forms или веб-форма Выберите форму или любые ее элементы управления и затем в меню Вид выберите команду Код.Также можно щелкнуть форму правой кнопкой мыши и выбрать команду Просмотреть код.Во многих случаях при двойном щелчке компонента в рабочей области конструирования также открывается редактор кода.
Меню Файл Для отображения файла кода выберите Создать или Открыть.

Список всех открытых документов для редактирования в экземплярах редактора кода доступен в меню Windows. В этом редакторе также реализованы возможности среды IDE для конструктора HTML, редактора CSS и редактора XML.

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

· Доступ к свойствам объектов, методам и событиям во время разработки.

· Завершение операторов IntelliSense.

· Сворачиваемые разделы кода.

· В окне определения кода выводится исходный код для объекта или элемента.

· Вставка фрагментов кода позволяет добавлять готовые блоки модели кода.

· Параметры определения отступов, табуляции и поведения перетаскивания.

· Кодовые страницы Юникод.

Список элементов пользовательского интерфейса

Панель кода

Область с кодом или текстом для редактирования.Панель кода обеспечивает возможность завершения операторов IntelliSense для языка разработки.Дополнительные сведения см. в разделе Использование технологии IntelliSense.

Поле индикаторов

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

Поле структуры

Столбец между полем индикаторов и окном редактирования, при щелчке на котором производится выделение строк текста.Изменения в коде отслеживаются здесь, если в диалоговом окне Параметры выбран параметр Отслеживать изменения. Дополнительные сведения см. в разделе Страница "Общие", папка "Текстовый редактор", диалоговое окно "Параметры".

Горизонтальные и вертикальные полосы прокрутки

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

Содержание раздела

Автоматическая проверка парности фигурных скобок

В этом разделе описаны оперативные сведения о некорректно поставленных квадратных скобках или открытых/закрытых сегментах кода.

Практическое руководство. Использование выделения ссылок

Описание способа выделения одним щелчком мыши всех экземпляров одного символа.А также описание способа перемещения между выделенными символами.

Окно "Закладки"

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

Окно определения кода

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

выбор фрагмента кода

Позволяет вставлять сегменты кода, хранящиеся в папках фрагментов кода.

Диспетчер фрагментов кода

Позволяет назначить папки, в которых выполняется поиск фрагментов.

Связанные разделы

Редактирование текста, кода и разметки

Содержит ссылки на разделы о настройке и использовании редактора кода.

Настройка редактора

Руководство о том, как задать параметры редактора текста.

Страница "Общие", папка "Текстовый редактор", диалоговое окно "Параметры"

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

Страница "Общие", папка "Все языки", папка "Текстовый редактор", диалоговое окно "Параметры"

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

Практическое руководство. Управление фрагментами кода

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

Команды и функции для повышения удобства работы в редакторах

Описывает способы работы с текстом и кодом в редакторе.

Поиск и замена

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

Установка закладок в коде

Описание способов пометки конкретных строк кода и перехода к ним.

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

Описывает средства для добавления и настройки элементов управления и перемещения по иерархиям объектов.

22. Если вам часто приходится заниматься ремонтом какой-либо вышедшей из строя техники, то вы знаете, как приятно всегда иметь под рукой нужный винт, болт или гайку. Легко представить радость создания программ с помощью Delphi: вам не придется бегать в скобяную лавку за каждой мелочью! Палитра компонентов (component palette) будет для вас ящиком с деталями, а мышь — единственным необходимым инструментом.
Основная палитра компонентов Delphi имеет двенадцать страниц.
Standard. Большинство компонентов на этой странице являются аналогами экранных элементов самой Windows. Меню, кнопки, полосы прокрутки — здесь есть все. Но компоненты Delphi обладают также некоторыми удобными дополнительными встроенными возможностям.
Additional. Эта страница содержит более развитые компоненты. Например, компонент Outline удобен для отображения информации с иерархической структурой, а удивительный MediaPlayer позволит вашим программам воспроизводить звук, музыку и видео. Данная страница также содержит компоненты, главное назначение которых — отображение графической информации. Компонент Image загружает и отображает растровые изображения, а компонент Shape, украсит ваши формы окружностями, квадратами и т.д.

System. Поскольку не каждая потребность, связанная с обработкой файлов, может быть удовлетворена с помощью стандартных диалоговых окон, страница System предоставляет возможность комбинировать отдельные элементы, такие как списки дисков, каталогов и файлов. Страница System также содержит компоненты, обрабатывающие обмен высокого уровня между программами посредством OLE (Object Linking and Embedding). А компонент Timer может генерировать события через определенные, заранее установленные промежутки времени.

Win32. Эта страница содержит компоненты, позволяющие созданным с помощью Delphi программам использовать такие нововведения в пользовательском интерфейсе 32-разрядной Windows, как просмотр древовидных структур, просмотр списков, панель состояния, присутствующая в интерфейсе программы Windows Explorer (Проводник), расширенный текстовый редактор и др.

Dialogs. Windows 3.1 ввела в употребление стандартные диалоговые окна для операций над файлами, выбора шрифтов, цветов и т.д. Однако для использования их в обычной программе Windows может потребоваться написать немало вспомогательного кода. Страница, Dialogs предоставляет программам Delphi простой доступ к этим стандартным диалоговым окнам.

Data Access и Data Controls. Delphi использует механизм баз данных компании Borland (Borland Database Engine, BDE) для организации доступа к файлам баз данных различных форматов. Компоненты этих двух страниц облегчают программам Delphi использование сервиса баз данных, предоставляемого BDE, например многопользовательского считывания, записи, индексации и выдачи запросов для таблиц dBASE и Paradox.

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

Win 3.1. На этой странице, как в сибирской ссылке, находятся компоненты Delphi 1.0, возможности которых перекрываются аналогичными компонентами Windows 95.

Internet. Эта страница предоставляет компоненты для разработки приложений, позволяющих создавать HTML-файлы непосредственно из файлов баз данных и других типов, взаимодействующих с другими приложениями для Internet. Delphi 4 дает вам возможность создавать приложения для Web-сервера в виде DLL-файлов: (Dynamic Link Library — Динамически компонуемая библиотека), способных содержать невизуальные компоненты. С помощью компонентов страницы Internet довольно просто создавать обработчики событий для обращения к определенному URL (Uniform Resource Locator — Унифицированный локатор ресурса), представлению документов в HTML-формате и пересылки их клиент-программе.

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

ActiveX. Эта страница содержит компоненты ActiveX, разработанные независимыми производителями программного обеспечения: сетка, диаграмма, средство проверки правописания.

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

Midas и Decision Cube. Здесь собраны компоненты для доступа к удаленным серверам и осуществления SQL – запросов.

Размещение компонентов
Размещать компоненты на форме очень просто. Требуется только щелкнуть на нужной вкладке палитры компонентов, затем на кнопке с пиктограммой соответствующего компонента и после этого щелкнуть в окне формы. Все! Или, если вам так больше нравится, можно щелкнуть на компоненте, а затем нарисовать прямоугольник с помощью мыши на форме — компонент появится внутри этого прямоугольника. Если размеры компонента поддаются изменению, при появлении на форме он заполнит собой прямоугольник.
Если вы забыли, на какой странице расположен конкретный компонент, выберите пункт Component List (Компоненты) из меню View (Вид), и на экране появится список компонентов в алфавитном порядке.
Если щелкнуть на компоненте в палитре компонентов, его кнопка окажется нажатой. Если щелкнуть на другом компоненте, первая кнопка вернется в исходное состояние — только один компонент может быть выбран в один момент времени. Для того чтобы все кнопки оказались в исходном состоянии и было восстановлено нормальное использование мыши, следует щелкнуть на кнопке со стрелкой выбора, которая появляется с левой стороны каждой страницы палитры (рис. 4.1). Рис. 4.1. Для того чтобы после добавления компонентов восстановить нормальное функционирование мыши, следует щелкнуть на кнопке со стрелкой выбора

1. Выберите страницу Standard палитры компонентов.

2. Поместите указатель мыши на компонент с изображением кнопки ОК. После того как мышь побудет в недвижимом состоянии секунду или две, появится поле помощи, идентифицирующее этот компонент как Button (см. рис. 4.1).

3. Щелкните на кнопке, затем щелкните на вашей форме. Появится кнопка среднего размера, озаглавленная Button 1.

4. Щелкните на компоненте Button опять, но на этот раз, удерживая ле-вую кнопку мыши, нарисуйте прямоугольник большого размера прямо на форме. Текст Button2 заполнит прямоугольник. Обратите внимание, что кнопка имеет небольшие квадратные маркеры (угловые и боковые), позволяющие изменять размер. Используйте их, чтобы с помощью мыши изменить размер кнопки.

5. Теперь щелкните на кнопке Button 1 и перетащите ее в новое место.

6.

Вы заметите, что при перемещении и изменении размера компоненты выравниваются по точкам координатной сетки формы. Как правило, это хорошо — такая возможность помогает поддерживать порядок в формах. Если вы захотите отменить эту возможность или изменить плотность точек координатной сетки, выберите пункт Options из меню Tools. Первая страница параметров предназначена для настройки пользователем параметров среды. На этой странице имеется группа Form designer (Конструктор форм), флажки опций Display grid (Отображение сетки) и Snap to grid (Привязка к сетке) которой определяют, видна ли координатная сетка и активна ли она. Можно также изменить значения параметров Grid Size X (Шаг по оси X) и Grid Size Y (Шаг по оси Y), что приведет к изменению шага координатной сетки по горизонтали и вертикали, соответственно.

Совет: Для лучшего управления размещением и размерами своих компонентов попробуйте следующее. Установите значение шага координатной сетки равным 4 вместо 8, отключите изображение координатной сетки, но оставьте включенным параметр Snap To grid.

Невидимые компоненты
Не каждый компонент виден на форме во время запуска программы. Например, размещение на форме компонента MainMenu приводит к появлению в разра-батываемом приложении меню, но соответствующая пиктограмма во время запуска программы не отображается. Компоненты, представляющие диалоговые окна общего назначения, вообше никак не визуализируются во время работы программы. Размеры невидимого компонента в процессе разработки не изменяются — он всегда отображается в виде пиктограммы.

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

 

рис.1


В верхней части окна инспектора находится поле выбора объектов, в котором отображается название выбранного объекта. Для выбора нового объекта необходимо открыть автоматически раскрывающийся выпадающий список щелчком левой кнопки мыши по кнопке со стрелкой, затем выбрать необходимый объект из списка. После этого можно редактировать свойства выбранного объекта. Второй способ выбора объекта заключается в том, что производится щелчок левой кнопкой мыши по самому объекту. Третий способ выбора объекта состоит в том, что производится щелчок левой кнопкой мыши по названию объекта в окне просмотра дерева объектов Object Tree View (рис. 2).

 

рис.2


Ниже поля выбора объектов находятся кнопки закладок свойств Properties и событий Events. На закладке Properties располагаются все нескрытые свойства выбранною объекта. Закладка состоит из двух полей. В левом поле отображается название свойств, а в правом — их значение. Свойства могут быть вложенными с обозначением в виде плюса в квадратике левее названия свойства. Для их раскрытия и редактирования необходимо щелкнуть левой кнопкой мыши по этому значку» а затем по самому свойству. Если свойств много, их можно просматривать с помощью кнопки прокрутки. Например, свойство Caption отражает заголовок объекта, а свойство Name — имя объекта.
На закладке Events располагаются события, на которые может реагировать объект. Эта закладка позволяет связать объект с событиями, происходящими в момент выполнения программы. Закладка Events так же разделена на два поля. В левом поле отображается название событий, на которые может реагировать объект, а в правом — название методов их об работки, или, проще, функций подпрограмм обработки. Для создания обработчика необходимо выполнить двойной щелчок левой кнопкой мыши в правом поле напротив названия выбранного события. При этом появится окно редактора кода, в котором автоматически создается заготовка текста программы обработчика события. Между фигурными скобками заготовки разработчиком дописывается программа обработки событий. В результате при возникновении событии для выбранного объекта будет выполниться данная программа. Например, событие OnClick означает щелчок левой кнопкой мыши по объекту.

24.—

25. файл проекта (.dbr) это текстовый файл используется для хранения информации о формах и модулях. В нем содержатся операторы инициализации и запуска программы на выполнение.

файл модуля (.pas) соответствующий файл модуль для хранения кода.

файл формы (.dfm) – это двоичный файл, который создается для хранения информации о ваших формах и фреймах.

файл опций проекта (.dof) - в нем хранится установки опций проекта.

файл конфигурации проекта (.cfg) в нем хранятся установки проекта.

файл ресурсов (.res) содержит пиктограмму и прочие ресурсы.

файл группы файлов (.bpg) для создания групп файлов.

резервные копии (~dp,~df,~pa).

26. Таблица 1.3

Тип Delphi Тип BCB Диапазон Формат
Целые числа
ShortInt signed char от -128 до 127 8 бит со знаком
Byte unsigned char от 0 до 255 8 бит без знака
SmallInt short от -32768 до 32767 16 бит со знаком
Word unsigned short от 0 до 65567 16 бит без знака
Integer, Longint integer, long от -2147483648 до 2147483647 32 бита со знаком
Cardinal unsigned int от 0 до 4294967295 32 бита без знака
Int64 int64 от -263 до 263-1 64 бита со знаком
Currency Currency от -922337203685477.5808 до + 922337203685477.5807 64 бита со знаком (*10-4)
Вещественные числа
Single, Real float от -3.4*1038до-1.4*10-45, 0 и от 1.4*10-45 до 3.4*1038 32 бита, пл. зпт.
Double double от -1.8*10308 до -4.9*10-324, 0 и от 4.9*10-324 до 1.8*10308 64 бита, пл. зпт.
Comp Comp от -263 до 263-1 64 бита, пл.зпт.
Extended long double от -1.1*104932 до -3.4*10-4932, 0 и от 3.4*10-4932 до 1.1*104932 80 бит, пл. зпт.
Логические данные
Boolean bool true или false 8 бит
ByteBool unsigned char true/false или целое без знака 8 бит
WordBool   true/false или целое без знака 16 бит
LongBool BOOL true/false или целое без знака 32 бита
Символьные (строковые) данные
Char, AnsiChar char 8-битовый символ 8 бит
WideChar wchar_t 16-битовый символ (Unicode) 16 бит
String[n] SmallString<n> строка до 255 символов  
String, AnsiString AnsiString длинная строка до 2 Гбайт  
PChar unsigned char * указатель на строку 32 бита
Указатель без типа
Pointer void *   32 бита
Календарные даты и время
TDateTime TDateTime   64 бита

27. Успешное завершение процесса компиляции не означает, что в программе нет ошибок. Убедиться, что программа работает правильно можно только в процессе проверки ее работоспособности, который называется тестирование.

Обычно программа редко сразу начинает работать так, как надо, или работает правильно только на некотором ограниченном наборе исходных данных. Это свидетельствует о том, что в программе есть алгоритмические ошибки. Процесс поиска и устранение ошибок называется отладкой. 28. Трассировка программы во многом аналогичная ее выполнению по

шагам. Единственное исключение состоит в том, что когда встреча-

ется оператор вызова процедуры или функции, при трассировке эти

процедуры и функции также выполняются по шагам, а при простом вы-

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

выполнения подпрограммы.

29. Ошибки, которые могут быть в программе, принято делить на три группы:

  • синтаксические;
  • ошибки времени выполнения;
  • алгоритмические.

Синтаксические ошибки, их также называют ошибками времени компиляции (Compile-time error), наиболее легко устранимы. Их обнаруживает компилятор, а программисту остается только внести изменения в текст программы и выполнить повторную компиляцию.

Ошибки времени выполнения, в Delphi они называются исключениями (exception), тоже, как правило, легко устранимы. Они обычно проявляются уже при первых запусках программы и во время тестирования.

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

После возникновения ошибки программист может либо прервать выполнение программы, для этого надо из меню Run выбрать команду Program Reset, либо продолжить ее выполнение, например, по шагам (для этого из меню Run надо выбрать команду Step), наблюдая результат выполнения каждой инструкции.

30. Базовые классы VCL

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

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

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

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

В основе всего многообразия классов и компонентов, используемых в Delphi, лежат всего лишь несколько базовых классов (рис. 2.1). Благодаря механизму наследования свойств и методов, потомки базовых классов умеют "общаться" друг с другом, работают в среде разработки, взаимодействуя с Палитрой компонентов и Инспектором объектов, распознаются операционной системой как элементы управления и окна.



Поделиться:


Последнее изменение этой страницы: 2017-02-07; просмотров: 274; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.21.100.34 (0.14 с.)