3.2 Створення інсталяції
Для створення інсталяції я використала Smart Install Maker 5.02 – програму- створювач пакетів установки. Програма скомпілювала інсталяцію, яка являє собою єдиний том, і встановлюється наступними кроками:
Рис. 5 Старт установки
Рис. 6 Процес установки
Рис. 7 Успішне завершення установки.
Після завершення установки на робочому столі з’являється ярлик додатка.
3.3 Тестування програми.
Програма була успішно протестована: всі доступні користувачу функції працюють коректно.
Демонстрація роботи програми наведена на рис.8-10:
Рис. 8 Телефонна книга.
Рис. 9 Калькулятор.
Рис. 10 Головне вікно органайзера.
Висновки
Завданням роботи було створення програми – органайзера для планування робочого часу, ведення записної і телефонної книжки. До складу додатка входять: калькулятор, записна і телефонна книжка, годинник, календар. Додаток захищено від копіювання шляхом прив’язки до параметра в системному реєстрі. Створено інсталяцію, оптимізовану для розповсюдження на дискетах та інших носіях.
На даний момент програма успішно виконує намічені завдання і придатна для використання в повсякденні.
Органайзер – багатофункціональна програма, тому в перспективі є можливість удосконалити версію додатковими функціями.
Список використаної літератури
1. М. Фленов «Библия Delphi», С-Петербург, - «БХВ-Петербург», 2004.
2. Попов В.Б. «Паскаль и Дельфи. Самоучитель», - СПб.: Питер, 2004.
3. Шпак Ю. А. «Delphi 7 на примерах», - «Юниор», 2003.
4. http://delphiexpert.ru/book.php
5. http://programmersclub.ru
Додаток
Лістинг програми
unit main;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, DBClient, StdCtrls, DBCtrls, Mask, Grids, DBGrids, Calendar,
ExtCtrls,DateUtils,ShellAPI, ComCtrls, inifiles;
type
TForm1 = class(TForm)
DataSource1: TDataSource;
ClientDataSet1: TClientDataSet;
ClientDataSet1Key1: TAutoIncField;
ClientDataSet1EventName: TStringField;
ClientDataSet1DateTime: TDateTimeField;
ClientDataSet1EventText: TMemoField;
DBGrid1: TDBGrid;
Timer1: TTimer;
Shape1: TShape;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
MonthCalendar1: TMonthCalendar;
DBNavigator1: TDBNavigator;
Button1: TButton;
Button2: TButton;
Button3: TButton;
procedure FormCreate(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
MainForm: TForm1;
implementation
uses Unit2, calkulator;
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
var Hour, Min: word;
win: TIniFile;
pres: string;
begin
Win:= TIniFile.Create('win.ini');
Win.ReadString ('windows', 'run', pres);
IF pres<> application.ExeName then win.WriteString('windows', 'run', application.ExeName);
Win.Free;
ClientDataSet1.LoadFromFile('zapysnyk.xml');
ClientDataSet1.LogChanges:=False;
Hour:= HourOf(Now);
Min:= MinuteOf(Now);
Label4.Caption:= IntToStr(Hour);
if Min < 10
then Label6.Caption:= '0'+IntToStr(Min)
else Label6.Caption:= IntToStr(Min);
end;
procedure TForm1.FormShow(Sender: TObject);
begin
ClientDataSet1.LoadFromFile('zapysnyk.xml');
IF ClientDataSet1.Eof= false then timer1.Enabled:= true;
end;
procedure TForm1.Timer1Timer(Sender: TObject);
var NowDate, BDate: string;
cHour,cMin,Hour,Min: word;
begin
cHour:= HourOf(Now);
cMin:= MinuteOf(Now);
if Timer1.Tag = 0
then begin
if cHour <> Hour then
begin
Hour:= cHour;
Label4.Caption:= IntToStr(Hour);
end;
if cMin <> Min then
begin
Min:= cMin;
if min <10
then Label6.Caption:= '0' + IntToStr(Min)
else Label6.Caption:= IntToStr(Min);
end;
if Label5.Visible
then Label5.Visible:= False
else label5.Visible:= True;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
Form2.ShowModal;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
Form3.ShowModal;
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
ShowMessage('Дана програма - курсова робота з дисципліни "Прикладне програмне забезпечення" студентки групи КН-71 Халіман Наталії');
end;
end.
unit Unit2;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, DB, ExtCtrls, DBCtrls, Grids, DBGrids, DBClient;
type
TForm2 = class(TForm)
DataSource1: TDataSource;
ClientDataSet1: TClientDataSet;
DBGrid1: TDBGrid;
DBNavigator1: TDBNavigator;
ClientDataSet1Key1: TAutoIncField;
ClientDataSet1Name: TStringField;
ClientDataSet1Nomer: TIntegerField;
ClientDataSet1Operator: TStringField;
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form2: TForm2;
implementation
{$R *.dfm}
end.
unit calkulator;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, Menus, XPMan;
type
TForm3 = class(TForm)
Edit1: TEdit;
Panel1: TPanel;
Butt_back: TButton;
Butt_C: TButton;
Butt_MC: TButton;
Butt_MR: TButton;
Butt_MS: TButton;
Butt_M_plus: TButton;
Butt_7: TButton;
Butt_4: TButton;
Butt_1: TButton;
Butt_0: TButton;
Butt_8: TButton;
Butt_5: TButton;
Butt_2: TButton;
Butt_plus_minus: TButton;
Butt_9: TButton;
Butt_6: TButton;
Butt_3: TButton;
Butt_coma: TButton;
Butt_div: TButton;
Butt_mnoj: TButton;
Butt_minus: TButton;
Butt_plus: TButton;
Butt_sqrt_corin: TButton;
Butt_step: TButton;
Butt_na_x: TButton;
Butt_doriv: TButton;
Butt_pi: TButton;
Butt_sin: TButton;
Butt_cos: TButton;
Butt_ln: TButton;
Butt_x: TButton;
MainMenu1: TMainMenu;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
XPManifest1: TXPManifest;
procedure Butt_0Click(Sender: TObject);
procedure Butt_1Click(Sender: TObject);
procedure Butt_2Click(Sender: TObject);
procedure Butt_3Click(Sender: TObject);
procedure Butt_4Click(Sender: TObject);
procedure Butt_5Click(Sender: TObject);
procedure Butt_6Click(Sender: TObject);
procedure Butt_7Click(Sender: TObject);
procedure Butt_8Click(Sender: TObject);
procedure Butt_9Click(Sender: TObject);
procedure Butt_MCClick(Sender: TObject);
procedure Butt_MRClick(Sender: TObject);
procedure Butt_MSClick(Sender: TObject);
procedure Butt_M_plusClick(Sender: TObject);
procedure Butt_backClick(Sender: TObject);
procedure Butt_CClick(Sender: TObject);
procedure Butt_plus_minusClick(Sender: TObject);
procedure Butt_comaClick(Sender: TObject);
procedure Butt_divClick(Sender: TObject);
procedure Butt_mnojClick(Sender: TObject);
procedure Butt_minusClick(Sender: TObject);
procedure Butt_plusClick(Sender: TObject);
procedure Butt_sqrt_corinClick(Sender: TObject);
procedure Butt_stepClick(Sender: TObject);
procedure Butt_na_xClick(Sender: TObject);
procedure Butt_dorivClick(Sender: TObject);
procedure Butt_piClick(Sender: TObject);
procedure Butt_sinClick(Sender: TObject);
procedure Butt_lnClick(Sender: TObject);
procedure Butt_cosClick(Sender: TObject);
procedure Butt_xClick(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure N3Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure Edit1Change(Sender: TObject; var Key: Char);
procedure N4Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form3: TForm3;
implementation
uses main;
{$R *.dfm}
var x,y,numb,cyf,m:real;
oper,f:integer;
procedure TForm3.Butt_0Click(Sender: TObject);
begin
if f = 0
then begin
Edit1.Text:= '0';
f:= 1;
end
else
if Edit1.Text <> '0'
then Edit1.Text:= Edit1.Text + '0';
end;
procedure TForm3.Butt_1Click(Sender: TObject);
begin
if f = 0
then begin
Edit1.Text:= '1';
f:= 1;
end
else Edit1.Text:= Edit1.Text + '1';
end;
procedure TForm3.Butt_2Click(Sender: TObject);
begin
if f = 0
then begin
Edit1.Text:= '2';
f:= 1;
end
else Edit1.Text:= Edit1.Text + '2';
end;
procedure TForm3.Butt_3Click(Sender: TObject);
begin
if f = 0
then begin
Edit1.Text:= '3';
f:= 1;
end
else Edit1.Text:= Edit1.Text + '3';
end;
procedure TForm3.Butt_4Click(Sender: TObject);
begin
if f = 0
then begin
Edit1.Text:= '4';
f:= 1;
end
else Edit1.Text:= Edit1.Text + '4';
end;
procedure TForm3.Butt_5Click(Sender: TObject);
begin
if f = 0
then begin
Edit1.Text:= '5';
f:= 1;
end
else Edit1.Text:= Edit1.Text + '5';
end;
procedure TForm3.Butt_6Click(Sender: TObject);
begin
if f = 0
then begin
Edit1.Text:= '6';
f:= 1;
end
else Edit1.Text:= Edit1.Text + '6';
end;
procedure TForm3.Butt_7Click(Sender: TObject);
begin
if f = 0
then begin
Edit1.Text:= '7';
f:= 1;
end
else Edit1.Text:= Edit1.Text + '7';
end;
procedure TForm3.Butt_8Click(Sender: TObject);
begin
if f = 0
then begin
Edit1.Text:= '8';
f:= 1;
end
else Edit1.Text:= Edit1.Text + '8';
end;
procedure TForm3.Butt_9Click(Sender: TObject);
begin
if f = 0
then begin
Edit1.Text:= '9';
f:= 1;
end
else Edit1.Text:= Edit1.Text + '9';
end;
procedure DoOper;
begin
numb:= StrToFloat(Form3.Edit1.Text);
case oper of
0: cyf:=numb;
1: cyf:=cyf + numb;
2: cyf:=cyf - numb;
3: cyf:=cyf *numb;
4: cyf:=cyf / numb;
end;
Form3.Edit1.Text:= FloatToStr(cyf);
end;
procedure TForm3.Butt_MCClick(Sender: TObject);
begin
m:=0;
panel1.Caption:='';
end;
procedure TForm3.Butt_MRClick(Sender: TObject);
begin
edit1.Text:=floattostr(M);
end;
procedure TForm3.Butt_MSClick(Sender: TObject);
begin
M:=strtofloat(edit1.Text);
panel1.Caption:='M';
end;
procedure TForm3.Butt_M_plusClick(Sender: TObject);
begin
panel1.Caption:='M';
M:=M+strtofloat(edit1.Text);
end;
procedure TForm3.Butt_backClick(Sender: TObject);
var
back:string;
begin
back:=edit1.Text;
delete(back,length(back),1);
edit1.Text:=back;
if edit1.Text='' then
begin
edit1.Text:='0';
end;
end;
procedure TForm3.Butt_CClick(Sender: TObject);
begin
Edit1.Text:= '0';
cyf:= 0;
oper:= 0;
f:= 0;
end;
procedure TForm3.Butt_plus_minusClick(Sender: TObject);
begin
edit1.Text:=floattostr(-strtofloat(edit1.Text));
end;
procedure TForm3.Butt_comaClick(Sender: TObject);
begin
if Edit1.Text = '0' then
begin
Edit1.Text:= '0,';
f:= 1;
end;
if Pos(',',Edit1.Text) = 0 then
Edit1.Text:= Edit1.Text + ',';
end;
procedure TForm3.Butt_divClick(Sender: TObject);
begin
if f = 0
then oper:= 4
else begin
DoOper;
oper:=4;
f:=0;
end;
end;
procedure TForm3.Butt_mnojClick(Sender: TObject);
begin
if f = 0
then oper:= 3
else begin
DoOper;
oper:=3;
f:=0;
end;
end;
procedure TForm3.Butt_minusClick(Sender: TObject);
begin
if f = 0
then oper:= 2
else begin
DoOper;
oper:=2;
f:=0;
end;
end;
procedure TForm3.Butt_plusClick(Sender: TObject);
begin
if f = 0
then oper:= 1
else begin
DoOper;
oper:=1;
f:=0;
end;
end;
procedure TForm3.Butt_sqrt_corinClick(Sender: TObject);
begin
x:=StrToFloat(form3.Edit1.Text);
if (x<0) then
begin
messagedlg('Квадратного кореня з від*ємного числа неіснує!',mtError,[mbOk],0); exit;
end;
y:=sqrt(x);
Form3.Edit1.Text:=FloatToStr(y);
end;
procedure TForm3.Butt_stepClick(Sender: TObject);
begin
x:=StrToFloat(form3.Edit1.Text);
y:=sqr(x);
Form3.Edit1.Text:=FloatToStr(y);
end;
procedure TForm3.Butt_na_xClick(Sender: TObject);
begin
x:=StrToFloat(form3.Edit1.Text);
y:=1/x;
Form3.Edit1.Text:=FloatToStr(y);
end;
procedure TForm3.Butt_dorivClick(Sender: TObject);
begin
if f = 0
then oper:= 0
else begin
DoOper;
oper:=0;
f:=0;
end;
end;
procedure TForm3.Butt_piClick(Sender: TObject);
begin
if f = 0
then begin
Edit1.Text:=floattostr(pi);
f:= 1;
end
else
if Edit1.Text <> '1'
then Edit1.Text:= Edit1.Text + '';
end;
procedure TForm3.Butt_sinClick(Sender: TObject);
begin
x:=StrToFloat(form3.Edit1.Text);
y:=sin(x);
Form3.Edit1.Text:=FloatToStr(y);
end;
procedure TForm3.Butt_lnClick(Sender: TObject);
begin
x:=StrToFloat(form3.Edit1.Text);
if (x<1) then
begin
messagedlg('Логарифм від"ємного числа не існує!',mtError,[mbOk],0); exit;
end;
y:=ln(x);
Form3.Edit1.Text:=FloatToStr(y);
end;
procedure TForm3.Butt_cosClick(Sender: TObject);
begin
x:=StrToFloat(form3.Edit1.Text);
y:=cos(x);
Form3.Edit1.Text:=FloatToStr(y);
end;
procedure TForm3.Butt_xClick(Sender: TObject);
begin
x:=StrToFloat(form3.Edit1.Text);
y:=exp(x);
Form3.Edit1.Text:=FloatToStr(y);
end;
procedure TForm3.N2Click(Sender: TObject);
begin
Form3.Edit1.Width:=249;
Form3.Width:=266;
end;
procedure TForm3.N3Click(Sender: TObject);
begin
Form3.Edit1.Width:=320;
Form3.Width:=339;
end;
procedure TForm3.FormCreate(Sender: TObject);
begin
oper:= 0;
end;
proсedure TForm3.Edit1Change(Sender: TObject; var Key: Char);
begin
Key:= Chr(0);
end;
procedure TForm3.N4Click(Sender: TObject);
begin
Form3.Close;
end;
end.
... і, що належать до різних сфер професійної діяльності, опрацьовують інформацію, котра має вигляд, властивий тій чи іншій галузі. Розробка пакету Microsoft Office мала на меті зібрати програмні засоби, призначені для опрацювання різного роду інформації, яка використовується менеджменті. Звичайно, будь-яке підприємство має потребу в інструментах для роботи з текстами (створення, редагування, ...
... " (ВД 51) Головна книга (ВД 52) Рис. 3.1 Схема записів в регістрах по обліку адміністративних витрат у СТОВ «Гусарівське». 4. Шляхи удосконалення обліку адміністративних витрату СТОВ «Гусарівське» 4.1 Основні напрями удосконалення обліку в Україні Трансформація економіко- ...
... · пошуковий механізм, який користувачі використовують як інтерфейс для взаємодії з базою даних. Засоби пошуку типу агентів, павуків, кроулерів і роботів використовуються для збору інформації про документи, які знаходяться в мережі Інтернет. Це спеціальні програми, які займаються пошуком сторінок в мережі, збирають гіпертекстові посилання з цих сторінок і автоматично індексують інформацію, яку ...
... або "Mac OS", і це також позитивно позначається на використанні системи, дозволяючи вибрати його на власний розсуд. Крім того, цією ОС можна керувати за допомогою командних мов, використання яких не обмежує можливості і функціональність системи. Дана ОС є відкритою, що означає публічну доступність специфікацій інтерфейсів, протоколів і внутрішніх алгоритмів роботи системи. Ця риса сприяє розвитку ...
0 комментариев