Скачать презентацию Программирование на ЭВМ Лекция 10 Среда визуального программирования Скачать презентацию Программирование на ЭВМ Лекция 10 Среда визуального программирования

10 Программирование на ЭВМ - RAD.pptx

  • Количество слайдов: 35

Программирование на ЭВМ Лекция 10. Среда визуального программирования Доцент, к. т. н. Исаев А. Программирование на ЭВМ Лекция 10. Среда визуального программирования Доцент, к. т. н. Исаев А. В. avisz@yandex. ru Ауд. 7 или 234

Lazarus. Общие сведения • Lazarus — свободная среда разработки программного обеспечения на языке Object Lazarus. Общие сведения • Lazarus — свободная среда разработки программного обеспечения на языке Object Pascal для компилятора Free Pascal (часто используется сокращение FPC — Free Pascal Compiler, свободно распространяемый компилятор языка программирования Pascal). Интегрированная среда разработки предоставляет возможность кроссплатформенной разработки приложений в Delphi-подобном окружении. • Lazarus представляет собой систему программирования. Сама система, как и многие подобные (Delphi , Visual Basic, Visual C++ и т. д. ) относится к классу инструментальных средств ускоренной разработки программ (приложений) (Rapid Application Development, RAD). • Ускоренная разработка программ достигается за счет двух характерных свойств Lazarus: визуального конструирования форм и широкого использования библиотеки визуальных компонентов (Visual Component Library, VCL).

Lazarus. Общие сведения • Визуальное конструирование форм означает использование программистом специального окна формы, которое Lazarus. Общие сведения • Визуальное конструирование форм означает использование программистом специального окна формы, которое он наполняет нужными ему компонентами, реализующими различные интерфейсные свойства. • После размещения на форме компонента Lazarus автоматически вставляет в связанный с формой модуль программы ссылку на компонент (собственно, готовый фрагмент кода программы) и производит некоторые дополнительные операции. • VCL представляет программисту огромное множество уже готовых программных заготовок (компонентов), которые могут немедленно или после несложной настройки работать в создаваемой программе. • Важное свойство компонентов: они включают в себя программный код и все необходимые для его работы данные. • Компонентов великое множество — от простейших (кнопки, переключатели, окна ввода) до сложных элементов управления средой.

Основные окна визуальной среды Lazarus При запуске Lazarus на экране появляются следующие элементы среды Основные окна визуальной среды Lazarus При запуске Lazarus на экране появляются следующие элементы среды программирования: 1. Главное окно — Lazarus IDE; 2. Окно формы — Form 1; 3. Окно Инспектора объектов, в котором отображаются все компоненты, имеющиеся в данном проекте; 4. окно Редактора исходного кода — Unit 1. pas. 5. Окно отладчика (системных сообщений)

3 1 2 4 5 3 1 2 4 5

 • В главном окне находится меню команд, панели инструментов и палитра компонентов. • • В главном окне находится меню команд, панели инструментов и палитра компонентов. • Окно стартовой формы (Form 1) представляет собой заготовку главного окна разрабатываемого приложения.

 • Окно Инспектора объектов предназначено для редактирования значений свойств объектов и обработки событий. • Окно Инспектора объектов предназначено для редактирования значений свойств объектов и обработки событий. • В терминологии визуального проектирования объекты — это диалоговые окна и элементы управления (поля ввода и вывода, командные кнопки, переключатели и др. ). • Свойства объекта — это характеристики, определяющие вид, положение и поведение объекта. • Например, свойства Width и Height задают размер (ширину и высоту) формы, свойства Top и Left — положение формы на экране, свойство Caption — текст заголовка • Событие — действие, в результате которого изменяются некоторые свойства объекта или его окружения. • Например: событие нажатия на кнопку On. Click, событие редактирования текста On. Edit и т. д.

 • Палитра компонентов позволяет выбрать нужные объекты для размещения их на форме. Для • Палитра компонентов позволяет выбрать нужные объекты для размещения их на форме. Для использования палитры компонентов нужно щелкнуть мышкой на один из объектов, имеющихся на палитры, а потом второй раз щелкнуть на форме. Выбранный объект появится на форме, и им можно манипулировать с помощью мыши. • Палитра компонентов использует постраничную группировку объектов. На палитре находится набор закладок - Standard, Additional, Common Controls и т. д.

 • В окне Редактора кода набирают текст программы. В начале работы над новым • В окне Редактора кода набирают текст программы. В начале работы над новым проектом это окно редактора кода содержит автоматически сформированный Lazarus’ом шаблон программы.

 • Слева от редактора форм расположен Инспектор объектов. Информация в Инспекторе объектов меняется • Слева от редактора форм расположен Инспектор объектов. Информация в Инспекторе объектов меняется в зависимости от объекта, выбранного на форме. Каждый компонент является объектом, и с помощью Инспектора объектов можно менять его вид и поведение. • Инспектор объектов содержит несколько вкладок (страниц), каждую из которых можно использовать для определения поведения данного компонента. • Вкладка Свойства — редактор параметров свойств объектов; • Вкладка События — определение реакции объектов на различные события. • К примеру, можно изменить имя, текст и размер компонента TLabel изменяя свойства Name, Caption, Height, и Width.

Общий вид раздела type при создании формы с визуальными компонентами и подпрограммами обработки событий Общий вид раздела type при создании формы с визуальными компонентами и подпрограммами обработки событий Type TForm 1 = class(TForm) Button 1: TButton; //объявления объектов, имеющихся на форме Check. Box 1: TCheck. Box; Check. Box 2: TCheck. Box; Edit 1: TEdit; Label 1: TLabel; Main. Menu 1: TMain. Menu; Memo 1: TMemo; Menu. Item 1: TMenu. Item; Menu. Item 2: TMenu. Item; Radio. Button 1: TRadio. Button; Radio. Button 2: TRadio. Button; procedure Button 1 Click(Sender: TObject); //процедура обработки нажатия на кнопку Button 1 procedure Edit 1 Change(Sender: TObject); //процедура обработки изменения состояния Edit 1 procedure Menu. Item 1 Click(Sender: TObject ); //процедура обработки выбора пункта меню 1 procedure Menu. Item 2 Click(Sender: TObject ); //процедура обработки выбора пункта меню 2 private { private declarations } public { public declarations } end;

 • Любой проект в Lazarus сохраняется как совокупность файлов, из которых затем создаётся • Любой проект в Lazarus сохраняется как совокупность файлов, из которых затем создаётся единый выполняемый файл. В простейшем случае список файлов проекта имеет вид: файл описания проекта (. lpi); файл проекта (. lpr); файл ресурсов (. lrs); модуль формы (. lfm); программный модуль (. pas); • После компиляции программы из всех файлов проекта создаётся единый выполняемый файл с расширением. exe, имя этого файла совпадает с именем проекта.

Некоторые особенности программирования в визуальной среде • Программирование в визуальной среде имеет некоторые отличия Некоторые особенности программирования в визуальной среде • Программирование в визуальной среде имеет некоторые отличия от программирования в консольном режиме, в котором мы работали до сих пор. • Одна из особенностей программирования в визуальном режиме — необходимость использования команд преобразования типов для ввода и вывода численных значений.

Функция преобразования Int. To. Str(k); Значение функции Преобразование целого числа k в строку символов Функция преобразования Int. To. Str(k); Значение функции Преобразование целого числа k в строку символов Преобразование вещественного числа n в строку символов Float. To. Str. F(n, f, k, m); Преобразование вещественного числа n в строку символов, где f — формат (способ изображения — денежный, экспоненциальный, вещественный и т. д. ); k — точность (общее количество цифр); m — количество цифр после десятичной точки Str. To. Int (s); Преобразование строки s, состоящей из цифр, в целое число Str. To. Float (s); Преобразование строки s, состоящей из цифр и точки, в целое число Round (n); Целое, полученное путем округления n по общим математическим правилам Trunc (n); Целое, полученное путем отбрасывания дробной части n Float. To. Str(n); Frac(n); Int (n); Chr(n); Дробное, представляющее собой дробную часть вещественного n Дробное, представляющее собой целую часть вещественного n Символ, код которого равен n

Ввод данных • Наиболее просто программа может получить исходные данные из окна ввода или Ввод данных • Наиболее просто программа может получить исходные данные из окна ввода или из поля редактирования (компонент Edit).

Ввод из поля редактирования • Ввод данных из поля редактирования компонента Edit осуществляется обращением Ввод из поля редактирования • Ввод данных из поля редактирования компонента Edit осуществляется обращением к свойству Text. • Команда ввода данных в этом случае может иметь вид: X: =Str. To. Float(Edit 1. Text);

Вывод результатов • Проще всего вывести результат работы программы в окно сообщения или в Вывод результатов • Проще всего вывести результат работы программы в окно сообщения или в поле вывода (свойство Caption компонента Label). • Например, для того чтобы вывести в поле вывода (компонент Label) значение переменной типа real, необходимо преобразовать число в строку символов, изображающую данное число. Это можно сделать при помощи функции Float. To. Str, которая возвращает строковое представление значения выражения, указанного в качестве параметра функции. • Например, команда Label 1. Caption : = Float. Tostr(x); выводит значение переменной х в поле Label 1

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

Вывод в окно сообщения • Процедура Show. Message выводит на экран окно с текстом Вывод в окно сообщения • Процедура Show. Message выводит на экран окно с текстом и командной кнопкой ОК. • В общем виде инструкция вызова процедуры Show. Message выглядит так: Show. Message(soobschenie); • где soobschenie— текст (типа string), который будет выведен в окне.

Вывод в окно сообщения • Функция Message. Dlg более универсальна, чем Show. Message. Она Вывод в окно сообщения • Функция Message. Dlg более универсальна, чем Show. Message. Она позволяет поместить в окно с сообщением один из стандартных значков, например "Внимание", задать количество и тип командных кнопок и определить, какую из кнопок нажал пользователь;

Вывод в окно сообщения • Значение функции Message. Dlg — число, проверив значение которого, Вывод в окно сообщения • Значение функции Message. Dlg — число, проверив значение которого, можно определить, выбором какой командной кнопки был завершен диалог. • В общем виде обращение к функции Message. Dlg выглядит так: x: =Message. Dlg(Сообщение, Тип, Кнопки, Контекст. Справки); где: • X — переменная целочисленного типа (byte, shortint, integer…) или специального типа TModal. Result; • Сообщение — текст сообщения; • Тип — тип сообщения. Сообщение может быть информационным, предупреждающим или сообщением о критической ошибке. Каждому типу сообщения соответствует определенный значок. Тип сообщения задается именованной константой; • Кнопки — список кнопок, отображаемых в окне сообщения. Список может состоять из нескольких разделенных запятыми именованных констант. Весь список заключается в квадратные скобки.

Константы функции Message. Dlg Константа Тип сообщения mt. Warning Внимание mt. Error Ошибка mt Константы функции Message. Dlg Константа Тип сообщения mt. Warning Внимание mt. Error Ошибка mt Information Информация mt. Confirmation Подтверждение mt. Custom Обычное Значок Без значка

Константы функции Message. Dlg Константа Кнопка mb. Yes mb. No No mb. OK OK Константы функции Message. Dlg Константа Кнопка mb. Yes mb. No No mb. OK OK mb. Cancel mb. Help mb Abort mb. Retry mblgnore Ignore mb. All

Константы функции Message. Dlg • Кроме упомянутых выше констант можно использовать и такие константы: Константы функции Message. Dlg • Кроме упомянутых выше констант можно использовать и такие константы: mb. Ok. Cancel, mb. Yes. No. Cancel mb. Abort. Retry. Ignore. • Эти константы определяют наиболее часто используемые в диалоговых окнах комбинации командных кнопок. • контекст. Справки — параметр, определяющий раздел справочной системы, который появится на экране, если пользователь нажмет клавишу . Если вывод справки не предусмотрен, то значение параметра Контекст. Справки должно быть равно нулю.

 • Значение, возвращаемое функцией Message. Dlg, позволяет определить, какая из командных кнопок была • Значение, возвращаемое функцией Message. Dlg, позволяет определить, какая из командных кнопок была нажата пользователем.

Значения функции Message. Dlg Значение функции Message. Dlg Диалог завершен нажатием кнопки mr. Yes Значения функции Message. Dlg Значение функции Message. Dlg Диалог завершен нажатием кнопки mr. Yes mr. Ok Ok mr. Retry mr. No No mr. Cancel mr. Ignore mr. All mr. Abort

procedure TForm 1. Form. Create(Sender: TObject); var x: TModal. Result; begin x: =Message. Dlg('Пример procedure TForm 1. Form. Create(Sender: TObject); var x: TModal. Result; begin x: =Message. Dlg('Пример окна сообщения', mterror, [mb. Yes, mb. No, mb. Ok, mb. Cancel, mb. Ignore, mb. Help], 0); if x=mr. Ok then showmessage('ok!'); end;

Вывод в поле диалогового окна • Часть диалогового окна, предназначенная для вывода информации, называется Вывод в поле диалогового окна • Часть диалогового окна, предназначенная для вывода информации, называется полем вывода, или полем метки. Поле вывода — это компонент Label. • Содержимое поля вывода определяется значением свойства Caption. • Для того чтобы во время работы программы изменить содержимое поля вывода, например, вывести в поле результат работы программы, нужно присвоить свойству новое значение.

Преобразование числа в строку • Свойство Caption символьного типа. Поэтому для того, чтобы во Преобразование числа в строку • Свойство Caption символьного типа. Поэтому для того, чтобы во время работы программы вывести в поле метки числовое значение, нужно преобразовать число в строку — например, при помощи функции Float. To. Str (для преобразования вещественного числа в строку) или Int. To. Str (для преобразования целого числа в строку).

Простейшие компоненты и их свойства • Большинство компонентов имеют общие свойства, такие как Name Простейшие компоненты и их свойства • Большинство компонентов имеют общие свойства, такие как Name (имя компонента), Color (цвет), Font (шрифт), Visible (видимость/невидимость компонента; соответственно, значения true или false), Left и Top (положение объекта относительно левого и верхнего края родительского объекта, соответственно), и т. д. • С большинством компонентов может быть связано контекстное меню, вызываемое щелчком на компоненте правой кнопкой мыши (Popup. Menu). • Необходимо помнить, что каждый компонент должен иметь свое имя. Не следует путать текстовые свойства типа Caption, Text или Items с именем компонента (Name)!

Название Form Main. Menu Popup. Menu Label Назначение Свойства Вкладка Standard Основная «рабочая поверхность» Название Form Main. Menu Popup. Menu Label Назначение Свойства Вкладка Standard Основная «рабочая поверхность» Auto. Size программы, на которой размещаются остальные компоненты. В программе может быть сколь угодно форм. Caption Menu Описание свойств Автоматически настраивает размеры формы под оптимальные значения Заголовок формы Создает главное меню, которое отображается в верхней части формы. Items… Связывает с формой компонент Main. Menu (главное меню) Редактирует пункты меню. В появившемся окне конструктора меню можно создавать пункты меню, выделяя их мышкой и задавая названия в свойстве Caption. Создает контекстные меню, появляющиеся при щелчке на какомлибо компоненте правой кнопкой мышки. Items… Аналогично компоненту Main. Menu Создает текстовую надпись Caption Text Задает текст надписи Edit Позволяет вводить текстовые строки. Memo Позволяет вводить, редактировать и отображать многострочный текст Содержит текстовую строку, которая отображается в компоненте. Текстовая строка может быть преобразована в число (и обратно), см. ниже. Lines Хранит в себе текстовые строки. Чтобы добавить строку в компонент нужно воспользоваться методом Add (Напр. , Memo 1. Lines. Add(‘Hello!’) Scroll. Bars Определяет наличие полос прокрутки; ss. None — нет полос; ss. Vertical — есть вертикальная полоса; ss. Horisontal — есть горизонтальная полоса. Clear Очищает содержимое Memo

Button Check. Box Широко используется для управления программами. При нажатии на кнопку происходит какое-либо Button Check. Box Широко используется для управления программами. При нажатии на кнопку происходит какое-либо действие, определяемое программистом. Флажок. Состояние флажка (включен/выключен (может быть еще в состоянии «не определен» ) никак не зависит от остальных флажков, т. е. в каждый момент может быть включено сколь угодно флажков (в т. ч. ни одного) Caption Allow. Grayed Определяет надпись на кнопке. Определяет название флажка (текстовая строка) Разрешает/запрещает использование состояния «не определен» (флажок с галочкой, но выглядит бледным, серым). Checked Radio. Button Combo. Box Переключатель. Предназначен для выбора одного из нескольких взаимоисключающих решений Определяет состояние флажка. Если находится в состоянии true, то флажок активен, если false — неактивен. Для состояния «не определен» так же имеет значение false. Caption Checked Аналогично компоненту Check. Box Items… Содержит строки, показываемые в компоненте. Sorted Комбинированный раскрывающийся список. Разрешает/запрещает сортировку строк в алфавитном порядке. Text Item. Index Group. Box Служит для размещения других компонентов. Caption Содержит индекс (номер) выбранного элемента. Первый элемент имеет индекс 0. Определяет заголовок компонента.

Bit. Btn Вкладка Additional Caption Glyph Задает надпись на кнопке Kind Позволяет выбрать одну Bit. Btn Вкладка Additional Caption Glyph Задает надпись на кнопке Kind Позволяет выбрать одну из 11 стандартных разновидностей кнопки, каждой из которых соответствует свой значок. Предназначен для создания таблиц, в ячейках которой располагаются произвольные текстовые строки. Таблица по умолчанию делится на фиксированную и рабочую части. Фиксированная часть служит для показа заголовков колонок и строк. Col. Count Row. Count Fixed. Cols Fixed. Rows Определяет число столбцов (Columns) Cells[i, j] String. Grid Графическая кнопка. Позволяет размещать на своей поверхности произвольные изображения или некоторые стандартные значки. В последнем случае вид значка определяется типом кнопки. Определяет содержимое ячейки [i, j], где i — номер столбца, j — номер строки. Напр. : String. Grid 1. Cells[1, 1]: = ’Левая верхняя ячейка рабочей зоны’; Наличие полосы прокрутки Scroll. Bars +Options Image Up. Down Позволяет размещать растровое изображение (картинку) на форме или другом родительском объекте Позволяет загрузить изображение, которое будет отображаться на поверхности кнопки. Определяет число строк (Rows) Определяет число фиксированных столбцов. Определяет число фиксированных строк. Список опций. Из них для нас наиболее актуальна опция go. Editing — позволяет вводить данные в таблицу Autosize Автоматическая подгонка размера изображения под фактическое значение (масштаб 1: 1) Picture Позволяет выбрать изображение из внешнего файла Вкладка Common Controls Связывает компонент Up. Down с другим компонентом на форме Associate Max (например, компонентом Edit) Ограничивает максимальное значение, которое может приобретать число в связанном компоненте Min Ограничивает минимальное значение, которое может приобретать число в связанном компоненте Increment Задает шаг, с которым изменяется число в связанном компоненте

Спасибо за внимание! Спасибо за внимание!