Chart - этот компонент позволяет строить различные диаграммы и графики, которые выглядят очень эффектно.
2.3 Основные процедуры и функции
В среде программирования Delphi для записи программ используется язык программирования Delphi. Программа на Delphi представляет собой последовательность инструкций, которые довольно часто называют операторами. Одна инструкция от другой отделяется точкой с запятой.
Каждая инструкция состоит из идентификаторов. Идентификатор может обозначать:
Инструкцию языка (:=, if, while, for);
-переменную;
-константу (целое или дробное число);
-арифметическую (+, -,*,/) или логическую (and, or, not) операцию;
-подпрограмму (процедуру или функцию);
-отмечать начало (procedure, function) или конец (end) подпрограммы ИЛИ блока (begin, end).
На первом этапе создания программы программист должен определить последовательность действий, которые необходимо выполнить, чтобы решить поставленную задачу, т. е. разработать алгоритм. Алгоритм — это точное предписание, определяющее процесс перехода от исходных данных к результату. Алгоритм решения задачи может быть представлен в виде словесного описания или графически — в виде блок-схемы. (см. Рисунок 3).
Рисунок. 3. Блок-схема
Программа, представленная в виде инструкций языка программирования, называется исходной программой. Она состоит из инструкций, понятных человеку, но не понятных процессору компьютера. Чтобы процессор смог выполнить работу в соответствии с инструкциями исходной программы, исходная программа должна быть переведена на машинный язык — язык команд процессора. Задачу преобразования исходной программы в машинный код выполняет специальная программа — компилятор. Он выполняет последовательно две задачи:
1. Проверяет текст исходной программы на отсутствие синтаксических ошибок.
2. Создает (генерирует) исполняемую программу — машинный код.
Следует отметить, что генерация исполняемой программы происходит только в том случае, если в тексте исходной программы нет синтаксических ошибок.
Генерация машинного кода компилятором свидетельствует лишь о том, что в тексте программы нет синтаксических ошибок. Убедиться, что программа работает правильно можно только в процессе ее тестирования — пробных запусках программы и анализе полученных результатов. Например, если в программе вычисления корней квадратного уравнения допущена ошибка в выражении (формуле) вычисления дискриминанта, то, даже если это выражение будет синтаксически верно, программа выдаст неверные значения корней.
При программировании в Delphi работа программиста заключается в основном в разработке процедур (подпрограмм) обработки событий.
При возникновении события автоматически запускается процедура обработки события, которую и должен написать программист. Задачу вызова процедуры обработки при возникновении соответствующего события берет на себя Delphi.
Процедура начинается с заголовка, за которым следуют:
-подраздел объявления констант;
-раздел объявления типов;
-раздел объявления переменных;
-раздел инструкций.
В общем виде процедура выглядит так:
procedure Имя (СписокПараметров);
const // здесь объявления констант
type
// здесь объявления типов var
// здесь объявления переменных
begin
// здесь инструкции программы
end;
Заголовок процедуры состоит из слова procedure, за которым следует имя процедуры, которое используется для вызова процедуры, активизации ее выполнения. Если у процедуры есть параметры, то они указываются после имени процедуры, в скобках. Завершается заголовок процедуры символом "точка с запятой".
Если в процедуре используются именованные константы, то они объявляются в разделе объявления констант, который начинается словом const.
За разделом констант следует раздел объявления типов, начинающийся, словом type.
После раздела объявления типов идет раздел объявления переменных, в котором объявляются (перечисляются) все переменные, используемые в программе. Раздел объявления переменных начинается, словом var.
За разделом объявления переменных расположен раздел инструкций. Раздел инструкций начинается словом begin и заканчивается словом end, за которым следует символ "точка с запятой". В разделе инструкций находятся исполняемые инструкции процедуры.
Окна сообщений используются для привлечения внимания пользователя. При помощи окна сообщения программа может, к примеру, проинформировать об ошибке в исходных данных или запросить подтверждение выполнения необратимой операции, например, удаления файла.
Вывести на экран окно с сообщением можно при помощи процедуры ShowMessage или функции MessageDlg.
Процедура ShowMessage выводит на экран окно с текстом и командной кнопкой ОК.
В общем виде инструкция вызова процедуры ShowMessage выглядит так:
ShowMessage(Сообщение);
где сообщение — текст, который будет выведен в окне.
На (Рисунок 4) приведен вид окна сообщения, полученного в результате выполнения инструкции:
ShowMessage(‘Заполните все поля’ );
Рисунок 4. Пример окна сообщения
Инструкция if позволяет выбрать один из двух возможных вариантов развития программы. Выбор осуществляется в зависимости от выполнения условия.
В общем виде инструкция if записывается так:
if условие then
begin
// здесь инструкции, которые надо выполнить,
// если условие истинно.
end
else
begin
// здесь инструкции, которые надо выполнить, // если условие ложно. end;
Обратите внимание, что перед else (после end) точка с запятой не ставится.
Выполняется инструкция if следующим образом:
1. Вычисляется значение условия (условие — выражение логического типа, значение которого может быть равно True или False).
2. Если условие истинно (значение выражения условие равно True), то выполняются инструкции, следующие за словом then (между begin и end). На этом выполнение операции if заканчивается, то есть инструкции, следующие за else, не будут выполнены.
Если условие ложно (значение выражения условие равно False), то выполняются инструкции, следующие за словом else (между begin и end).
Перед завершением работы программа должна закрыть все открытые файлы. Это делается вызовом процедуры close. Процедура close имеет один параметр — имя файловой переменной. Примериспользованияпроцедуры:
Close(f).
procedure TF2.Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
Image2.Visible:=true;
end;
procedure TF2.Image2Click(Sender: TObject);
var j,i,f,ow,e,a:integer;
z,x,c,v,m,l,k,s,q,w,r,t:real;
begin
if f1.sg1.Cells[a,b]='Êàìàç' then
begin
f1.ComboBox1.Text:='Êàìàç';
f1.E1.Text:='1500' ;
f1.E2.Text:='30' ;
f1.E3.Text:='800' ;
f1.E4.Text:='1000';
end;
begin
if f1.sg1.Cells[a,b]='Çèë' then
begin
f1.ComboBox1.Text:='Çèë';
f1.E1.Text:='1300' ;
f1.E2.Text:='15' ;
f1.E3.Text:='800' ;
f1.E4.Text:='1000';
end;
begin
if f1.sg1.Cells[a,b]='Ãàç' then
begin
f1.ComboBox1.Text:='Ãàç';
f1.E1.Text:='1200' ;
f1.E2.Text:='10' ;
f1.E3.Text:='800' ;
f1.E4.Text:='1000';
end;
begin
if f1.sg1.Cells[a,b]='Ãàçåëü' then
begin
f1.ComboBox1.Text:='Ãàçåëü';
f1.E1.Text:='1000' ;
f1.E2.Text:='2' ;
f1.E3.Text:='800' ;
f1.E4.Text:='1000';
end;
begin
if f1.sg1.Cells[a,b]='Ïèêàï' then
begin
f1.ComboBox1.Text:='Ïèêàï';
f1.E1.Text:='900' ;
f1.E2.Text:='1' ;
f1.E3.Text:='800' ;
f1.E4.Text:='1000';
end;
end;
end;
end;
end;
If (ComboBox1.Text='')
or (edit2.Text='')
or (edit3.Text='')
then ShowMessage('Çàïîëíèòå âñå ïîëÿ')
else begin
f1.sg1.Cells[1,b]:= ComboBox1.Text;
f1.sg1.Cells[2,b]:= edit2.Text;;
f1.sg1.Cells[3,b]:= edit3.Text;
f1.SG1.RowCount:= f1.SG1.RowCount + 1;
f1.Button3.Enabled:=true;
f1.Button1.Enabled:=true;
end;
CLOSE;
end;
3 Руководство пользователя
Для запуска программы достаточно открыть AUTO.exe (см. Рисунок. 4 )
Рисунок 4. Основная форма
Для заполнения таблицы необходимо щелкнуть по зеленому крестику (Рисунок.5)
Рисунок 5 Кнопка добавить
после чего появится окно (Рисунок 6) в которой можно выбрать тип автомобиля
Рисунок 6 Окно добавления
Из выпадающего списка, и ввести данные о грузе массу и расстояние, на которое следует отвезти груз, после введения всех полей нажимаем большую синюю кнопку «ENTER», если были заполнены не все поля выйдет предупреждение о заполнении всех полей (Рисунок 7)
Рисунок 7 Окно предупреждения
Если же поля были заполнены правильно то окно закроется перейдя на главную форму и заполнит ячейки окна. (Рисунок 8)
Рисунок 8 Заполнение ячеек
После внесение данных в ячейки необходимо нажать на кнопку рассчитать (Рисунок 9)
Рисунок 9 Кнопка «Рассчитать»
После её нажатия заполнятся все остальные ячейки поля(Рисунок 10)
Рисунок 10 Заполнение ячеек расчетами
Число поездок рассчитывается по соотношения веса груза к грузоподъемности автомобиля, время по соотношения расстояния на среднюю скорость автомобиля которая равняется 50км/ч , ячейка пробег высчитывается произведением числа поездок на расстояние и умноженное на 2, зарплата высчитывается по времени затрачиваемого на путь доставки всего груза умноженного на цену работы одного часа водителем. Стоимость перевозок это сумма зарплаты и стоимости аренды самого автомобиля в час.