Проектирование и реализация интерфейса программы

Автор работы: Пользователь скрыл имя, 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

Файлы: 1 файл

Лигидов А.В., 3 курс гр.ИВТ(сп).doc

— 473.00 Кб (Скачать файл)

Ligidov.GurOper1.FieldByName('Kolic').AsString:=Edit2.Text;

a0:=CalKuljator(Edit1.Text,Edit2.Text,'*',2);

a0:=ZnakZamena(a0,'.',',');

Ligidov.GurOper1.FieldByName('summa').AsString:=a0;

edit5.Text:=a0;

if radiobutton1.Checked then

        begin

        Edit7.Text:=a0;

        Edit8.Text:=inttostr(0);

        a1:='продажа ';

        a2:=a1+Ligidov.Tovar.FieldByName('Tovar').AsString;

        Ligidov.GurOper1.FieldByName('Operac').AsString:=a2;

        end;

if radiobutton2.Checked then

        begin

        Edit7.Text:=inttostr(0);

        Edit8.Text:=a0;

        a1:='возврат ';

        a2:=a1+Ligidov.Tovar.FieldByName('Tovar').AsString;

        Ligidov.GurOper1.FieldByName('Operac').AsString:=a2;

        end;

        if radiobutton3.Checked then

        begin

        a2:=edit6.text;

         Ligidov.GurOper1.FieldByName('Operac').AsString:=a2;

        end;

        if radiobutton4.Checked then

        begin

        Edit7.Text:=inttostr(0);

        Edit8.Text:=a0;

        a1:='Оклад';

        a2:=a1+Ligidov.Kassir.FieldByName('FIO').AsString;

        Ligidov.GurOper1.FieldByName('Operac').AsString:=a2;

        end;

        if radiobutton5.Checked then

        begin

        Edit7.Text:=inttostr(0);

        Edit8.Text:=a0;

        a1:='наличка в Банк';

        a2:=a1;

        Ligidov.GurOper1.FieldByName('Operac').AsString:=a2;

        end;

        if radiobutton6.Checked then

        begin

        Edit7.Text:=a0;

        Edit8.Text:=inttostr(0);

        a1:='погасили долг';

        a2:=a1;

        Ligidov.GurOper1.FieldByName('Operac').AsString:=a2;

        end;

        Ligidov.GurOper1.FieldByName('DebetS').AsString:= Edit7.Text;

        Ligidov.GurOper1.FieldByName('KreditS').AsString:= Edit8.Text;

Ligidov.GurOper1.Post;

end;

 

procedure TForm1.RadioButton3Click(Sender: TObject);

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,Sum1,kol1,Ssum1,Skol1:real;

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,sd3,k3,sk3:real;

begin

With Ligidov do begin

//KodPr1:=Kassir.fieldbyname('KodKassira').AsString;

dat0:='01.01.2000';

a0:=DateToStr(DateTimePicker1.Date);

dat1:=a0;

//a01:=DateToStr(DateTimePicker2.Date);

//dat2:=a01;

 

XLApp:=CreateOleObject('Excel.Application');

XLApp.Visible:=true;

XLApp.Workbooks.Add(-4167);

XLApp.Workbooks[1].WorkSheets[1].Name:='Оборотка';

Colum:=XLApp.Workbooks[1].WorkSheets['Оборотка'].Columns;

 

N2:=1;

Colum.Columns[1].ColumnWidth:=5;

Colum.Columns[2].ColumnWidth:=30;

Colum.Columns[3].ColumnWidth:=10;

Colum.Columns[4].ColumnWidth:=15;

Colum.Columns[5].ColumnWidth:=10;

Colum.Columns[6].ColumnWidth:=15;

Colum.Columns[7].ColumnWidth:=10;

Colum.Columns[8].ColumnWidth:=10;

 

Colum:=XLApp.Workbooks[1].WorkSheets['Оборотка'].Rows;

Colum.Rows[2].Font.Bold:=true;

Colum.Rows[1].Font.Bold:=true;

Colum.Rows[1].Font.Color:=clBlue;

Colum.Rows[1].Font.Size:=12;

Sheet:=XLApp.Workbooks[1].WorkSheets['Оборотка'];

//n2:=0;

 

Sheet.Cells[n2,1]:='Журнал операций за   '+a0 +'+'+Kassir.fieldbyname('FIO').AsString;

iNC(n2);

Sheet.Cells[n2,2]:='Остаток на начала '+a0 ;

Ligidov.SetBase4('GurOper1.DB','DatOper','Debet','','','Summa','Summa','01.01.2000',a0,'50','','',kold1,d1);

Ligidov.SetBase4('GurOper1.DB','DatOper','Kredit','','','Summa','Summa','01.01.2000',a0,'50','','',kold1,d2);

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','DatOper','','','','','Summa',a0,a0,'','','',kold1,d1);

 

Query1.First;

Repeat

//a1:=Query1.fieldbyname('KodTovara').AsString;

//KodPr:=Query1.fieldbyname('KodKassira').AsString;

 

 

Sheet.Cells[n2,2]:=Query1.fieldbyname('Operac').AsString;

Sheet.Cells[n2,3]:=Query1.fieldbyname('Debet').AsString;

Sheet.Cells[n2,4]:=Query1.fieldbyname('DebetS').AsString;

Sheet.Cells[n2,5]:=Query1.fieldbyname('Kredit').AsString;

Sheet.Cells[n2,6]:=Query1.fieldbyname('KreditS').AsString;

Sheet.Cells[n2,7]:=Query1.fieldbyname('Summa').AsString;

Sheet.Cells[n2,1]:=IntToStr(n2-2);

s2:=s2+Query1.fieldbyname('DebetS').AsInteger;

s3:=s3+Query1.fieldbyname('KreditS').AsInteger;

s1:=s2-s3;

Query1.Next;

iNC(n2);

until Query1.Eof;

Sheet.Cells[n2,2]:='Итого';

Sheet.Cells[n2,4]:=IntToStr(s2);

Sheet.Cells[n2,6]:=IntToStr(s3);

Sheet.Cells[n2,7]:=IntToStr(s1);

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,KodWrkPl,ScetPl,DaTT1,DaTT2,szet,KodWrk,Korenscet:string);

    Procedure SetBase4(Fils,Datp,Buhp,KodWrkPl,ScetPl,Kolp,Sump,DaTT1,DaTT2,szet,KodWrk,Korenscet:string; Var Kol1,Sum1:real);

 

  private

    { Private declarations }

  public

   { Public declarations }

  end;

 

var

  Ligidov: TLigidov;

   TekDir:string;

implementation

 

{$R *.dfm}

Procedure TLigidov.SetBase4(Fils,Datp,Buhp,KodWrkPl,ScetPl,Kolp,Sump,DaTT1,DaTT2,szet,KodWrk,Korenscet:string; Var Kol1,Sum1:real);

Var

TekDir,s,s1,s0,a1,a0:string;

i1:integer;

Koli1, summ1:real;

begin

SetBase3(Fils,Datp,Buhp,KodWrkPl,ScetPl,DaTT1,DaTT2,szet,KodWrk,Korenscet);

//SetBase3(Fils,Datp,KodWrkPl,ScetPl,DaTT1,DaTT2,KodWrk,Korenscet);

Koli1:=0; summ1:=0;

Query1.First;

For i1:=1 to Query1.RecordCount do begin

//Koli1:=Koli1+Query1.FieldByName(Kolp).AsFloat;

summ1:=summ1+Query1.FieldByName(Sump).AsFloat;

Query1.Next;

end;//i

Kol1:=Koli1;

Sum1:=summ1;

end;

      Procedure TLigidov.SetBase3(Fils,Datp,Buhp,KodWrkPl,ScetPl,DaTT1,DaTT2,szet,KodWrk,Korenscet:string);

Var

TekDir,s,s1,s0,a1,a0:string;

begin

//TekDir:='C:\Scet60';

DataSource4.DataSet:=Query1;

//Dbgrid1.DataSource:=FDataSource4;

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.txt');

Query1.open;

end;

end.

end.

 

 

 

 

 

 

 

 


Информация о работе Проектирование и реализация интерфейса программы