Автор работы: Пользователь скрыл имя, 21 Января 2015 в 17:34, курсовая работа
В курсовой работе будет разработана программа, которая автоматизирует работу кассира, позволяет автоматически генерировать отчеты в разрезе материально-ответственных лиц, также будут получены навыки по созданию баз данных с использованием Database Desktop.
Введение ………………………………………………………………………..4
1. Анализ предметной области ……………………………………………......5
2. Описание входной и выходной информации……………………………...6
2.1.Входная информация………………………………………………….....6
2.2. Выходная информация ……………………………………………...…..7
3.Обоснование выбора среды реализации………………….………………...8
3.1. Выбор среды реализации ……………………………………………….8
3.2.Выбор состава и параметров технических средств…………………....9
4. Построение реляционной базы данных…………………………………....10
4.1.Разработка логической и физической модели базы данных……….....10
5.Проектирование и реализация интерфейса программы…………………...12
Заключение…………………………………………………………………..….16
Список использованных источников …………………………………………17
Ligidov.GurOper1.FieldByName('
a0:=CalKuljator(Edit1.Text,
a0:=ZnakZamena(a0,'.',',');
Ligidov.GurOper1.FieldByName('
edit5.Text:=a0;
if radiobutton1.Checked then
begin
Edit7.Text:=a0;
Edit8.Text:=inttostr(0);
a1:='продажа ';
a2:=a1+Ligidov.Tovar.
Ligidov.GurOper1.FieldByName('
end;
if radiobutton2.Checked then
begin
Edit7.Text:=inttostr(0);
Edit8.Text:=a0;
a1:='возврат ';
a2:=a1+Ligidov.Tovar.
Ligidov.GurOper1.FieldByName('
end;
if radiobutton3.Checked then
begin
a2:=edit6.text;
Ligidov.GurOper1.FieldByName('
end;
if radiobutton4.Checked then
begin
Edit7.Text:=inttostr(0);
Edit8.Text:=a0;
a1:='Оклад';
a2:=a1+Ligidov.Kassir.
Ligidov.GurOper1.FieldByName('
end;
if radiobutton5.Checked then
begin
Edit7.Text:=inttostr(0);
Edit8.Text:=a0;
a1:='наличка в Банк';
a2:=a1;
Ligidov.GurOper1.FieldByName('
end;
if radiobutton6.Checked then
begin
Edit7.Text:=a0;
Edit8.Text:=inttostr(0);
a1:='погасили долг';
a2:=a1;
Ligidov.GurOper1.FieldByName('
end;
Ligidov.GurOper1.FieldByName('
Ligidov.GurOper1.FieldByName('
Ligidov.GurOper1.Post;
end;
procedure TForm1.RadioButton3Click(
begin
edit6.Text:='';
end;
procedure TForm1.Button2Click(Sender: TObject);
Var
dat0,dat1,dat2,G0,s0,k0, kodW,KodPr,a0,a01,a1,a2 :string;
Gir0,Gir1,SGir1,sum0,kol0,
code, n2,i1,i,s1,s2,s3:integer;
XLApp,Sheet,Colum:Variant;
skold1,skolk1,skold2, skolk2, skold3,skolk3, kold1,kolk1,kold2, kolk2, kold3,kolk3,
d1,sd1,k1,sk1,sk2,d2,k2,sd2,d3
begin
With Ligidov do begin
//KodPr1:=Kassir.fieldbyname('
dat0:='01.01.2000';
a0:=DateToStr(DateTimePicker1.
dat1:=a0;
//a01:=DateToStr(
//dat2:=a01;
XLApp:=CreateOleObject('Excel.
XLApp.Visible:=true;
XLApp.Workbooks.Add(-4167);
XLApp.Workbooks[1].WorkSheets[
Colum:=XLApp.Workbooks[1].
N2:=1;
Colum.Columns[1].ColumnWidth:=
Colum.Columns[2].ColumnWidth:=
Colum.Columns[3].ColumnWidth:=
Colum.Columns[4].ColumnWidth:=
Colum.Columns[5].ColumnWidth:=
Colum.Columns[6].ColumnWidth:=
Colum.Columns[7].ColumnWidth:=
Colum.Columns[8].ColumnWidth:=
Colum:=XLApp.Workbooks[1].
Colum.Rows[2].Font.Bold:=true;
Colum.Rows[1].Font.Bold:=true;
Colum.Rows[1].Font.Color:=
Colum.Rows[1].Font.Size:=12;
Sheet:=XLApp.Workbooks[1].
//n2:=0;
Sheet.Cells[n2,1]:='Журнал операций за '+a0 +'+'+Kassir.fieldbyname('FIO')
iNC(n2);
Sheet.Cells[n2,2]:='Остаток
Ligidov.SetBase4('GurOper1.DB'
Ligidov.SetBase4('GurOper1.DB'
d3:=d1-d2;
Str(d3:13:2,a1);
a1:=Trim(a1);
Sheet.Cells[n2,5]:=a1;
iNC(n2);
//Sheet.Cells[n2,0]:='?? ';
Sheet.Cells[n2,1]:='№№ ';
Sheet.Cells[n2,2]:='
Sheet.Cells[n2,3]:='Дебет';
Sheet.Cells[n2,4]:=' суммаДебет';
Sheet.Cells[n2,5]:='Кредит';
Sheet.Cells[n2,6]:='
Sheet.Cells[n2,7]:='Сумма ';
iNC(n2);
s1:=0; s2:=0;s3:=0;
With Ligidov do begin
SetBase4('GurOper1.DB','
Query1.First;
Repeat
//a1:=Query1.fieldbyname('
//KodPr:=Query1.fieldbyname('
Sheet.Cells[n2,2]:=Query1.
Sheet.Cells[n2,3]:=Query1.
Sheet.Cells[n2,4]:=Query1.
Sheet.Cells[n2,5]:=Query1.
Sheet.Cells[n2,6]:=Query1.
Sheet.Cells[n2,7]:=Query1.
Sheet.Cells[n2,1]:=IntToStr(
s2:=s2+Query1.fieldbyname('Deb
s3:=s3+Query1.fieldbyname('
s1:=s2-s3;
Query1.Next;
iNC(n2);
until Query1.Eof;
Sheet.Cells[n2,2]:='Итого';
Sheet.Cells[n2,4]:=IntToStr(
Sheet.Cells[n2,6]:=IntToStr(
Sheet.Cells[n2,7]:=IntToStr(
Sheet.Cells[n2+3,7]:='Подпись кассира ___________________________';
Sheet.Cells[n2+5,7]:='Подпись
end;
end;
end;
Листинг кода формы Data Module проекта:
unit LAV;
interface
uses
SysUtils, Classes, DBTables, DB;
type
TLigidov = class(TDataModule)
DataSource1: TDataSource;
DataSource2: TDataSource;
DataSource3: TDataSource;
DataSource4: TDataSource;
Tovar: TTable;
Kassir: TTable;
GurOper1: TTable;
Query1: TQuery;
Procedure SetBase3(Fils,Datp,Buhp,
Procedure SetBase4(Fils,Datp,Buhp,
private
{ Private declarations }
public
{ Public declarations }
end;
var
Ligidov: TLigidov;
TekDir:string;
implementation
{$R *.dfm}
Procedure TLigidov.SetBase4(Fils,Datp,
Var
TekDir,s,s1,s0,a1,a0:string;
i1:integer;
Koli1, summ1:real;
begin
SetBase3(Fils,Datp,Buhp,
//SetBase3(Fils,Datp,KodWrkPl,
Koli1:=0; summ1:=0;
Query1.First;
For i1:=1 to Query1.RecordCount do begin
//Koli1:=Koli1+Query1.
summ1:=summ1+Query1.
Query1.Next;
end;//i
Kol1:=Koli1;
Sum1:=summ1;
end;
Procedure TLigidov.SetBase3(Fils,Datp,
Var
TekDir,s,s1,s0,a1,a0:string;
begin
//TekDir:='C:\Scet60';
DataSource4.DataSet:=Query1;
//Dbgrid1.DataSource:=
Query1.DatabaseName:=TekDir;
Query1.Close;
Query1.sql.Clear;
Query1.sql.Add('SELECT * FROM '+Fils);
a1:='WHERE ('+Datp+' BETWEEN "'+DaTT1+'" and "'+DaTT2+'")';
Query1.sql.Add(a1);
//if length(BuhP)>0 then Query1.sql.Add('and ('+BuhP+' LIKE "%" ||'+'"'+szet+'" || "%")');
if length(BuhP)>0 then Query1.sql.Add('and ('+BuhP+'="'+szet+'")');
if length(ScetPl)>0 then Query1.sql.Add('and ('+ScetPl+' LIKE "%" ||'+'"'+Korenscet+'" || "%")');
if length(KodWrkPl)>0 then Query1.sql.Add('and ('+KodWrkPl+'="'+KodWrk+'")');
{
a1:='and ('+Datp+' BETWEEN "'+DaTT1+'" and "'+DaTT2+'")';
Form11.Query1.sql.Add(a1);
}
Query1.sql.SaveToFile('sql11.
Query1.open;
end;
end.
end.
Информация о работе Проектирование и реализация интерфейса программы