ВЫПУСКНАЯ КВАЛИФИКАЦИОННАЯ РАБОТА
____________________________________________________________
(Тема выпускной квалификационной работы)
____________________________________________________________
Автор ________________ _________ _______________
(Подпись) (Дата) (Фамилия, инициалы)
Руководитель ________________ _________ _______________
(Подпись) (Дата) (Фамилия, инициалы)
ВОРОНЕЖ – 2018 г.
Оглавление
Введение. 3
Постановка цели и задач. 4
Блок-схема. 39
Описание переменных и компонентов. 40
Отчет о тестировании. 41
Заключение. 42
Список литературы.. 43
Введение
Расчет зарплат в сфере услуг
Для осуществления планирования любой фирмы на любом этапе работы осуществляются некоторые расчеты для автоматизации, которых удобно применять вычислительную технику.
|
|
Основой для учета, контроля и планирования служат всевозможные картотеки, регистрационные журналы, списки и т.д. Они постепенно накапливаются и обновляются. При большом объеме информации поиск и обобщение необходимых сведений, осуществляемых вручную, представляют собой довольно трудоемкий процесс.
С появлением ЭВМ и использованием их для обработки информации появилась возможность автоматизировать решение многих информационно-справочных и расчетных задач.
Постепенно с развитием программного обеспечения ЭВМ появились идеи создания управляющих систем, которые позволяли бы накапливать, хранить и обновлять взаимосвязанные данные по целому комплексу решаемых задач, например при автоматизации бухгалтерского учета, на предприятии. Эти идеи нашли свое воплощение в системах управления базами данных (СУБД). С появлением персональных компьютеров, СУБД становится наиболее популярным средством обработки табличной информации. Они являются инструментальным средством проектирования банков данных при обработке больших объемов информации
В сфере услуг работники часто получают оклад и проценты за каждый вид оказанных услуг. Справедливо распределить доход поможет эта программа.
Постановка цели и задач
Цель: Написать программу ''Подсчет недельной заработной платы’’
Задачи:
1. Разработать порядок действий
2. Собрать нужную информацию для создания и описания программы
3. Написать программу и пояснительную записку.
|
|
4. Исправить допущенные ошибки.
Текст программы
program Project1;
uses
Forms,
Unit1 in 'Unit1.pas' {Form1},
Unit2 in 'Unit2.pas' {Form2},
Unit3 in 'Unit3.pas' {OKBottomDlg},
Unit4 in 'Unit4.pas' {Form4},
Unit5 in 'Unit5.pas' {Form5},
Unit6 in 'Unit6.pas' {Form6},
Unit8 in 'Unit8.pas' {Form8},
Unit9 in 'Unit9.pas' {Form9},
Unit7 in 'Unit7.pas' {Form7},
Unit10 in 'Unit10.pas' {Form10},
Unit11 in 'Unit11.pas' {Form11},
Unit12 in 'Unit12.pas' {Form12},
Unit13 in 'Unit13.pas' {Form13};
{$R *.res}
begin
Application.Initialize;
Form6:= TForm6.Create(Application);
//Form6.Show;
//Form6.Update;
while Form6.Timer1.Enabled do
Application.ProcessMessages;
Application.CreateForm(TForm1, Form1);
Application.CreateForm(TForm8, Form8);
Application.CreateForm(TForm9, Form9);
Application.CreateForm(TForm7, Form7);
Application.CreateForm(TForm10, Form10);
Application.CreateForm(TForm11, Form11);
Application.CreateForm(TForm12, Form12);
Application.CreateForm(TForm13, Form13);
Form6.Hide;
Form6.Free;
Application.CreateForm(TForm2, Form2);
Application.CreateForm(TOKBottomDlg, OKBottomDlg);
Application.CreateForm(TForm4, Form4);
Application.CreateForm(TForm5, Form5);
//Application.CreateForm(TForm6, Form6);
Application.Run;
end.
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Menus, StdCtrls, Grids, ComCtrls, ToolWin, ImgList, AppEvnts,
ExtCtrls, XPMan, ShellApi, System.ImageList;
type
sport = record
fam,name,otch,datau,dolg,INN,Pens,DR,spas,Npas,vpas,city,str,dom,kv,tel,sem,dety:string[40];
end;
dengi=record
Fam:string[20];
Im:string[15];
ot:string[20];
kol_hour:string[10];
tarif:string[20];
end;
zap=record
sp:sport;
den:dengi;
end;
TForm1 = class(TForm)
MainMenu1: TMainMenu;
N1: TMenuItem;
PopupMenu1: TPopupMenu;
Button2: TButton;
Button3: TButton;
N10: TMenuItem;
N12: TMenuItem;
N13: TMenuItem;
N4: TMenuItem;
N14: TMenuItem;
N15: TMenuItem;
N16: TMenuItem;
N17: TMenuItem;
N18: TMenuItem;
N19: TMenuItem;
N20: TMenuItem;
N21: TMenuItem;
N22: TMenuItem;
Button1: TButton;
N23: TMenuItem;
ToolBarMenuItem: TMenuItem;
StatusBarMenuItem: TMenuItem;
N27: TMenuItem;
ToolBar1: TToolBar;
StatusBar1: TStatusBar;
Button5: TButton;
ImageList1: TImageList;
N11: TMenuItem;
OpenDialog1: TOpenDialog;
N24: TMenuItem;
ColorDialog1: TColorDialog;
DateTimePicker1: TDateTimePicker;
SaveDialog1: TSaveDialog;
PageControl1: TPageControl;
TabSheet1: TTabSheet;
StringGrid1: TStringGrid;
TabSheet2: TTabSheet;
StringGrid2: TStringGrid;
FontDialog1: TFontDialog;
N25: TMenuItem;
N26: TMenuItem;
N7: TMenuItem;
N8: TMenuItem;
N9: TMenuItem;
N28: TMenuItem;
N31: TMenuItem;
N30: TMenuItem;
ToolButton1: TToolButton;
ToolButton2: TToolButton;
ToolButton3: TToolButton;
ToolButton4: TToolButton;
ToolButton6: TToolButton;
ToolButton7: TToolButton;
ToolButton8: TToolButton;
ToolButton9: TToolButton;
ToolButton10: TToolButton;
N33: TMenuItem;
ApplicationEvents1: TApplicationEvents;
Timer1: TTimer;
Button6: TButton;
Label1: TLabel;
N32: TMenuItem;
XPManifest1: TXPManifest;
procedure FormShow(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure N5Click(Sender: TObject);
procedure N13Click(Sender: TObject);
procedure ToolBarMenuItemClick(Sender: TObject);
procedure StatusBarMenuItemClick(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure ToolButton7Click(Sender: TObject);
procedure N24Click(Sender: TObject);
procedure N11Click(Sender: TObject);
procedure N10Click(Sender: TObject);
procedure ToolButton8Click(Sender: TObject);
procedure ToolButton3Click(Sender: TObject);
procedure ToolButton2Click(Sender: TObject);
procedure N25Click(Sender: TObject);
procedure N26Click(Sender: TObject);
procedure N31Click(Sender: TObject);
procedure N30Click(Sender: TObject);
procedure ApplicationEvents1ActionExecute(Action: TBasicAction;
var Handled: Boolean);
procedure Timer1Timer(Sender: TObject);
procedure Button6Click(Sender: TObject);
procedure ToolButton11Click(Sender: TObject);
procedure ToolButton4Click(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure N12Click(Sender: TObject);
procedure ToolButton6Click(Sender: TObject);
procedure N9Click(Sender: TObject);
procedure ToolButton9Click(Sender: TObject);
procedure N33Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure ToolButton10Click(Sender: TObject);
procedure N6Click(Sender: TObject);
procedure ToolButton5Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
s:sport;
Form1: TForm1;
n:integer;
h:boolean;
implementation
uses Unit7, Unit2, Unit5, Unit4, Unit8, Unit9, Unit10, Unit11, Unit12,
Unit13;
{$R *.dfm}
procedure TForm1.FormShow(Sender: TObject);
begin
form7.ShowModal;
with form1.stringgrid1 do
begin
cells[0,0]:='Фамилия';
cells[1,0]:='Имя';
cells[2,0]:='Отчество';
cells[3,0]:='Кол-во отработанных ч. за нед.';
cells[4,0]:='Размер почасовой ставки';
end;
with form1.stringgrid2 do
begin
cells[0,0]:='Фамилия';
cells[1,0]:='Имя';
cells[2,0]:='Отчество';
cells[3,0]:='Дата устройства на работу';
cells[4,0]:='Занимаемая должность';
cells[5,0]:='ИНН';
cells[6,0]:='Пенсионный';
cells[7,0]:='Дата рождения';
cells[8,0]:='Серия паспорта';
cells[9,0]:='Номер паспорта';
cells[10,0]:='Кем выдан';
cells[11,0]:='Город';
cells[12,0]:='Улица';
cells[13,0]:='Дом';
cells[14,0]:='Квартира';
cells[15,0]:='Телефон';
cells[16,0]:='Семейное положение';
cells[17,0]:='Кол-во детей';
end;
end;
procedure TForm1.Button1Click(Sender: TObject);{прописана кнопка добавить в таб.1}
begin
form2.Show;
Form2.Button3.Visible:=false;
Form2.Button4.Visible:=false;
end;
procedure TForm1.N5Click(Sender: TObject); {о программе}
|
|
begin
Form5.Showmodal
end;
procedure TForm1.N13Click(Sender: TObject);{выход из программы}
begin
If Tag = 0 Then
Begin
ShowMessage('Вы действительно хотите выйти?');
Tag:=1;
Close;
end;
end;
procedure TForm1.ToolBarMenuItemClick(Sender: TObject);
begin
// Спрятать или показать панель инструментов
ToolBar1.Visible:= not ToolBar1.Visible;
ToolBarMenuItem.Checked:= not ToolBarMenuItem.Checked;
end;
procedure TForm1.StatusBarMenuItemClick(Sender: TObject);
begin
// Спрятать или показать строку состояния
StatusBar1.Visible:= not StatusBar1.Visible;
StatusBarMenuItem.Checked:= not StatusBarMenuItem.Checked;
end;
procedure TForm1.Button2Click(Sender: TObject); {подсчет суммы двух последних столбцов, зарплата}
var
i:integer;
begin
if form1.StringGrid1.Cells[0,1]<>'' then begin
for i:=1 to form9.stringgrid1.rowcount do
form9.StringGrid1.rows[i].Clear;
for i:=1 to form9.stringgrid1.rowcount-1 do begin
if form1.stringgrid1.Cells[0,i]='' then break;
form9.stringgrid1.Cells[0,i]:=form1.stringgrid1.Cells[0,i];
form9.stringgrid1.Cells[1,i]:=form1.stringgrid1.Cells[1,i];
form9.stringgrid1.Cells[2,i]:=form1.stringgrid1.Cells[2,i]; form9.stringgrid1.Cells[3,i]:=inttostr(strtoint(form1.stringgrid1.Cells[3,i])*strtoint(form1.stringgrid1.Cells[4,i]));
end; end;
form9.showmodal;
end;
procedure TForm1.Button3Click(Sender: TObject); {справкоа о сотруднике в виде анкеты}
begin
i:=form1.StringGrid2.Row;
with form1.StringGrid2 do begin
form4.Edit1.Text:=cells[0,i];
form4.Edit2.Text:=cells[1,i];
form4.Edit3.Text:=cells[2,i];
form4.Edit4.Text:=cells[3,i];
form4.Edit6.Text:=cells[4,i];
form4.Edit5.Text:=cells[5,i];
form4.Edit7.Text:=cells[6,i];
form4.Edit11.Text:=cells[7,i];
form4.Edit9.Text:=cells[9,i];
form4.Edit10.Text:=cells[10,i];
form4.Edit12.Text:=cells[11,i];
form4.Edit13.Text:=cells[12,i];
form4.Edit14.Text:=cells[13,i];
form4.Edit15.Text:=cells[14,i];
form4.Edit17.Text:=cells[15,i];
form4.Edit18.Text:=cells[16,i];
form4.Edit16.Text:=cells[17,i];
end;
form4.show;
end;
procedure TForm1.Button5Click(Sender: TObject); {вызов формы поиск по фамили}
begin
form8.ShowModal;
end;
procedure TForm1.ToolButton7Click(Sender: TObject); {прописана кнопка изменение фона}
begin
if ColorDialog1.Execute then
Form1.Color:= ColorDialog1.Color;
end;
procedure TForm1.N24Click(Sender: TObject);{смена пароля}
begin
form10.edit1.text:='';
Form10.show;
end;
procedure TForm1.N11Click(Sender: TObject); {сохранить файл}
var
FileOut:file of zap;
z:zap;
i, j:integer;
route:string;
s:sport;
begin
if SaveDialog1.Execute then
begin
route:= SaveDialog1.FileName;
assignfile(fileout,route);
rewrite(fileout);
if stringgrid1.rowcount>stringgrid2.rowcount then j:=stringgrid1.rowcount else j:=stringgrid2.rowcount;
with form1.stringgrid1 do
for i:=1 to j do
begin
if cells[0,i]<>'' then begin
z.den.fam:=cells[0,i];
z.den.im:=cells[1,i];
z.den.ot:=cells[2,i];
z.den.kol_hour:=cells[3,i];
z.den.tarif:=cells[4,i]; end else
begin
z.den.fam:='';
z.den.im:='';
z.den.ot:='';
z.den.kol_hour:='';
z.den.tarif:='';
end;
if i<=stringgrid2.RowCount then
with form1.StringGrid2 do
begin
|
|
z.sp.fam:=cells[0,i];
z.sp.name:=cells[1,i];
z.sp.otch:=cells[2,i];
z.sp.datau:=cells[3,i];
z.sp.dolg:=cells[4,i];
z.sp.INN:=cells[5,i];
z.sp.Pens:=cells[6,i];
z.sp.DR:=cells[7,i];
z.sp.spas:=cells[8,i];
z.sp.Npas:=cells[9,i];
z.sp.vpas:=cells[10,i];
z.sp.city:=cells[11,i];
z.sp.str:=cells[12,i];
z.sp.dom:=cells[13,i];
z.sp.kv:=cells[14,i];
z.sp.tel:=cells[15,i];
z.sp.sem:=cells[16,i];
z.sp.dety:=cells[17,i];
end else
begin
z.sp.fam:='';
z.sp.name:='';
z.sp.otch:='';
z.sp.datau:='';
z.sp.dolg:='';
z.sp.INN:='';
z.sp.Pens:='';
z.sp.DR:='';
z.sp.spas:='';
z.sp.Npas:='';
z.sp.vpas:='';
z.sp.city:='';
z.sp.str:='';
z.sp.dom:='';
z.sp.kv:='';
z.sp.sem:='';
z.sp.dety:='';
z.sp.tel:='';
end;
write(fileout,z);
end;
closefile(fileout);
end;
end;
procedure TForm1.N10Click(Sender: TObject); {открыть файл}
var
FileOut:file of zap;
z:zap;
i,j:integer;
route:string;
begin
if OpenDialog1.Execute then
begin
route:= OpenDialog1.FileName;
with stringgrid1 do
begin
for i:=1 to rowcount do
rows[i].Clear;
assignfile(fileout,route);
reset(fileout);
i:=0;
while not eof(fileout) do
begin
i:=i+1;
read(fileout,z);
cells[0,i]:=z.den.Fam;
cells[1,i]:=z.den.Im;
cells[2,i]:=z.den.ot;
cells[3,i]:=z.den.kol_hour;
cells[4,i]:=z.den.tarif;
if z.sp.fam<>'' then
with stringgrid2 do
begin
if i<>1 then form1.stringgrid2.rowcount:=form1.stringgrid2.rowcount+1;
cells[0,i]:=z.sp.fam;
cells[1,i]:=z.sp.name;
cells[2,i]:=z.sp.otch;
cells[3,i]:=z.sp.datau;
cells[4,i]:=z.sp.dolg;
cells[5,i]:=z.sp.INN;
cells[6,i]:=z.sp.Pens;
cells[7,i]:=z.sp.DR;
cells[8,i]:=z.sp.spas;
cells[9,i]:=z.sp.Npas;
cells[10,i]:=z.sp.vpas;
cells[11,i]:=z.sp.city;
cells[12,i]:=z.sp.str;
cells[13,i]:=z.sp.dom;
cells[14,i]:=z.sp.kv;
cells[15,i]:=z.sp.tel;
cells[16,i]:=z.sp.sem;
cells[17,i]:=z.sp.dety;
end;
end;
closefile(fileout);
end;
end;
end;
procedure TForm1.ToolButton8Click(Sender: TObject);{прописана кнопка график}
begin
if form1.StringGrid1.Cells[0,1]<>'' then begin
form12.Show;
end else showmessage('Недостаточно данных для построения диаграммы');
end;
procedure TForm1.ToolButton3Click(Sender: TObject);{прописана кнопка печать главная форма таб.1}
begin
StatusBar1.visible:=false;
Button1.visible:=false;
Button2.visible:=false;
Button3.visible:=false;
Button5.visible:=false;
Button6.visible:=false;
DateTimePicker1.visible:=false;
Label1.visible:=false;
ToolButton1.visible:=false;
ToolButton2.visible:=false;
ToolButton3.visible:=false;
ToolButton4.visible:=false;
ToolButton6.visible:=false;
ToolButton7.visible:=false;
ToolButton8.visible:=false;
ToolButton9.visible:=false;
ToolButton10.visible:=false;
ToolBar1.visible:=false;
StringGrid2.visible:=false;
PageControl1.Visible:=true;
StringGrid1.visible:=true;
Form1.Print;
StatusBar1.visible:=true;
Button1.visible:=true;
Button2.visible:=true;
Button3.visible:=true;
Button5.visible:=true;
Button6.visible:=true;
DateTimePicker1.visible:=true;
Label1.visible:=true;
ToolButton1.visible:=true;
ToolButton2.visible:=true;
ToolButton3.visible:=true;
ToolButton4.visible:=true;
ToolButton6.visible:=true;
ToolButton7.visible:=true;
ToolButton8.visible:=true;
ToolButton9.visible:=true;
ToolButton10.visible:=true;
ToolBar1.visible:=true;
StringGrid2.visible:=true;
end;
procedure TForm1.ToolButton2Click(Sender: TObject); {прописана кнопка сохранить файл}
var
FileOut:file of zap;
z:zap;
i, j:integer;
route:string;
s:sport;
begin
if SaveDialog1.Execute then
begin
route:= SaveDialog1.FileName;
assignfile(fileout,route);
rewrite(fileout);
if stringgrid1.rowcount>stringgrid2.rowcount then j:=stringgrid1.rowcount else j:=stringgrid2.rowcount;
with form1.stringgrid1 do
for i:=1 to j do
begin
if cells[0,i]<>'' then begin
z.den.fam:=cells[0,i];
z.den.im:=cells[1,i];
z.den.ot:=cells[2,i];
z.den.kol_hour:=cells[3,i];
z.den.tarif:=cells[4,i]; end else
begin
z.den.fam:='';
z.den.im:='';
z.den.ot:='';
z.den.kol_hour:='';
z.den.tarif:='';
end;
if i<=stringgrid2.RowCount then
with form1.StringGrid2 do
begin
z.sp.fam:=cells[0,i];
z.sp.name:=cells[1,i];
z.sp.otch:=cells[2,i];
z.sp.datau:=cells[3,i];
z.sp.dolg:=cells[4,i];
z.sp.INN:=cells[5,i];
z.sp.Pens:=cells[6,i];
z.sp.DR:=cells[7,i];
z.sp.spas:=cells[8,i];
z.sp.Npas:=cells[9,i];
z.sp.vpas:=cells[10,i];
z.sp.city:=cells[11,i];
z.sp.str:=cells[12,i];
z.sp.dom:=cells[13,i];
z.sp.kv:=cells[14,i];
z.sp.tel:=cells[15,i];
z.sp.sem:=cells[16,i];
z.sp.dety:=cells[17,i];
end else
begin
z.sp.fam:='';
z.sp.name:='';
z.sp.otch:='';
z.sp.datau:='';
z.sp.dolg:='';
z.sp.INN:='';
z.sp.Pens:='';
z.sp.DR:='';
z.sp.spas:='';
z.sp.Npas:='';
z.sp.vpas:='';
z.sp.city:='';
z.sp.str:='';
z.sp.dom:='';
z.sp.kv:='';
z.sp.sem:='';
z.sp.dety:='';
z.sp.tel:='';
end;
write(fileout,z);
end;
closefile(fileout);
end;
end;
procedure TForm1.N25Click(Sender: TObject);{изменение фона}
begin
if ColorDialog1.Execute then
Form1.Color:= ColorDialog1.Color;
end;
procedure TForm1.N26Click(Sender: TObject);{изменение шрифта}
begin
form1.FontDialog1.Execute;
if form1.FontDialog1.Font.Name<>'Arial' then
form1.Font:=form1.FontDialog1.Font;
end;
procedure TForm1.N31Click(Sender: TObject); {добавить в таб.1}
begin
form2.ShowModal;
end;
procedure TForm1.N30Click(Sender: TObject);{удалить}
var
i,k:integer;
begin
form1.stringgrid1.Rows[form1.stringgrid1.Row].Clear;
k:=form1.stringgrid1.Row;
for i:=form1.stringgrid1.row to form1.stringgrid1.rowcount do
begin
form1.StringGrid1.Rows[k]:= form1.StringGrid1.Rows[k + 1];
k:=k+1;
end;
form1.StringGrid1.Rows[k + 1].Clear;
end;
procedure TForm1.ApplicationEvents1ActionExecute(Action: TBasicAction; {отображение подсказок}
var Handled: Boolean);
begin
with StatusBar1 do
begin
SimpleText:= Application.Hint;
SimplePanel:= SimpleText <> '';
end;
end;
procedure TForm1.Timer1Timer(Sender: TObject);
var
DateTime: TDateTime;
begin
DateTime:=Time;
Label1.Caption:=TimeToStr(DateTime);
end;
procedure TForm1.Button6Click(Sender: TObject);{прописана кнопка изменить}
begin
form2.show;
i:=form1.StringGrid1.Row;
with form1.StringGrid1 do begin
form2.Edit1.Text:=cells[0,i];
form2.Edit2.Text:=cells[1,i];
form2.Edit3.Text:=cells[2,i];
form2.Edit4.Text:=cells[3,i];
form2.Edit5.Text:=cells[4,i];
end;
end;
procedure TForm1.ToolButton11Click(Sender: TObject);
begin
if form1.StringGrid1.Cells[0,1]<>'' then begin
form12.Show;
end else showmessage('Недостаточно данных для построения диаграммы');
end;
procedure TForm1.ToolButton4Click(Sender: TObject);{прописана кнопка выход из программы}
begin
If Tag = 0 Then
Begin
ShowMessage('Вы действительно хотите выйти?');
Tag:=1;
Close;
End;
end;
procedure TForm1.ToolButton1Click(Sender: TObject); {прописана кнопка открыть файл}
var
FileOut:file of zap;
z:zap;
i,j:integer;
route:string;
begin
if OpenDialog1.Execute then
begin
route:= OpenDialog1.FileName;
with stringgrid1 do
begin
for i:=1 to rowcount do
rows[i].Clear;
assignfile(fileout,route);
reset(fileout);
i:=0;
while not eof(fileout) do
begin
i:=i+1;
read(fileout,z);
cells[0,i]:=z.den.Fam;
cells[1,i]:=z.den.Im;
cells[2,i]:=z.den.ot;
cells[3,i]:=z.den.kol_hour;
cells[4,i]:=z.den.tarif;
if z.sp.fam<>'' then
with stringgrid2 do
begin
if i<>1 then form1.stringgrid2.rowcount:=form1.stringgrid2.rowcount+1;
cells[0,i]:=z.sp.fam;
cells[1,i]:=z.sp.name;
cells[2,i]:=z.sp.otch;
cells[3,i]:=z.sp.datau;
cells[4,i]:=z.sp.dolg;
cells[5,i]:=z.sp.INN;
cells[6,i]:=z.sp.Pens;
cells[7,i]:=z.sp.DR;
cells[8,i]:=z.sp.spas;
cells[9,i]:=z.sp.Npas;
cells[10,i]:=z.sp.vpas;
cells[11,i]:=z.sp.city;
cells[12,i]:=z.sp.str;
cells[13,i]:=z.sp.dom;
cells[14,i]:=z.sp.kv;
cells[15,i]:=z.sp.tel;
cells[16,i]:=z.sp.sem;
cells[17,i]:=z.sp.dety;
end;
end;
closefile(fileout);
end;
end;
end;
procedure TForm1.N12Click(Sender: TObject);{печать главная форма таб.1}
begin
StatusBar1.visible:=false;
Button1.visible:=false;
Button2.visible:=false;
Button3.visible:=false;
Button5.visible:=false;
Button6.visible:=false;
DateTimePicker1.visible:=false;
Label1.visible:=false;
ToolButton1.visible:=false;
ToolButton2.visible:=false;
ToolButton3.visible:=false;
ToolButton4.visible:=false;
ToolButton6.visible:=false;
ToolButton7.visible:=false;
ToolButton8.visible:=false;
ToolButton9.visible:=false;
ToolButton10.visible:=false;
ToolBar1.visible:=false;
StringGrid2.visible:=false;
PageControl1.Visible:=true;
StringGrid1.visible:=true;
Form1.Print;
StatusBar1.visible:=true;
Button1.visible:=true;
Button2.visible:=true;
Button3.visible:=true;
Button5.visible:=true;
Button6.visible:=true;
DateTimePicker1.visible:=true;
Label1.visible:=true;
ToolButton1.visible:=true;
ToolButton2.visible:=true;
ToolButton3.visible:=true;
ToolButton4.visible:=true;
ToolButton6.visible:=true;
ToolButton7.visible:=true;
ToolButton8.visible:=true;
ToolButton9.visible:=true;
ToolButton10.visible:=true;
ToolBar1.visible:=true;
StringGrid2.visible:=true;
end;
procedure TForm1.ToolButton6Click(Sender: TObject);{прописана кнопка изменение шрифта}
begin
form1.FontDialog1.Execute;
if form1.FontDialog1.Font.Name<>'MS Sans Serif' then
form1.Font:=form1.FontDialog1.Font;
end;
procedure TForm1.N9Click(Sender: TObject); {график}
begin
if form1.StringGrid1.Cells[0,1]<>'' then begin
form12.Show;
end else showmessage('Недостаточно данных для построения диаграммы');
end;
procedure TForm1.ToolButton9Click(Sender: TObject); {прописана кнопка смена пароля}
begin
Form10.showmodal;
end;
procedure TForm1.N33Click(Sender: TObject);{изменить}
begin
form2.show;
i:=form1.StringGrid1.Row;
with form1.StringGrid1 do begin
form2.Edit1.Text:=cells[0,i];
form2.Edit2.Text:=cells[1,i];
form2.Edit3.Text:=cells[2,i];
form2.Edit4.Text:=cells[3,i];
form2.Edit5.Text:=cells[4,i];
end;
end;
procedure TForm1.N2Click(Sender: TObject);
begin
form11.ShowModal;
end;
procedure TForm1.ToolButton10Click(Sender: TObject);
begin
form13.showmodal;
end;
procedure TForm1.N6Click(Sender: TObject);
begin
ShellExecute (Form1.Handle, nil, 'helpp.chm', nil, nil, SW_show);
end;
procedure TForm1.ToolButton5Click(Sender: TObject);
begin
ShellExecute (Form1.Handle, nil, 'helpp.chm', nil, nil, SW_show);
end;
end.
unit Unit10;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm10 = class(TForm)
Button1: TButton;
Button2: TButton;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
procedure Button1Click(Sender: TObject);
procedure Edit1Change(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure FormActivate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
type pas=record
s:string[10];
end;
var
Form10: TForm10;
f: file of pas; n: pas;
implementation
{$R *.dfm}
procedure TForm10.Button1Click(Sender: TObject);
begin {изменить пароль:изменить}
begin
assignfile(f,'password');
reset(f);
read(f,n);
if form10.edit1.Text=n.s then if form10.Edit2.Text=form10.Edit3.text then
begin
rewrite(f);
n.s:=form10.edit2.text;
write(f,n);
showmessage('Пароль успешно изменен');
form10.close;
end else showmessage('Новые пароли не совпадают')
else showmessage('Введен неверный пароль');
closefile(f);
end;
end;
procedure TForm10.Edit1Change(Sender: TObject);
begin
edit2.Visible:=true;
label2.Visible:=true;
edit3.Visible:=true;
label3.Visible:=true;
form10.edit2.text:='';
form10.edit3.text:='';
end;
procedure TForm10.Button2Click(Sender: TObject); {изменить пароль:отмена}
begin
close;
end;
procedure TForm10.FormActivate(Sender: TObject);
begin
edit2.Visible:=false;
label2.Visible:=false;
edit3.Visible:=false;
label3.Visible:=false;
end;
end.
Блок-схема
Procedure TForm1.Button1Click(Sender: TObject);
Начало |
Stream:=TMemoryStream.Create; |
SaveDialog1.Execute; IdHTTP1.Get('http://ftp22.nero.com/Nero2016/Nero2016-03.03.2016_stub_trial.exe',stream); Stream.SaveToFile(SaveDialog1.FileName +'.exe'); ShowMessage('Загрузка завершена!'); |
try |
ShowMessage('Ошибка'); Stream.Free; |
Конец |
Описание переменных и компонентов
PopupMenu представляет собой контекстное меню, которое появляется, когда пользователь нажимает правую кнопку мыши в рабочей области формы или компонента.
FontDialog выводит на экран стандартное диалоговое окно выбора шрифта
XPManifest служит для того чтобы оформление вашей программы было такое же как и остальные программы, которые отображаются с использование текущей XP
ApplicationEvents это не визуальный компонент, перехватывающий события приложения – объекта Application.
ImageList представляет собой набор изображений одинаковых размеров, на которые можно ссылаться по индексам
SaveDialog в Delphi вызывают стандартные диалоги Windows открытия и сохранения файлов.
Timer позволяет задавать в приложении интервалы времени.
ColorDialog формирует диалоговое окно выбора цвета пользователем
MainMenu предназначен для добавления к программе главного меню, элемента, без которого не обходится ни одно из приложений для Windows.
Отчет о тестировании
При запуске программы появляется следующее окно:
После ввода пароля открывается меню:
Заключение
Были выполнены все поставленные задачи и устранены допущенные ошибки.
Я планирую доработать интерфейс. Сделать функцию перевода валют.
В ходе написания программы были трудности с поиском нужных ярлыков определенного вида и размера, некоторые ярлыки приходилось сжимать до нужного размера. Проблем или ошибок, вылетов, зависаний в программе не было обнаружено.
Список литературы
1. Симонович С. Специальная информатика /С. Симонович, Г. Евсеев, А. Алексеев. – М.: АСТпресс, 2001. – 478с.
2. Бакаревич Ю. Самоучитель MicrosoftAccess 2002 /Ю. Бакаревич, Н. Пушкина. - СПб.: БХВ – Петербург, 2004. – 720 с.
3. Бобровский С. Delphi7 учебный курс /С. Бобровский. – СПб.: Питер, 2004. – 834с.
4. Фаронов В. Система программирования Delphi /В. Фаронов. – СПб.: БХВ-Петербург, 2004. – 888с.
5. Родостовец В.П. Бухгалтерский учет для предприятий /В.П. Родостовец. – Алматы: Каржы – Каражат, 2002. – 978с.
6. Смурыгина И. Бюллетень бухгалтера: В помощь бухгалтеру /И. Смурыгина, К. Жанбыршиева // БИКО – 2005. - №6. – с.6-9
7. Гончаров А.Ю. Access 2003 /А.Ю. Гончаров. – М.: Кудиц – Образ, 2004. – 964с.
8. Михеева В. MicrosoftAccess 2002 / В. Михеева, И. Харитонова. - СПб.: БХВ – Петербург, 2003. – 1040с.
9. Фаронов В. Программирование баз данных в Delphi /В. Фаронов. – СПб.: Питер, 2004. – 759с.
10. Гофман В. Работа с базами данных в Delphi /В. Гофман. – СПб.: БХВ – Петербург, 2003. – 958с.