Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Среда программирования в Delphi.docx
Скачиваний:
2
Добавлен:
15.08.2019
Размер:
30.2 Кб
Скачать

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

Для дальнейшего знакомства со средой программирования 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 - появится Справочник с полным описанием данного объекта.

Синтаксис языка

Операторы

Cписок операторов : := + — * / div mod not and or with xor shl shr ^ = <> >= <= < > @ in is as

Выражения

Выражения в Object Pascal(Delphi) бывают арифметическими, логическими и строковыми.

Основные логические выражения:

Логические выражения в основном употребляются в условных операторах. К логическим выражениям относятся такие операции как:

-not — «НЕ», отрицание логического выражения (NOT <логическое_выражение>)

- and — «И», умножение (пересечение) логических выражений (<логическое_выражение1> AND <логическое_выражение2>)

- or — «ИЛИ», объединение логических выражений (<логическое_выражение1> OR <логическое_выражение2>)

-xor — «Исключающее ИЛИ», отрицание ИЛИ, все что не попадает под ИЛИ (<логическое_выражение1> XOR <логическое_выражение2>)

Типы данных

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

Объекты

Объекты как экземпляры класса объявляются в программе в разделе var как обычные переменные. Например:

var

CCircle1: TColorCircle;

CircleA: TCircle;

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

Классы

В языке Object Pascal классы — это специальные типы данных, используемые для описания объектов. Соответственно объект, имеющий тип какого-либо класса, является экземпляром (instance) этого класса или переменной этого типа.

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

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

-Инкапсуляция

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

-Наследование

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

-Полиморфизм

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

Примеры

Структура программы

Каждая написанная программа на языке Delphi состоит из заголовка программы (program NewApplication;), поля используемых модулей Uses (к примеру, Uses Windows, Messages, SysUtils и т. д.), который может не входить в саму структуру, а также блоков описания и исполнения (начинаются составным оператором begin и заканчиваются end.).

program Project1; // Заголовок программы, с её именем «Project1»

uses

Forms,

Unit1 in 'Unit1.pas' {Form1}; // модули, которые подключены к проекту и используются программой

{$R *.res}

begin

Application.Initialize; // Инициализация приложения

Application.CreateForm(TForm1, Form1); // Создание формы/окна

Application.Run; // Запуск и исполнение

end.

Пример № 1

Вывод сообщения «Hello, world!» в консольном приложении Delphi

program Helloworld; //название программы

{$APPTYPE CONSOLE} //директива компилятору о создании консольного приложения

begin

writeln('Hello, world!'); //вывод сообщения Hello, world!

end. //конец программы

Пример № 2

Вывод сообщения «Hello, world!» в 32-разрядном GUI приложении Delphi

...

procedure TForm1.Button1Click(Sender: TObject); //Обработчик события OnClick, генерируемый автоматически

begin

ShowMessage('Hello, world!'); //вывод сообщения Hello, world!

end; //конец процедуры

...

Пример № 3

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

// Обработчик события, происходящего при создании формы MainForm

procedure TMainForm.FormCreate(Sender: TObject);

var

// Объявление переменной типа TStrings (список строк).

Strings: TStrings;

begin

// Создание (выделение памяти и заполнение её начальными значениями) объекта типа TStringList.

// TStringList - это потомок TStrings, реализующий его абстрактные методы с целью хранения строк в памяти.

Strings := TStringList.Create;

try

// Добавление строки.

Strings.Add('Добавляемая строка.');

// Сохранение всех строк в файл.

Strings.SaveToFile('C:\Strings.txt');

finally

// Освобождение памяти объекта и очистка ссылки на неё для предотвращения непреднамеренного обращения к не выделенной памяти.

FreeAndNil(Strings);

end;

end;

Расширения файлов

.pas - исходный код модуля (pascal)

.dpr - исходный код проекта (pascal)

.dproj - исходный код проекта (xml)

.dproj.local - исходный код проекта (xml)

.dfm - исходный код формы

.dpk - скомпилированный пакет

.dcu - скомпилированный модуль

.exe - скомпилированное приложение

.res - ресурсы

.dsk - привязки к файлам

.identcache - кэшированные привязки к файлам