Автор работы: Пользователь скрыл имя, 27 Мая 2013 в 22:25, курсовая работа
Задача «Абонент АТС» предназначена для автоматизации работы с информацией о поступивших и проданных товарах в магазин.
Задача выполняет основные функции:
ведение базы данных (редактирование данных о товарах);
формирование и выдача на терминал запросов ( об остатке товара на сладе, запросы по поставщикам и клиентам);
формирование и выдача на терминал, а также на печать отчетов (приходная накладная, расходная накладная).
1. Постановка задачи 4
1.1 Характеристика задачи 4
1.2 Выходная информация 5
1.3 Входная информация 13
2. Описание алгоритма решения задачи 14
2.1 Назначение и характеристика 14
2.2 Используемая информация 14
2.3 Результаты решения 14
2.4 Алгоритм решения задачи 15
3. Руководство пользователя 17
3.1 Введение 17
3.2 Назначение и условия применения 17
3.3 Описание операций 17
3.4 Действия при аварийных ситуаци-ях……………………………………...18
4. Руководство системного программиста 19
4.1 Минимальные системные требования 19
4.2 Структура программы 19
4.3 Настройка программы 21
4.4 Проверка программы 21
4.5 Сообщения системному программисту 21
5. Приложение 22
5.1 Листинг программы 22
5.2 Результаты работы программы 39
5.3 Контрольный пример 46
6. Список используемой литерату-ры
Для работы программы Trade.exe необходимо наличие IBM PC/AT совместимого компьютера с операционной системой Windows. Программа написана в среде Borland Delphi 2010 Architect edition на языке Object Pascal.
Для запуска данной программы необходимо запустить файл Trade.exe и работать с программой в диалоговом режиме.
Правильность работы программы указана в разделах:
5.2 Результат работы программы
5.3 Контрольный пример.
Сообщения системному программисту отсутствуют.
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Menus, ImgList, XPMan, ExtCtrls, jpeg;
type
TForm1 = class(TForm)
XPManifest1: TXPManifest;
ImageList1: TImageList;
MainMenu1: TMainMenu;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
N5: TMenuItem;
N6: TMenuItem;
N7: TMenuItem;
N8: TMenuItem;
N9: TMenuItem;
N10: TMenuItem;
N11: TMenuItem;
N12: TMenuItem;
PopupMenu1: TPopupMenu;
Dsj1: TMenuItem;
N13: TMenuItem;
N14: TMenuItem;
N15: TMenuItem;
N16: TMenuItem;
N17: TMenuItem;
N18: TMenuItem;
N19: TMenuItem;
N21: TMenuItem;
Image1: TImage;
procedure N2Click(Sender: TObject);
procedure N4Click(Sender: TObject);
procedure N5Click(Sender: TObject);
procedure N6Click(Sender: TObject);
procedure N7Click(Sender: TObject);
procedure N8Click(Sender: TObject);
procedure N10Click(Sender: TObject);
procedure N11Click(Sender: TObject);
procedure N12Click(Sender: TObject);
procedure Dsj1Click(Sender: TObject);
procedure N14Click(Sender: TObject);
procedure N15Click(Sender: TObject);
procedure N16Click(Sender: TObject);
procedure N17Click(Sender: TObject);
procedure N19Click(Sender: TObject);
procedure N21Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
uses Unit2, unit22,unit23,Unit3, Unit4, Unit5,
Unit6, Unit7, Unit8, ComObj,unit9,unit10,unit20,
{$R *.dfm}
procedure TForm1.N2Click(Sender: TObject);
begin
close;
end;
procedure TForm1.N4Click(Sender: TObject);
begin
form2.show;
end;
procedure TForm1.N5Click(Sender: TObject);
begin
form4.show;
end;
procedure TForm1.N6Click(Sender: TObject);
begin
form5.show;
end;
procedure TForm1.N7Click(Sender: TObject);
begin
form6.show;
end;
procedure TForm1.N8Click(Sender: TObject);
begin
form7.show;
end;
procedure TForm1.N10Click(Sender: TObject);
begin
form8.show;
end;
procedure TForm1.N11Click(Sender: TObject);
begin
form9.show;
end;
procedure TForm1.N12Click(Sender: TObject);
begin
form10.show;
end;
procedure TForm1.Dsj1Click(Sender: TObject);
begin
close;
end;
procedure TForm1.N14Click(Sender: TObject);
begin
unit20.Form20.ShowModal;
end;
procedure TForm1.N15Click(Sender: TObject);
begin
unit21.form21.showmodal;
end;
procedure TForm1.N16Click(Sender: TObject);
begin
unit22.form22.showmodal;
end;
procedure TForm1.N17Click(Sender: TObject);
begin
unit23.form23.showmodal;
end;
procedure TForm1.N19Click(Sender: TObject);
var
XLApp, Sheet,Colum:Variant;
index,i:integer;
maxline:string; //Экспортирование данных в Excel
colzap,coluch:integer;
zapisss,zapisss1,sq:string;
begin
sq:='';
XLApp:=CreateOleObject('Excel.
XLApp.Visible:=true;
XLApp.Workbooks.Add();
XLApp.Workbooks[1].WorkSheets[
Colum:=XLApp.Workbooks[1].
colum.Range['A1:D1'].
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.Range['A2:D2'].
colum.Range['A2:D2'].
colum.columns[2].WrapText:=
colum.columns[2].rows[2].
colum.rows[2].RowHeight:=50;
colum.rows[2].font.bold:=true;
colum.rows[2].font.color:=
colum.rows[2].WrapText:=true;
Sheet:=XLApp.Workbooks[1].
Sheet.cells[1,1]:='Дата: '+datetostr(Date);
Sheet.cells[2,1]:='ФИО';
Sheet.cells[2,2]:='Задолженост
Sheet.cells[2,3]:='Задолжность межгород';
Sheet.cells[2,4]:='Итог';
index:=3;
datamodule1.ADOQuery1.Active:=
DataModule1.ADOQuery1.First;
while not DataModule1.ADOQuery1.Eof do
begin
Sheet.cells[index,1]:=
Sheet.cells[index,2]:= DataModule1.ADOQuery1.Fields.
Sheet.cells[index,3]:= DataModule1.ADOQuery1.Fields.
Sheet.cells[index,4]:= DataModule1.ADOQuery1.Fields.
index:=index+1;
DataModule1.ADOQuery1.next;
end;
DataModule1.ADOQuery1.First;
maxline:='A1:'+'D'+inttostr(
colum.Range[maxline].Borders.
maxline:='A2:'+'D'+inttostr(
colum.Range[maxline].
colum.Range[maxline].
{XLApp.selection.Sort(Key1 :=colum.Range['A3:A65000'],
colzap:=3;
maxline:='';
while colzap<>index-1 do
begin
zapisss:=Sheet.cells[colzap,1]
zapisss1:=Sheet.cells[colzap+
if zapisss=zapisss1 then
begin
Sheet.cells[colzap+1,1]:='';
maxline:='A'+inttostr(colzap)+
colum.Range[maxline].
coluch:=colzap+1;
while index<>coluch do
begin
zapisss1:=Sheet.cells[coluch,
if (zapisss1=zapisss) then begin
Sheet.cells[coluch,1]:='';
maxline:='A'+inttostr(colzap)+
colum.Range[maxline].
end;
coluch:=coluch+1;
end;
end;
colzap:=colzap+1;
end; }
end;
procedure TForm1.N21Click(Sender: TObject);
var
XLApp, Sheet,Colum:Variant;
index,i:integer;
maxline:string; //Экспортирование данных в Excel
colzap,coluch:integer;
zapisss,zapisss1,sq:string;
begin
sq:='';
XLApp:=CreateOleObject('Excel.
XLApp.Visible:=true;
XLApp.Workbooks.Add();
XLApp.Workbooks[1].WorkSheets[
Colum:=XLApp.Workbooks[1].
colum.Range['A1:D1'].
colum.Range['A2:D2'].
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.Range['A2:D2'].
colum.Range['A2:D2'].
colum.columns[2].WrapText:=
colum.columns[2].rows[2].
colum.rows[2].RowHeight:=50;
colum.rows[2].font.bold:=true;
colum.rows[2].font.color:=
colum.rows[2].WrapText:=true;
Sheet:=XLApp.Workbooks[1].
Sheet.cells[1,1]:='Дата: '+datetostr(Date);
Sheet.cells[2,1]:='
//Sheet.cells[2,5]:='Средний балл мониторинга';
index:=3;
DataModule1.ADOQuery2.First;
while not DataModule1.ADOQuery2.Eof do
begin
maxline:='A'+inttostr(index)+'
colum.Range[maxline].
Sheet.cells[index,1]:='Линия отрыва ------------------------------
index:=index+1;
maxline:='A'+inttostr(index)+'
colum.Range[maxline].
Sheet.cells[index,1]:='
index:=index+1;
Sheet.cells[index,1]:='
Sheet.cells[index,2]:='
Sheet.cells[index,3]:='
Sheet.cells[index,4]:='Итог';
index:=index+1;
Sheet.cells[index,1]:=
Sheet.cells[index,2]:= DataModule1.ADOQuery2.Fields.
Sheet.cells[index,3]:= DataModule1.ADOQuery2.Fields.
Sheet.cells[index,4]:= DataModule1.ADOQuery2.Fields.
// Sheet.cells[index,5]:= DataModule1.ADOQueryzap.
index:=index+1;
DataModule1.ADOQuery2.next;
end;
DataModule1.ADOQuery2.First;
maxline:='A1:'+'D'+inttostr(
colum.Range[maxline].Borders.
maxline:='A2:'+'D'+inttostr(
colum.Range[maxline].
colum.Range[maxline].
{XLApp.selection.Sort(Key1 :=colum.Range['A3:A65000'],
colzap:=3;
maxline:='';
while colzap<>index-1 do
begin
zapisss:=Sheet.cells[colzap,1]
zapisss1:=Sheet.cells[colzap+
if zapisss=zapisss1 then
begin
Sheet.cells[colzap+1,1]:='';
maxline:='A'+inttostr(colzap)+
colum.Range[maxline].
coluch:=colzap+1;
while index<>coluch do
begin
zapisss1:=Sheet.cells[coluch,
if (zapisss1=zapisss) then begin
Sheet.cells[coluch,1]:='';
maxline:='A'+inttostr(colzap)+
colum.Range[maxline].
end;
coluch:=coluch+1;
end;
end;
colzap:=colzap+1;
end; }
end;
end.
unit Unit2;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, DBCtrls, Grids, DBGrids, StdCtrls, jpeg, Menus,
Buttons;
type
TForm2 = class(TForm)
DBGrid1: TDBGrid;
Label2: TLabel;
Button1: TButton;
Button2: TButton;
Button3: TButton;
Button4: TButton;
Image1: TImage;
Label3: TLabel;
Label1: TLabel;
Label4: TLabel;
Label5: TLabel;
PopupMenu1: TPopupMenu;
N1: TMenuItem;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
procedure Button4Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure N1Click(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form2: TForm2;
implementation
uses Unit1, Unit3,unit11,unit19,unit25;
{$R *.dfm}
procedure TForm2.Button4Click(Sender: TObject);
begin
form2.Close;
end;
procedure TForm2.Button1Click(Sender: TObject);
begin
unit3.DataModule1.adotableab.
unit11.form11.showmodal;
unit3.DataModule1.adotableab.
unit3.DataModule1.adotableab.
end;
procedure TForm2.Button2Click(Sender: TObject);
begin
unit11.form11.showmodal;
unit3.DataModule1.adotableab.
unit3.DataModule1.adotableab.
end;
procedure TForm2.Button3Click(Sender: TObject);
begin
if application.MessageBox(pchar('
end;
procedure TForm2.N1Click(Sender: TObject);
begin
unit19.Form19.tag:=1;
unit19.Form19.ShowModal;
end;
procedure TForm2.BitBtn1Click(Sender: TObject);
begin
unit25.form25.Tag:=1;
unit25.form25.showmodal;
end;
procedure TForm2.BitBtn2Click(Sender: TObject);
begin
dbgrid1.DataSource:=unit3.
end;
end.
unit Unit3;
interface
uses
SysUtils, Classes, DB, ADODB;
type
TDataModule1 = class(TDataModule)
ADOConnection1: TADOConnection;
DataSourceab: TDataSource;
ADOTableab: TADOTable;
ADOTablepol: TADOTable;
DataSourcepol: TDataSource;
ADOTableatc: TADOTable;
DataSourceatc: TDataSource;
ADOTablepr: TADOTable;
DataSourcepr: TDataSource;
ADOTablelg: TADOTable;
DataSourcelg: TDataSource;
ADOTablesot: TADOTable;
DataSourcesot: TDataSource;
DataSourcetar: TDataSource;
ADOTabletar: TADOTable;
ADOTableza: TADOTable;
DataSourceza: TDataSource;
ADOTablepl: TADOTable;
ADOTabletel: TADOTable;
DataSourcepl: TDataSource;
DataSourcetel: TDataSource;
ADOQueryzap: TADOQuery;
DataSourcezap: TDataSource;
ADOQuery1: TADOQuery;
ADOQuery2: TADOQuery;
WideStringField1: TWideStringField;
IntegerField1: TIntegerField;
IntegerField2: TIntegerField;
IntegerField3: TIntegerField;
ADOTableabDSDesigner: TIntegerField;
ADOTableabDSDesigner2: TWideStringField;
ADOTableabDSDesigner3: TWideStringField;
ADOTableabDSDesigner4: TDateTimeField;
ADOTablezaDSDesigner: TIntegerField;
ADOTableza_: TDateTimeField;
ADOTableza_2: TIntegerField;
ADOTableza_3: TIntegerField;
ADOTableatcDSDesigner: TIntegerField;
ADOTableatcDSDesigner2: TWideStringField;
ADOTableatcDSDesigner3: TWideStringField;
ADOTabletelDSDesigner: TIntegerField;
ADOTabletel_: TIntegerField;
ADOTabletelDSDesigner2: TWideStringField;
ADOTabletelDSDesigner3: TWideStringField;
ADOTabletel_2: TIntegerField;
ADOTabletelDSDesigner4: TWideStringField;
ADOTabletelDSDesigner5: TWideStringField;
ADOTabletelDSDesigner6: TWideStringField;
ADOTabletel_3: TIntegerField;
ADOTabletel_4: TIntegerField;
ADOTabletel_5: TIntegerField;
ADOTablelgDSDesigner: TIntegerField;
ADOTablelgDSDesigner2: TWideStringField;
ADOTablelg_: TIntegerField;
ADOTablesotDSDesigner: TIntegerField;
ADOTablesotDSDesigner2: TWideStringField;
ADOTabletarDSDesigner: TIntegerField;
ADOTabletarDSDesigner2: TWideStringField;
ADOTabletarDSDesigner3: TIntegerField;
ADOTableplDSDesigner: TIntegerField;
ADOTablepl_: TIntegerField;
ADOTablepl_2: TIntegerField;
ADOTablepl_3: TIntegerField;
ADOTablepl_4: TDateTimeField;
ADOTablepl__: TIntegerField;
ADOTablepl__2: TIntegerField;
ADOTablepl_5: TIntegerField;
ADOTablepl_6: TIntegerField;
ADOTablepl_7: TIntegerField;
ADOQuery1Field: TStringField;
ADOQuery1_: TFloatField;
ADOQuery1_2: TFloatField;
ADOQuery1Field2: TFloatField;
ADOQuery3: TADOQuery;
DataSource1: TDataSource;
ADOQuery4: TADOQuery;
DataSource2: TDataSource;
DataSource3: TDataSource;
ADOQuery5: TADOQuery;
DataSource4: TDataSource;
ADOQuery6: TADOQuery;
DataSource5: TDataSource;
ADOQuery7: TADOQuery;
procedure ADOTableabNewRecord(DataSet: TDataSet);
procedure ADOTableatcNewRecord(DataSet: TDataSet);
procedure ADOTablelgNewRecord(DataSet: TDataSet);
procedure ADOTablesotNewRecord(DataSet: TDataSet);
procedure ADOTabletarNewRecord(DataSet: TDataSet);
procedure ADOTablezaNewRecord(DataSet: TDataSet);
procedure ADOTableplNewRecord(DataSet: TDataSet);
procedure ADOTabletelNewRecord(DataSet: TDataSet);
private
{ Private declarations }
public
{ Public declarations }
end;
var
DataModule1: TDataModule1;
implementation
uses Unit1, Unit2,unit4,unit5,unit6,unit7,
{$R *.dfm}
procedure TDataModule1.
begin
unit2.Form2.DBGrid1.
end;
procedure TDataModule1.
begin
unit4.Form4.DBGrid1.
end;
procedure TDataModule1.
begin
unit5.Form5.DBGrid1.
end;
procedure TDataModule1.