Создание программы ведения базы данных торговой фирмы

Автор работы: Пользователь скрыл имя, 17 Декабря 2010 в 18:53, курсовая работа

Краткое описание

В данной работе я постарался отобразить один из вариантов использования баз данных (БД) в системах управления предприятиями. Целью данной работы является разработка приложения ведения БД торговой фирмы для Windows.

Содержание работы

Основные данные о работе
Введение………………………………………………………………………...3
Назначение и область применения………… ……………………….……….3
1.Технические характеристики..………………………………………………4
1.1 Постановка задачи………………………………………………………….4
1.2 Описание алгоритма…………………………………………………….4
1.3 Организация входных и выходных данных………………………………6
1.4 Выбор состава технических и программных средств……………………7
2 Разработка программы….……………………………………………………8
2.1 Написание программы…………………………………………….………12
2.2 Спецификация программы…………………………………………….….12
2.3 Текст программы…………………………………………………….…….15
2.4 Описание программы……………………………………………….……..35
2.5 Тестирование программы…………………………………………………35
2.6 Внедрение………………………………………………………………….35
Заключение…………………………………………………………………….39
Приложение …………………………………………………………….…....41
Глоссарий……………………………………………………… ………..…….40
Список использованной литературы………………………………………....43

Содержимое работы - 1 файл

Пояснительная записка.doc

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

     qqq:=False;

     Form1.N4.Enabled:=False;

     Form1.N12.Enabled:=False; 

     if not FileExists('name.tab') then

     begin

     FileCreate('name.tab');

     qqq:=True;

     end; 

     if not FileExists('surname.tab') then

     begin

     FileCreate('surname.tab');

     qqq:=True;

     end; 

     if not FileExists('number.tab') then

     begin

     FileCreate('number.tab');

     qqq:=True;

     end; 

     if not FileExists('date.tab') then

     begin

     FileCreate('date.tab');

     qqq:=True;

     end; 

     if not FileExists('sum.tab') then

     begin

     FileCreate('sum.tab');

     qqq:=True;

     end; 

     if not FileExists('allsum.tab') then

     begin

     FileCreate('allsum.tab');

     qqq:=True;

     end; 

     if qqq=True then

     begin

     MessageDlg('Создан один или несколько отсутствующих файлов.'+#13

     +'Перезапустите  программу.',mtWarning,[],0);

     Application.Terminate;

     end; 

     CheckBox1.Checked:=False;

     Memo2.Visible:=False; 

     end; 

     procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);

     var

     a:Integer;

     begin

     {Сохранить  данные}

     a:=MessageDlg('Сохранить  данные в таблице?',mtConfirmation,[mbYes,mbNo],0);

     if a=6 then save_db;

     end; 

     procedure TForm1.FormActivate(Sender: TObject);

     begin

     Form2.ShowModal;

     end; 

     procedure TForm1.N11Click(Sender: TObject);

     begin

     {Создать  резервную копию таблицы}

     RenameFile('name.tab','name.bak');

     RenameFile('surname.tab','surname.bak');

     RenameFile('number.tab','number.bak');

     RenameFile('date.tab','date.bak');

     RenameFile('sum.tab','sum.bak');

     RenameFile('allsum.tab','allsum.bak'); 

     save_db; 

     MessageDlg('Резервная  копия находится в файлах *.bak',mtInformation,[],0); 

     Form1.N12.Enabled:=True;

     end; 

     procedure TForm1.N12Click(Sender: TObject);

     begin

     {Восстановить  данные из резервной копии}

     DeleteFile('name.tab');

     DeleteFile('surname.tab');

     DeleteFile('number.tab');

     DeleteFile('date.tab');

     DeleteFile('sum.tab');

     DeleteFile('allsum.tab'); 

     RenameFile('name.bak','name.tab');

     RenameFile('surname.bak','surname.tab');

     RenameFile('number.bak','number.tab');

     RenameFile('date.bak','date.tab');

     RenameFile('sum.bak','sum.tab');

     RenameFile('allsum.bak','allsum.tab'); 

     Form1.N12.Enabled:=False; 

     Form2.ShowModal;

     end; 

     procedure TForm1.CheckBox1Click(Sender: TObject);

     begin

     {Показать  дополнительные сведения}

     if CheckBox1.Checked=True then

        Memo2.Visible:=True else

        Memo2.Visible:=False;

     end; 

     procedure TForm1.Button1Click(Sender: TObject);

     begin

     Close;

     end; 

     end. 

     Листинг файла Unit2.pas

     unit Unit2; 

     interface 

     uses

       Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

       Grids, StdCtrls, ExtCtrls, jpeg, Menus; 

     type

       TForm2 = class(TForm)

         StringGrid1: TStringGrid;

         Button1: TButton;

         Bevel1: TBevel;

         Bevel2: TBevel;

         PopupMenu1: TPopupMenu;

         N1: TMenuItem;

         Button2: TButton;

         procedure Button1Click(Sender: TObject);

         procedure FormActivate(Sender: TObject);

         procedure N1Click(Sender: TObject);

         procedure Button2Click(Sender: TObject);

       private

         { Private declarations }

       public

         { Public declarations }

       end; 

     var

       Form2: TForm2;

       //количество ячеек по умолчанию

       default_colcount, default_rowcount: LongInt; 

     implementation 

     uses unit1, Unit3, Unit4; 

     {$R *.DFM} 

     procedure all_s;

     var

     c, s, s1:Integer;

     Begin

     {Подсчитать общую выручку}

       for c:=1 to default_rowcount do

      begin

       if (form2.StringGrid1.Cells[5,c]<>'') and (form2.StringGrid1.Cells[4,c]<>'') then

        begin

         s1:=StrToInt(form2.StringGrid1.Cells[5,c]);

         s:=StrToInt(form2.StringGrid1.Cells[4,c])+s1;

         form2.StringGrid1.Cells[4,c]:=IntToStr(s);

        end;

      end;

     End; 

     procedure load_db;

     var

     ftname:TextFile;

     ftsurname:TextFile;

     ftnumber:TextFile;

     ftdate:TextFile;

     ftsum:TextFile;

     ftallsum:TextFile;

     t:Integer;

     fts:String;

     Begin

     {Загрузка  данных в таблицу}

     AssignFile(ftname,'name.tab');

     Reset(ftname);

     t:=1;

      While not EOf(ftname) do

      begin

       Readln(ftname,fts);

       Form2.StringGrid1.Cells[0,t]:=fts;

       t:=t+1;

      end;

     CloseFile(ftname); 

     AssignFile(ftsurname,'surname.tab');

     Reset(ftsurname);

     t:=1;

      While not EOf(ftsurname) do

      begin

       Readln(ftsurname,fts);

       Form2.StringGrid1.Cells[1,t]:=fts;

       t:=t+1;

      end;

     CloseFile(ftsurname); 

     AssignFile(ftnumber,'number.tab');

     Reset(ftnumber);

     t:=1;

      While not EOf(ftnumber) do

      begin

       Readln(ftnumber,fts);

       Form2.StringGrid1.Cells[2,t]:=fts;

       t:=t+1;

      end;

     CloseFile(ftnumber); 

     AssignFile(ftdate,'date.tab');

     Reset(ftdate);

     t:=1;

      While not EOf(ftdate) do

      begin

       Readln(ftdate,fts);

       Form2.StringGrid1.Cells[3,t]:=fts;

       t:=t+1;

      end;

     CloseFile(ftdate); 

     AssignFile(ftsum,'sum.tab');

     Reset(ftsum);

     t:=1;

      While not EOf(ftsum) do

      begin

       Readln(ftsum,fts);

       Form2.StringGrid1.Cells[4,t]:=fts;

       t:=t+1;

      end;

     CloseFile(ftsum); 

     AssignFile(ftallsum,'allsum.tab');

     Reset(ftallsum);

     t:=1;

      While not EOf(ftallsum) do

      begin

       Readln(ftallsum,fts);

       Form2.StringGrid1.Cells[6,t]:=fts;

       t:=t+1;

      end;

     CloseFile(ftallsum); 

     End; 

     procedure TForm2.Button1Click(Sender: TObject);

     begin

     {Закрыть}

     Button2.Enabled:=True;

     Form2.Close;

     end; 

     procedure TForm2.FormActivate(Sender: TObject);

     var

     td0, td:String;

     ti, ci:Integer;

     begin

     {инициализация}

     default_colcount:=7;{столбцы}

     default_rowcount:=512; 

     StringGrid1.ColCount:=default_colcount;

     StringGrid1.RowCount:=default_rowcount; 

     StringGrid1.Cells[0,0]:='Имя';

     StringGrid1.Cells[1,0]:='Фамилия';

     StringGrid1.Cells[2,0]:='Табельный номер';

     StringGrid1.Cells[3,0]:='Дата поступления на работу';

     StringGrid1.Cells[4,0]:='Сумма проданного товара за месяц';

     StringGrid1.Cells[5,0]:='Выручка за день';

     StringGrid1.Cells[6,0]:='Выручка за всё время работы'; 

     load_db; 

     for ci:=1 to Form2.StringGrid1.RowCount do

     begin

     if (Form2.StringGrid1.Cells[6,ci]='') and (Form2.StringGrid1.Cells[1,ci]<>'') then Form2.StringGrid1.Cells[6,ci]:='0';

     Application.ProcessMessages;

     end; 

     td0:=DateToStr(Date);

     td:=copy(td0,1,2);

     if (td='01') and (MessageDlg('Сегодня первое число месяца.'+#13

          +'Следует ли онулить сумму  продаж за последний месяц?',mtConfirmation,[mbYes,mbNo],0)=mrYes) then

       begin

       for ti:=1 to default_rowcount do

        begin

         if StringGrid1.Cells[4,ti]<>'' then

          begin

           StringGrid1.Cells[6,ti]:=IntToStr(StrToInt(StringGrid1.Cells[6,ti])+StrToInt(StringGrid1.Cells[4,ti]));

           StringGrid1.Cells[4,ti]:='0';

          end;

        end;

      end; 

     Form1.N4.Enabled:=True;

     end; 

     procedure TForm2.N1Click(Sender: TObject);

     begin

     {Подсчитать  общую выручку}

     all_s;

     end; 

     procedure TForm2.Button2Click(Sender: TObject);

     begin

     {Подсчитать  общую выручку}

     all_s;

Информация о работе Создание программы ведения базы данных торговой фирмы