Пятница, 13 ноября 2020 18:46

Мой первый проект в Delphi Избранное

Автор
Оцените материал
(2 голосов)

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

В каркасном доме используется множество, разных размеров, пиломатериалы. И чтоб правильно посчитать стоимость материалов необходима маленькая программка, которая ускорит процесс подсчета. Стоимость пиломатериалов рассчитывается в метрах кубических и чтоб узнать стоимость доски размером:

Каркасный дом — это легковозводимая конструкция. Каркасное домостроение является основным типом малоэтажного строительства в Скандинавии, Финляндии, Германии, США.
  1. Длина - 3 метра;
  2. Толщина - 50 мм.;
  3. Ширина - 150 мм.;
  4. Количество - 40шт.;

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

  1. Длина - 3 метра;
  2. Толщина - 0,05 метра;
  3. Ширина - 0,15 метра;
  4. Количество - 40 шт.

Теперь посчитаем сколько кубов в наших 40 досках:

  1. 0,05*0,15*3=0,0225м/куб. одна доска
  2. 0,0225*40=0,9м/куб. 40 досок.
  3. Один кубический метр доски стоит 2000грн. Стоимость наших досок 2000*0,9=1800грн.

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

В качестве среды разработки я выбрал Delphi. Delphi - это среда быстрой разработки, в которой в качестве языка программирования используется язык Delphi. Язык Delphi - строго типизированный объектно-ориентированный язык, в основе которого лежит хорошо знакомый программистам Object Pascal.

Описывать процесс установки Delphi я не буду. На сегодняшний день имеется множество версий Delphi. Я буду использовать Delphi XE4.

Запускаем Delphi обычным образом. На экране появляется страница приветствия. В её верхней части находится  список последних проектов, над которыми вы работали - Recent Projects. Он позволяет очень удобно и быстро возвращаться к работе над приложениями. 
Ниже вы найдёте кнопки New Project… и Open Project…, с помощью которых можно начать новый проект или открыть  существующий,  если  он  отсутствует в списке Recent Projects. Мы выбираем New Project и в следующем окне выбираем VCL Forms Application.

Вот мы и в главном окне программы - Окно конструктора формы. Именно в этом окне выполняется  визуальное  проектирование формы  вашего приложения. Здесь вы можете задать ей необходимые размеры, расставить на ней нужные для работы программы компоненты.

Стартовая форма создается путем изменения значений свойств формы Form1 и добавления к форме необходимых компонентов (полей ввода и вывода текста, командных кнопок). Свойства формы определяют ее внешний вид: размер, положение на экране, текст заголовка, вид рамки. При создании формы в первую очередь следует изменить значение свойства Caption (Заголовок). В нашем примере надо заменить текст Form1 на "Стоимость доски". Чтобы это сделать, нужно в окне Object Inspector щелкнуть мышью на строке Caption, в результате чего будет выделено текущее значение свойства, в строке появится курсор, и можно будет ввести текст "Стоимость доски".

Аналогичным образом можно установить значения свойств Height и Width, которые определяют высоту и ширину формы.

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

В таблице перечислены свойства формы разрабатываемой программы, которые следует изменить. Остальные свойства оставлены без изменений и в таблице не приведены:

Свойство Значение
 Caption  Стоимость доски
 Height  240
 Width  440
 BorderStyle  bsSingle
 BorderIcons.biMinimize  False
 BorderIcons.biMaximize  False
 Font.Size  10

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

 Программа вычисления стоимости доски должна получить от пользователя исходные данные - ширина, толщина, длина, количество и стоимость. В подобных программах данные с клавиатуры, как правило, вводят в поля редактирования. Поэтому в форму надо добавить компонент Edit -поле редактирования.

Наиболее часто используемые компоненты находятся на вкладке Standart.

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

На рисунке приведен вид формы после добавления пяти компонентов Edit полей редактирования, предназначенных для ввода исходных данных. Один из компонентов выделен. Свойства выделенного компонента отображаются в окне Object Inspector. Что бы увидеть свойства другого компонента, надо щелкнуть левой кнопкой мыши на изображении нужного компонента.

Обращаем внимание на то, что значение свойства Text компонентов Edit является пустая строка. Все остальные свойства можно не задавать, просто выровнять мышкой компоненты или изменить их размер.

Помимо полей редактирования в окне программы должна находиться краткая информация о программе и назначении полей ввода. Для вывода текста в форму используют поля вывода текста. Поле вывода текста (поле статического текста) - это компонент Label. Значок компонента Label находится на вкладке Standart. Добавляется компонент Label в форму точно так же, как и поле редактирования.

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

Значения свойств компонентов: Label1, Label2, Label3, Label4, Label5, Label6, Label7.

 Следует обратить внимание на свойства AutoSize и WordWrap. Эти свойства нужно использовать, если поле вывода должно содержать несколько строк текста. После добавления к форме компонента Label значение свойства AutoSize равно True, т.е. размер поля определяется автоматически в процессе изменения значения свойства Caption. Если вы хотите, чтобы находящийся в поле вывода текст занимал несколько строк, то надо стазу после добавления к форме компонента Label присвоить свойству AutoSize значение False, свойству WordWrap - значение True.Затем изменением значения свойств Width и Height нужно задать требуемый размер поля. Только после этого можно ввести в свойство Caption текст, который должен быть выведен в поле.

После добавления полей вывода текста и установки значений их свойств, форма примет вид: 

Последнее что надо сделать на этом этапе создания формы - добавить в форму две командные кнопки: Вычислить и Завершить. Назначение этих кнопок очевидно.

Командная кнопка, компонент Button, добавляется в форму точно также, как и другие компоненты.Значек компонента Button находится на вкладке Standart.

Окончательный вид формы разрабатываемого приложения:

Вид созданой формы подсказывает, как работает приложение. Очевидно, что пользователь должен ввести в поля редактирования исходные данные и щелкнуть мышью на кнопке Вычислить. Щелчок на изображении командной кнопки _ это пример того, что в Windows называется событием.

Чтобы приступить к созданию процедуры обработки события, надо сначала в окне Object Inspector выбрать компонент, для которого создается процедура обработки события. Затем в этом же окне нужно выбрать вкладку Events (События).

В левой колонке вкладки Events перечислены имена событий, которые может воспринимать выбранный компонент (объект). Если для события определена  (написана) процедура обработки события, то в в правой колонке рядом с именем события выводится имя этой процедуры.

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

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

procedure TForm1.Button1Click(Sender: TObject);
  var
  shrn: real; //Ширина доски м.
  vst: real;  //Высота доски м.
  dln: real; // Длина доски м.
  shtuk: integer; //Количество досок шт.
  cena: real; //Цена пиломатериалов грн.
  rezult: real; //Результат вычисления
begin
    //Получить исходные даные из полей ввода
  shrn := StrToFloat(Edit1.Text);
  vst := StrToFloat(Edit2.Text);
  dln := StrToFloat(Edit3.Text);
  shtuk := StrToInt(Edit4.Text);
  cena  := StrToFloat(Edit5.Text);
  //Вычисления
  rezult:= shrn*vst*dln*shtuk*cena;
  //Вывод результата
  Label2.Caption := 'Стоимость доски: '+ FloatToStrF(rezult,ffFixed,4,2) + 'грн.'

end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  Form1.Close;
end;

 Функция ButtonClick выполняет расчет стоимости доски и выводит результат расчета в поле Label2. Исходные данные вводятся из полей редактирования Edit1, Edit2, Edit3, Edit4, Edit5 путем обращения к свойству Text. Свойство Text содержит строку символов, которую во время работы программы введет пользователь. Для правильной работы программы строка должна содержать только цифры. Для преобразования строки в числа в программе используются функции StrToInt и StrToFloat. Функция StrToInt проверяет символы строки, переданной ей в качестве параметра (Edit4.Text - это содержимое поля Edit4), на допустимость и, если все символы верные, возвращает соответствующее число. Это число записывается в переменную shtuk. Аналогичным образом работает функция StrToFloat, которая возвращает дробное число, соответствующее содержимому полей Edit1, Edit2, Edit3, Edit5. Эти числа записываются в переменные shrn, vst, dln, cena.

После того как все данные готовы, выполняется расчет. Вычисленное значение стоимости доски выводится в поле Label2 путем присваивания значения свойству Caption. Для преобразования чисел в строки используются функции IntToStr И FloatToStr.

В результате нажатия кнопки Завершить программа должна завершить работу. Чтобы это произошло, надо закрыть, убрать с экрана, главное окно программы. Делается это при помощи метода close. Процедура обработки события Onclick для кнопки Завершить приведена в листинге

// нажатие кнопки Завершить

procedure TForm1.Button2Click(Sender: TObject);

begin

  Form1.Close; // закрыть главное окно программы

end;

Проект — это набор файлов, используя которые компилятор создает исполняемый файл программы (ЕХЕ-файл). В простейшем случае проект состоит из файла описания проекта (DOF-файл), файла главного модуля (DPR-файл), файла ресурсов (RES-файл), файла описания формы (DFM-файл), файла модуля формы, в котором находятся основной код приложения, в том числе функции обработки событий на компонентах формы (PAS-файл), файл конфигурации (CFG-файл).

Чтобы сохранить проект, нужно из меню File выбрать команду Save Project As. Если проект еще ни разу не был сохранен, то Delphi сначала предложит сохранить модуль (содержимое окна редактора кода), поэтому на экране появится окно Save Unitl As. В этом окне надо выбрать папку, предназначенную для файлов проекта, и ввести имя модуля. После нажатия кнопки Сохранить, появляется следующее окно, в котором необходимо ввести имя файла проекта.

Обратите внимание на то, имена файлов модуля (pas-файл) и проекта (dpr-файл) должны быть разными. Имя генерируемого компилятором исполняемого файла совпадает с именем проекта. Поэтому файлу проекта следует присвоить такое имя, которое, по вашему мнению, должен иметь исполняемый файл программы, а файлу модуля — какое-либо другое имя, например, полученное путем добавления к имени файла проекта порядкового номера модуля.

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

После ввода текста функции обработки события и сохранения проекта можно из меню Project выбрать команду Compile и выполнить компиляцию. Процесс и результат компиляции отражаются в диалоговом окне Compiling. В это окно компилятор выводит ошибки (Errors), предупреждений (warnings) и подсказок (Hints). Сами сообщения об ошибках, предупреждения и подсказки отображаются в нижней части окна редактора кода.

Пробный запуск программы можно выполнить непосредственно из Delphi, не завершая работу со средой разработки. Для этого нужно из меню Run выбрать команду Run или щелкнуть на соответствующей кнопке панели инструментов Debug

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

Настройка приложения выполняется на вкладке Application диалогового окна Project Options, которое появляется в результате выбора из меню Project команды Options.

В поле Title надо ввести название приложения. Текст, который будет введен в это поле, будет выведен на панели задач Windows, рядом со значком, изображающим работающую программу.

Чтобы назначить приложению значок, отличный от стандартного, нужно щелкнуть мышью на кнопке Load Icon. Затем, используя стандартное окно просмотра папок, найти подходящий значок (значки хранятся в файлах с расширением ico).

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

Программы, которые используют библиотеки, драйверы и другие программные компоненты, например, компоненты доступа к базам данных, перенести на другой компьютер вручную проблематично. Для таких программ лучше создать установочный диск (CD-ROM). Сделать это можно, например, при помощи пакета InstallShield Express, который входит в комплект поставки Delphi.

Вот так я создавал программу вычисления стоимости пиломатериалов.

А домик вот он:

Прочитано 80 раз

Добавить комментарий


Защитный код
Обновить