7. Текст программы с пояснениями
unit Unit1; //Имя программы//
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, jpeg, ExtCtrls, ComCtrls;
//Создание графического интерфейса//
type
TForm1 = class(TForm) //экран приложения//
//Строки в которые пользователь вводит информацию//
Edit1: TEdit; //Фио//
Edit2: TEdit; //Адрес //
Edit3: TEdit; //дата //
Edit4: TEdit;//Тариф (цена за кВ)//
Edit5: TEdit;//начисленно//
Edit6: TEdit;//долг//
Edit7: TEdit;//заранее оплачено//
Label1: TLabel;//Надписи-метки//
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Button1: TButton;//Кнопка РАСЧИТАТЬ//
MonthCalendar1: TMonthCalendar; //календарь (для удобства пользователя)//
Image1: TImage; //Картинка (фон)//
Label8: TLabel;
Label9: TLabel;
Label10: TLabel;
Button2: TButton; //Кнопка Автор//
Image2: TImage;//картинка - бланк//
Label11: TLabel;
Label12: TLabel;
Label13: TLabel;
Label14: TLabel;
Label15: TLabel;
Label16: TLabel;
Label17: TLabel;
Label18: TLabel;
Label19: TLabel;
Button3: TButton; //Кнопка Бланк//
Button4: TButton;//Кнопка скрыть//
//описание процедур//
//процедуры КНОПКА НАЖАТЬ//
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
//Описание процедуры НАЖАТЬ НОПКА 1 (РАСЧИТАТЬ)//
procedure TForm1.Button1Click(Sender: TObject);
//Описание переменных//
var
a: Real48;
b: Real48;
c: Real48;
d: Real48;
rez:Real48;
begin
//Присваиваем переменным значения введенные пользователем в строки //
a:= StrToFloat(Edit4.Text); //переводим строчные переменные в вещественные для дальнейших вычислений.//
b:= StrToFloat(Edit5.Text);
c:= StrToFloat(Edit6.Text);
d:= StrToFloat(Edit7.Text);
rez := (a*b)+c-d;
//вывод сообщения с результатом //
ShowMessage('Уважаемый '+Edit1.Text+#13+'Проживающий по адресу '+Edit2.Text+#13+
'Сообщаем вам что на '+Edit3.Text+#13+'вы должны '+
FloatToStrF(rez,ffFixed,90,2)+' рублей'+#13+'за используемую вами электроэнергию.');
//Создание так называемой «системы оценки». Это так называемый Easter egg программы – в зависимости от полученной суммы программа будет выводить различные сообщения (используется оператор УСЛОВИЕ)//
If rez<10 then begin label9.Caption :='Так мало... Вы как так умудрились?';end;
If rez>10 then begin label9.Caption :='Вы счастливчик !!! Это совсем немного';end;
If rez=0 then begin label9.Caption :='Поздравляю вы не должны ни копейки'; end;
If rez<0 then begin label9.Caption :='Вы жулик !!! это невозможно'; end;
If rez>500 then begin label9.Caption :='Хм... немало... но терпимо'; end;
If rez>1000 then begin label9.Caption :='Ого... многовато'; end;
If rez>5000 then begin label10.Caption :='Быстро выключайте все !!! Уже и так света понажгли !!!'; end;
If rez>10000 then begin label9.Caption :='Вам капец...'; end;
If rez>50000 then begin label9.Caption :='Сдается мне вы юморист...'; end;
If rez>1000000 then begin label9.Caption :='Хватит прикалываться !!!'; end;
end;
//Описание процедуры КНОПКА 2 НАЖАТЬ (АВТОР)//
procedure TForm1.Button2Click(Sender: TObject);
begin
//Вывод сообщения об авторстве//
ShowMessage('Автор и разработчик данной программы: '+#13+'Оробец Максим Сергеевич НИЭИ ДВГТУ Группа 8221 2 курс '+#13+'Программа написана на Delphi 7.Код программы мой на 100 %'+#13+'Надеюсь вам понравилось');
end;
//Описание процедуры НАЖАТЬ НОПКА 3 (бланк)//
//перед выводом бланка программа предворительно рассчитывает данные используя алгоритм приведенный выше но вместо вывода сообщения «выводит» бланк//
procedure TForm1.Button3Click(Sender: TObject);
//Предыдущий алгоритм расчета и оценки//
var
a: Real48;
b: Real48;
c: Real48;
d: Real48;
rez:Real48;
begin
a:= StrToFloat(Edit4.Text);
b:= StrToFloat(Edit5.Text);
c:= StrToFloat(Edit6.Text);
d:= StrToFloat(Edit7.Text);
rez := (a*b)+c-d;
If rez<10 then begin label9.Caption :='Так мало... Вы как так умудрились?';end;
If rez>10 then begin label9.Caption :='Вы счастливчик !!! Это совсем немного';end;
If rez=0 then begin label9.Caption :='Поздравляю вы не должны ни копейки'; end;
If rez<0 then begin label9.Caption :='Вы жулик !!! это невозможно'; end;
If rez>500 then begin label9.Caption :='Хм... немало... но терпимо'; end;
If rez>1000 then begin label9.Caption :='Ого... многовато'; end;
If rez>5000 then begin label10.Caption :='Быстро выключайте все !!! Уже и так света понажгли !!!'; end;
If rez>10000 then begin label9.Caption :='Вам капец...'; end;
If rez>50000 then begin label9.Caption :='Сдается мне вы юморист...'; end;
If rez>1000000 then begin label9.Caption :='Хватит прикалываться !!!'; end;
//По сути так называемый «вывод» бланка представляет собой выведенную картинку таблицы (заранее заготовлена в Excel) где не указанны числа и слова с соответственных графах. На их местах стоят метки заголовки которых меняются на результаты расчетов. Изначально параметр Visible (видимость) этой картинки и Label – ов поставлен на False. А также размер программы подогнан так что пользователь не видит их, но по нажатию кнопки после выполнения расчетов размер программы меняется так, чтобы бланк и Label-ы были видны и их параметр visible меняется на false. Также параметр visible меняется у button 3 (бланк) и button 4 (скрыть) так что в результате кнопка БЛАНК исчезает и на ее месте появляется кнопка СКРЫТЬ//
//Присваивание//
label11.Caption :=Edit3.Text;
label13.Caption :=Edit1.Text;
label14.Caption :=Edit2.Text;
label15.Caption :=FloatToStrF(rez,ffFixed,90,2);
label16.Caption :=Edit7.Text;
label17.Caption :=Edit6.Text;
label18.Caption :=Edit5.Text;
label19.Caption :=Edit4.Text;
//включение видимости изображения бланка и меток-надписей//
image2.Visible:=true;
label19.Visible:=true;
label18.Visible:=true;
label17.Visible:=true;
label16.Visible:=true;
label15.Visible:=true;
label14.Visible:=true;
label13.Visible:=true;
label12.Visible:=true;
label11.Visible:=true;
//Изменение размера программы//
Form1.height:=593;
//Изменение видимости кнопок//
Button3.Visible:=false;
Button4.Visible:=true;
end;
//Описание процедуры НАЖАТЬ НОПКА 4 (СКРЫТЬ)//
//Меняет размер окна программы так чтобы изображение бланка не было видно и после убирает кнопку СКРЫТЬ а на ее место возвращате кнопку БЛАНК чтобы пользователь мог повторить действие //
procedure TForm1.Button4Click(Sender: TObject);
begin
//Изменение размера//
Form1.height:=490;
//Настройка видимости кнопок//
Button4.Visible:=false;
Button3.Visible:=true;
end;
//Конец программы//
end.
Заключение
Результатом выполнения курсовой работы является программа «Миниэлектрик V 1.0.exe», разработанная в среде Delphi 7.
Выполняя курсовую работу я научился пользоваться средой программирования Delphi 7, освоил работу с графическим интерфейсом и научился его создавать, нашел большие различия между средами Pascal и Delphi 7 и некоторые сходства, получил новые теоретические и практические знания по программированию в новой на тот момент (ни разу до этого момента не работал с delphi 7) для меня средой программирования которой теперь с удовольствием пользуюсь и для других целей.
Список использованной литературы
1. Самоучитель по Delphi 7 для начинающих (Электронный .chm учебник).
... высокодоходный объект недвижимости, что объясняется удачным расположением в городе, хорошей планировкой и малым сроком эксплуатации. 2. Управление универсамом «Заря» 2.1 Управление техническим обслуживанием и эксплуатацией универсама Разработка требований к персоналу заключается в формировании представлений о качественных характеристиках персонала (способностях, мотивациях, квалификации) ...
... и потребителей 5) Снижение конкуренции на данном рынке. 2. Разработка базовых составляющих технологии обоснования тарифа на товарную услугу естественной монополии 2.1 Разработка требований к технологии обоснования тарифа на услугу предприятия естественной монополии Антимонопольное регулирование является важным инструментом защиты конкуренции, оно обеспечивает непосредственное и ...
... будут являться: развитие жилищной сферы, улучшение экологической обстановки, и улучшение городской инфраструктуры, 3 Опыт и реализация стратегии социально-экономического развития муниципального образования 3.1 Применение стратегического планирования в развитии муниципального образования в Российской Федерации Российские города начали активно заниматься вопросами собственного социально- ...
... -2204,75 -1681,73 2509,28 6502,36 11489,21 Для определения результативности деятельности предприятия в рамках инвестиционного проекта необходимо рассчитать следующие показатели: · рентабельность продукции рассчитывается как отношение чистой прибыли к выручке от реализации; · рентабельность издержек определяется как отношение чистой прибыли к затратам на производство продукции; · ...
0 комментариев