3.2. Программирование в среде Delphi
Delphi – это среда визуального программирования на основе языка Object Pascal. Сам язык программирования Pascal был создан Н. Виртом в начале 60–х годов прошлого века специально как язык обучения программированию. От всех других языков программирования его отличает строгость в определении всех переменных и констант, модульность программирования, широкие возможности в создании собственных структур данных, использование объектно–ориентированного программирования, отсутствие машинно–ориентированных конструкций (например, как в Си “++i”). Корпорация Borland, которая является родоначальником Delphi, с самого начала сделала ставку на визуальное объектно–ориентированное программирование с предоставлением возможности работы с любыми базами данных и опередила всех своих конкурентов на пару лет. В настоящее время система программирования Delphi ни в чем не уступает по своим возможностям таким языкам программирования, как C++, С#, Visual C++, C–Builder, Visual Basic и др.
Среда Delphi
После запуска Delphi на экране появляются пять окон:
• главное — Delphi 7;
• стартовой формы — Form1;
• редактора свойств объектов — Object Inspector;
• просмотра списка объектов — Object TreeView;
• редактора кода — Unitl.pas.
Рис. 3.3. Вид экрана после запуска Delphi:
1 – главное окно; 2 – основное меню; 3 – значки основного меню; 4 – окно просмотра дерева объектов; 5 – окно инспектора объектов; 6 – палитра компонентов; 7 – окно пустой формы; 8 – окно текста программы
1
2
3
4
5
6
7
8
В главном окне находятся меню команд, панели инструментов и палитра компонентов.
Окно стартовой формы (Forml) представляет собой заготовку главного окна разрабатываемого приложения.
Программное обеспечение принято делить на системное и прикладное. Системное программное обеспечение – это все то, что составляет операционную систему. Остальные программы принято считать прикладными. Для краткости прикладные программы называют приложениями.
Окно Object Inspector (см рис. 3.3) – предназначено для редактирования значений свойств и событий объектов. В терминологии визуального проектирования объекты — это диалоговые окна и элементы управления (поля ввода и вывода, командные кнопки, переключатели и др.). Свойства объекта — это характеристики, определяющие вид, положение и поведение объекта. Например, свойства Width и Height задают размер (ширину и высоту) формы, свойства Tор и Left — положение формы на экране, свойство Caption — текст заголовка.
На страничке Properties перечислены свойства объекта и указаны их значения. На страничке Events перечислены события, на которые может реагировать объект, и здесь могут быть указаны методы обработки этих событий.
В окне редактора кода (Рис. 3.3), которое можно увидеть, щелкнув мышкой по этому окну, следует набирать текст программы. В начале работы над новым проектом это окно редактора кода содержит сформированный Delphi шаблон программы. При помещении любого компонента на форму текст программы автоматически дополняется описанием необходимых библиотек (раздел Uses) и типов переменных в классе TForm1. На начальном этапе обучения программированию в среде Delphi настоятельно не рекомендуется изменять имена компонентов и самому изменять содержимое классов.
Delphi для каждого приложения создает несколько файлов со следующими расширениями:
• *.dpr – файл описания проекта, где описываются все формы проекта (Project1.dpr);
• *.pas – файл модуля Unit, который является текстом программы для данной формы Form1 (Unit1.pas);
• *.dfm – файл описания формы и ее компонент (Unit1.dfm). Он может храниться как в виде бинарного файла, так и в виде текстового файла;
• *.res – ресурсный файл, где хранятся значки, картинки, меню, константы, которые будут помещаться в форму (Project1.res);
• *.dof – файл настроек проекта (Project1.dof);
• *.dcu – результат трансляции модуля с расширением *.pas, т.е. текст модуля в машинных кодах;
• *.exe – результат редактирования программы, т.е. объединения всех модулей *.dcu в одну готовую к выполнению программу.
При выполнении лабораторных работ на дискете следует сохранять только файлы с расширениями *.dpr, *.pas, *.dfm и *.res. Остальные файлы являются рабочими и их можно не сохранять.
Следует иметь в виду, Delphi поддерживает совместимость только снизу вверх, но не наоборот. Другими словами, программа, написанная в системе Delphi 5, будет работать и в системе Delphi 7, но не наоборот.
Пример написания простейшей программы в среде Delphi
Допустим, нам надо рассчитать простейшее выражение для любого x. Для этого мы поместим на форму следующие компоненты: Label1 – для нанесения на форму текста “x=”; Edit1 – для ввода значенияx; Memo1 – для вывода названия работы и результатов вычислений; Button1 – кнопку с текстом “Старт” для запуска процесса вычисления данной формулы.
Дважды щелкнув левой клавишей мыши по форме, мы получим обработчик события создания формы, где очистим текстовый редактор Memo1, затем запишем в него номер лабораторной работы, фамилию и номер группы студента, выполняющего работу. Здесь же очистим поле ввода значения x – Edit1.
Дважды щелкнув левой клавишей мыши по кнопке Button1, мы получим оформление обработчика нажатия этой кнопки. В нем определим переменные вещественного типа x и y, произведем вычисление y и выведем результаты вычислений в текстовый редактор Memo1.
В результате мы получим следующий текст модуля Unit1.pas с необходимыми пояснениями:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm) // Класс формы
Label1: TLabel;
Edit1: TEdit;
Memo1: TMemo;
Button1: TButton;
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
// Обработчик создания формы
Procedure TForm1.FormCreate(Sender: TObject);
begin
Memo1.Clear; //Очистка текстового редактора
Memo1.Lines.Add('Лабораторная работа 1'); //Вывод пояснений
Memo1.Lines.Add('Выполнил студент Иванов А.А., гр.320601');
Edit1.Clear; // Очистка поля ввода
end;
// Обработчик нажатия кнопки
Procedure TForm1.Button1Click(Sender: TObject);
var x,y:extended; // Определение вещественных переменных x и y
begin
x:=strtofloat(edit1.Text); // Перевод строки в вещественное значение
y:=sin(sqrt(abs(x))); // Вычисление y
Memo1.Lines.Add('x='+edit1.Text+' y='+ // Добавление новой строки
floattostr(y)); // Перевод вещественного числа в строку
end;
end.
В данном тексте программы жирным шрифтом выделено все, что нужно было набрать самому студенту для выполнения задания. Все остальное среда Delphi добавляет автоматически сама. Следует иметь ввиду, что имена компонент отделяются от свойств и методов точкой.
В результате выполнения программы мы получим следующий вид формы:
Рис.3.4. Форма простейшего примера
Label1
Edit1
Memo1
Button1
- Программирование в среде Delphi
- Программирование в среде Delphi
- 1. История развития вычислительной техники, системы счисления и единицы информации.................................................7
- 2. Структура персонального компьютера и операционные системы.........................................................................13
- 3. Основы алгоритмизации и работа в delphi..........................18
- 4. Базовые элементы delphi...................................................................26
- 5. Стандартные функции и подпрограммы................................30
- 6. Операторы delphi......................................................................................33
- 7. Операторы циклов....................................................................................35
- 18. Выделение памяти под объект и прародитель всех классов – tobject..........................................................................................84
- 19. Обработка исключительных ситуаций................................87
- 20. Основные классы и общие свойства компонентов...93
- 26. Технология com.....................................................................................129
- 1. История развития вычислительной техники, системы счисления и единицы информации
- 1.1. История развития вычислительной техники
- 1.2. Системы счисления
- 1.3. Единицы информации
- 2. Структура персонального компьютера и операционные системы
- 2.1. Структура персонального компьютера.
- 2.2. Операционные системы
- 3. Основы алгоритмизации и работа в delphi
- 3.1. Основы программирования
- 3.2. Программирование в среде Delphi
- 4. Базовые элементы delphi
- 4.1. Алфавит среды Delphi
- 4.2. Константы
- 4.3. Переменные
- 4.4. Основные типы переменных
- 4.5. Операции над переменными и константами
- 5. Стандартные функции и подпрограммы
- 5.1. Математические функции
- 5.2. Функции преобразования
- 5.3. Дополнительные системные подпрограммы и функции
- 6. Операторы delphi
- 6.1. Оператор присваивания
- 6.2. Оператор безусловной передачи управления
- 6.3. Условный оператор if
- 6.4. Оператор разветвления Case
- 6.5. Составной оператор
- 7. Операторы циклов
- 7.1. Оператор цикла For
- 7.2. Оператор цикла Repeat
- 7.3. Оператор цикла While
- 8. Работа с массивами
- 9. Работа со строками
- 9.1. Процедуры работы со строками
- 9.2. Функции работы со строками
- 10. Работа с записями
- 11. Процедуры и функции
- 12. Модуль unit
- 13. Работа со множествами
- 14. Работа с файлами
- 14.1. Текстовые файлы
- 14.2. Типированные файлы
- 14.3. Нетипированные файлы
- 15. Работа с файлами и каталогами
- 16. Динамические переменные и структуры данных
- 16.1. Динамические переменные
- 16.2. Работа со стеком
- 16.3. Работа со списками или очередями
- 16.4. Работа с деревьями
- 17. Основы объектно–ориентированного программирования
- 17.1. Объекты и классы
- 17.2. Области видимости класса
- 17.3. Свойства (Property) и инкапсуляция
- 17.4. Методы, наследование и полиморфизм
- 17.5. События (Events)
- 18. Выделение памяти под объект и прародитель всех классов – tobject
- 18.1. Выделение памяти под объект
- 18.2. Описание класса tObject
- 18.3. Операторы приведения типов классов
- 19. Обработка исключительных ситуаций
- 19.1. Два вида оператора Try
- 19.2. Программное создание исключительной ситуации
- 19.3. Основные исключительные ситуации
- 20. Основные классы и общие свойства компонентов
- 20.1. Класс tList
- 20.2. Класс tStrings
- 20.3. Общие свойства компонентов
- 21. Графические возможности delphi
- 21.1. Класс Tcanvas
- 21.2. Классы тGгарhic и тРicture
- 21.3. Классы tFont, tPen и tBrush
- 21.4. Работа с изображениями
- 22. Визуальные компоненты delphi
- 22.1. Компонент tBitBtn
- 22.2. Компоненты tDrawGrid и tStringGrid
- 22.3. Компонент tPageControl
- 22.4. Компонент tTimer
- 22.5. Компонент tGauge
- 22.6. Компонент tСolorGrid
- 23. Стандартные диалоговые окна и типовые диалоги
- 23.1. Стандартные диалоговые окна
- 23.2. Типовые диалоги
- 24. Форма, приложение и глобальные объекты
- 24.1. Форма и ее свойства
- 24.2. Объект Application
- 24.3. Глобальные объекты
- Объект ClipBoard
- Объект Screen
- Объект Printer
- 25. Межпрограммное взаимодействие
- 25.1. Обмен сообщениями
- 25.2. Динамический обмен данными
- 25.3. Совместное использование общей памяти
- 25.4. Каналы
- 25.5. Сокеты
- 26. Технология com
- 26.1. Интерфейс
- 27. Технология автоматизации
- 27.1. Основы ole Automation
- 27.2. Примеры использования серверов автоматизации
- 27.3. Компоненты ActiveX
- 28. Динамические библиотеки
- 28.1. Создание dll
- 28.2. Использование dll
- 28.3. Пример написания dll
- 29. Работа с базами данных
- 29.1. Основные определения
- 29.2. Взаимодействие приложения на Delphi с базами данных
- 29.3. Компоненты взаимодействия с базами данных
- If adoTable1.Locate(’fio,stag’,varArrayOf([’Иванов’,’10’]),[])Then …;
- 29.4. Работа с локальной базой данных
- 30. Основы языка sql
- 30.1. Составные части sql
- 30.2. Команда select
- 30.3. Пример использования запросов в Delphi
- 31. Создание собственных компонентов
- 32. Работа с реестром
- 33. Перспективы программирования в delphi
- Литература
- 220013, Минск, п.Бровки, 6