Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методич Делфи.doc
Скачиваний:
248
Добавлен:
13.04.2015
Размер:
688.64 Кб
Скачать

36

Министерство образования и науки Российской Федерации

Северо-Кавказский горно-металлургический институт

(Государственный технологический университет)

Кафедра «Информационные системы в экономике»

Программирование на Delphi Методические указания

к лабораторнЫМ работАМ

по УЧЕБНОЙ ПРАКТИКЕ для студентов

ПО НАПРАВЛЕНИЮ ПОДГОТОВКИ

230700.62 - “Прикладная информатика”

Составители:

Кумаритов А.М.

Дзгоев А.Э.

Бетрозов М.С.

Владикавказ - 2014

УДК

Рецензент: профессор, к.т.н. Хатагов А.Ч.

Кумаритов А.М.

Программирование на Delphi: методические указания к лабораторным работам по учебной практике для студентов по направлению подготовки 230700.62 - "Прикладная информатика" / А.М. Кумаритов, А.Э. Дзгоев, М.С. Бетрозов; Северо-Кавказский горно-металлургический институт (государственный технологический университет). – Владикавказ: изд-во «Терек», 2014. – 35 с.

Рассматриваются теоретические вопросы, методика разработки и концепция создания программ на языке высокого уровня Delphi, процессы компиляции и отладки готового проекта в среде разработки Borland Delphi 7.0. Лабораторные работы позволяют студентам приобрести необходимые навыки и опыт программирования.

Рекомендовано для студентов по направлению подготовки 230700.62 - "Прикладная информатика", а также для студентов других специальностей факультета информационных технологий.

Подготовлено кафедрой «Информационные системы в экономике»

Редактор

Компьютерная верстка

© Издательство «Терек» СКГМИ (ГТУ), 2014

Подписано в печать 00.00.00. Формат 60х84/16

Тираж _______ Объем усл. п.л. Заказ №_________

Подразделение оперативной полиграфии СКГМИ (ГТУ)

362021, г. Владикавказ, ул. Николаева, 44

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

Лабораторные работы по курсу «Программирование на Delphi» содержат 8 лабораторных работ. В качестве среды программирования выбрана среда разработки Borland Delphi 7.0. Техническое обеспечение: персональные компьютеры современной конфигурации.

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

Порядок выполнения работы:

  1. Изучение теоретического материала.

  2. Анализ полученного варианта задания, выбор метода решения задачи.

  3. Составление блок-схемы алгоритма решения.

  4. Создание программы, компиляция и отладка.

  5. Составление отчета о проделанной работе. Отчет должен содер­жать следующие разделы:

  • наименование работы;

  • цель работы;

  • условия задания и исходные данные;

  • блок-схему алгоритма решения задачи;

  • результаты работы программы.

  1. Представление результатов выполнения работы (отчета и проект на съемном носителе информации) для проверки преподавателю.

  2. Защита выполненной работы: ответы на контрольные вопросы к теоретическому материалу занятия и ответ на замечания преподавателя по созданной программе.

Тема № 1 среда программирования delphi

Цель работы: изучение интегрированной среды разработки Delphi.

1.1. Теоретическая часть

Среда программирования Delphi в настоящее время является одной из развитых систем визуального объектно-ориентированного программирования.

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

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

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

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

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

Окна Delphi

На рисунке 1 приведен интерфейс среды разработки Delphi. Вверху во всю ширину экрана находится окно управления проектом и средой разработки Delphi. На нем расположены главное меню, панель инструментов и палитра компонентов (Вкладки Standart, Additional и т.д.).

Рисунок - 1. Интерфейс среды разработки Delphi

В древе объектов (Object TreeView) отображается иерархия компонентов. В инспекторе объектов (Object Inspector) на соответствующих вкладках задаются свойства и обработчики событий компонентов, составляющих программу. В модуле (Unit1.pas) содержится программный код. Форма (Form1) является визуальным прообразом будущей программы.

Переключение между формой и модулем осуществляется нажатием клавиши F12, между инспектором объектов и модулем/формой – клавишей F11. Меню выбора Unit-ов вызывается комбинацией Shift+F11, форм - Shift+F12.

Основные свойства формы. Свойства Width и Height – ширина и высота формы, Top и Left - расстояния в пикселях от левой и верхней границ экрана соответственно. Cвойство Position, с помощью которого можно настроить автоматическое появление формы в нужном месте. Также возможно запрограммировать появление формы в нормальном, минимизированном или максимизированном состоянии. За это отвечает свойство WindowState - значения wsNormal, wsMinimized и wsMaximized соответственно. Не у всех окон в заголовке есть кнопки свернуть, развернуть, закрыть. Их наличием или отсутствием управляет свойство BorderIcons. В Инспекторе объектов слева от него маленький плюсик, открывающий признак наличия или отсутствия нужной кнопки. True - кнопка будет отображаться, False – кнопки не будет.

Сохранение проекта. В начале работы над новым проектом командой меню File -» Save All (соответствующей кнопкой в панели управления или сочетанием клавиш Ctrl+Shift+S) сохраните проект в специально созданную для него папку. Проект в целом сохраняется по умолчанию в файле с именем Project1. Форма функционирует вместе с модулем. Если модулей в проекте несколько, для каждого из них Delphi создаст отдельный файл, и предложит его сохранить под именем Unit1, Unit2 и т.д. Для файла проекта и файлов модулей можно дать более осмысленное название.

Команда File -» Close All закрывает проект. Открыть файл модуля можно командой Open.... Если открыть модуль, то можно нормально работать, но кнопка запуска программы окажется неактивной. Поэтому нужно открывать файл проекта. В папке с проектом содержатся несколько типов файлов:

файл проекта (.dpr) - используется для хранения информации о формах и модулях. содержит операторы инициализации и запуска программы;

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

файл формы (.dfm) - двоичный файл, хранит информацию о формах;

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

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

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

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

Стандартный листинг программы на Delphi:

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}

end.

Рассмотрим подробнее структуру листинга:

unit – раздел названия модуля (pas-файла);

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

uses - список подключаемых модулей.

type – раздел описания типов;

private - раздел описания закрытых данных объекта;

public - раздел описания открытых данных объекта;

var - раздел объявления глобальных переменных;

implementation - раздел для программного кода;

{$R *.dfm} - директива для компилятора, определяющая файл ресурса.

Далее идут функции и процедуры программы. Любой листинг программы на delphi завершается оператором «end.».

Рассмотрим процесс создания приложения на примере программы суммирующей 2 числа. Для этого создадим новый проект, на форме разместим 2 компонента Label, 2 компонента Edit и компонент Button, как показано на рисунке 2.

Рисунок - 2. Форма приложения

Обратите внимание, что после добавления вышеперечисленных компонент в разделе type модуля этой формы появились записи вида <Имя_компонента: Класс_компонента> для каждого из добавленных компонентов. Далее в инспекторе объектов выберите компонент Label1 и поменяйте на вкладке Properties (свойства) свойство Caption (заголовок) на «a» (для Label2 - на «b»). Компонет можно выбрать также нажав по нему на форме левой кнопкой мыши или выделить его в древе объектов.

Затем в инспекторе объектов выберите компонент Edit1 и на вкладке Properties (свойства) удалите текст из свойства Text (аналогично для Edit2). Поле ввода Edit станет пустым, так как в компоненте Edit на форме отображается тот текст, который содержится в его свойстве Text.

Свойство Caption компонента Button измените на «Суммировать». Название кнопки при этом изменится.

Работа с внешним видом формы на этом закончена. В данном случае у нас всего 5 компонетов на форме, но при написании сложных программ их количество в разы увеличивается, и для того, чтобы не запутаться в программном коде желательно каждому компоненту задать свое имя. Имя задается в свойстве name каждого компонента и должно быть уникальным в пределах программы, не может начинаться с цифры, также не допускается использование в качестве имен зарезервированных слов.

Теперь мы сможем ввести числа в Edit-ы, но чтобы посчитать их сумму мы должны написать соответствующий программный код, а чтобы этот код выполнился, необходимо, чтобы произошло событие в программе, по вызову которого этот код выполняется. В нашем примере таким событием будет нажатие на кнопку Button1. Для того чтобы процедура обработчика события «нажатие кнопки Button1» появилась в модуле, необходимо выбрать компонент Button1 в инспекторе объекта, и на вкладке Events (события) щелкнуть 2 раза левой кнопкой мыши в поле напротив события OnClick. Процедура появилась также в разделе type.

Между директивой «{$R *.dfm}» и оператором «end.» находится сама процедура. При ее добавлении, она имеет следующий вид:

procedure TForm1.Button1Click(Sender: TObject);

begin

end;

Обратите внимание, что в разделе написания кода (между директивой «{$R *.dfm}», стоящей после «implementation», и оператором «end.») содержатся сами процедуры или функции (с исполняемым кодом), а в разделе type, после объявления компонентов лишь их объявления. Причем, название и список параметров (для функции также и тип) объявленной процедуры (функции) не должны отличаться от названия и списка параметров процедуры (функции) в области написания кода, за исключением того, что в области написания кода перед именем процедуры (функции) должно стоять название класса текущей формы через точку (в данном случае - TForm1), т.е.:

в области объявления: procedure Button1Click(Sender: TObject);

в области написания кода: procedure Form1.Button1Click(Sender: TObject);

У процедуры в области написания кода есть начало и конец, обозначающиеся соответственно «begin» и «end;», между которыми и содержится код, выполняемый процедурой.

Для объявления локальных переменных (будут доступны только в процедуре, для которой объявляются) необходимо между названием процедуры и ключевым словом «begin» вставить ключевое слово «var» и после слова «var» объявить переменные (задать имя переменной и тип через двоеточие). В примере рассмотрена процедура, которая находит сумму двух чисел и выводит результат в сообщении, при этом используются процедуры приведения строкового значения в вещественное число - «StrToFloat()», вещественного числа в строковое значение – «FloatToStr()», и процедура вывода сообщения «ShowMessage()».

procedure TForm1.Button1Click(Sender: TObject);

var

a,b,c:real;

begin

a:=StrToFloat(Edit1.Text);

b:=StrToFloat(Edit2.Text);

c:=a+b;

ShowMessage('Сумма a и b равна '+FloatToStr(c));

end;

Операция присвоения в Delphi обозначается связкой «:=» (двоеточие равно). Не путайте с операцией сравнения «=» (равно). Сначала приводится переменная, потом идет знак присвоения, и в правой части присваиваемое значение. Обращение к методам и свойствам компонента происходит через точку. Как видно из примера, для обрашения к свойству Text компонента Edit1 было использовано выражение Edit1.Text. Если сообщение, выводимое процедурой ShowMessage состоит из нескольких частей, то между этими частями необходимо поставить знак плюс «+». В конце каждой строки ставится точка с запятой (кроме begin, else и некоторых других исключений).

Приводимая в примере процедура для понятности была разделена на несколько операций, но могла состоять и из одной строки:

ShowMessage(FloatToStr(StrToFloat(Edit1.Text)+StrToFloat(Edit2.Text)));

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

В результате проделанных действий, листинг программы примет следующий вид:

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes,

Graphics, Controls, Forms, Dialogs, StdCtrls;

type

TForm1 = class(TForm)

Label1: TLabel;

Edit1: TEdit;

Label2: TLabel;

Edit2: TEdit;

Button1: TButton;

procedure Button1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

procedure TForm1.Button1Click(Sender: TObject);

var

a,b,c:real;

begin

a:=StrToFloat(Edit1.Text);

b:=StrToFloat(Edit2.Text);

c:=a+b;

ShowMessage('Сумма a и b равна '+FloatToStr(c));

end;

end.

После проделанных действий необходимо нажать клавишу «F9», чтобы программа запустилась, ввести числа в оба поля ввода Edit и нажать кнопку. Если все сделано правильно, программа отобразит сообщение, в котором приводится сумма введенных вами чисел.