書店銷售管理系統(tǒng)源代碼_第1頁
書店銷售管理系統(tǒng)源代碼_第2頁
書店銷售管理系統(tǒng)源代碼_第3頁
書店銷售管理系統(tǒng)源代碼_第4頁
書店銷售管理系統(tǒng)源代碼_第5頁
已閱讀5頁,還剩22頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、.:.;書店銷售管理系統(tǒng) Delphi 源代碼program Book_Manager;uses Forms, uni_main in uni_main.pas frm_main, uni_out in uni_out.pas frm_out, uni_DM in uni_DM.pas DM: TDataModule, uni_in in uni_in.pas frm_in, uni_book in uni_book.pas frm_book;$R *.resbegin Application.Initialize; Application.CreateForm(Tfrm_main, frm_

2、main); Application.Run;end.unit uni_main;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Menus, ComCtrls, ToolWin, ImgList;type Tfrm_main = class(TForm) MainMenu1: TMainMenu; N1: TMenuItem; N2: TMenuItem; N3: TMenuItem; N4: TMenuItem; N5: TMenuItem;

3、N6: TMenuItem; N7: TMenuItem; N8: TMenuItem; N9: TMenuItem; N10: TMenuItem; ToolBar1: TToolBar; ToolButton1: TToolButton; ToolButton2: TToolButton; ToolButton3: TToolButton; ToolButton4: TToolButton; ToolButton5: TToolButton; ImageList1: TImageList; ToolButton6: TToolButton; ToolButton7: TToolButton

4、; procedure N2Click(Sender: TObject); procedure FormCreate(Sender: TObject); procedure N3Click(Sender: TObject); procedure N4Click(Sender: TObject); procedure ToolButton1Click(Sender: TObject); procedure ToolButton2Click(Sender: TObject); procedure ToolButton3Click(Sender: TObject); procedure N6Clic

5、k(Sender: TObject); procedure ToolButton4Click(Sender: TObject); procedure N7Click(Sender: TObject); procedure ToolButton5Click(Sender: TObject); procedure N9Click(Sender: TObject); procedure N10Click(Sender: TObject); procedure ToolButton6Click(Sender: TObject); procedure ToolButton7Click(Sender: T

6、Object); private Private declarations public Public declarations end;var frm_main: Tfrm_main;implementationuses uni_out,uni_dm, uni_in, uni_book;$R *.dfmprocedure Tfrm_main.N2Click(Sender: TObject);var i:integer;begin for i:=0 to frm_main.MDIChildCount-1 do begin if frm_main.MDIChildreni=frm_out the

7、n begin frm_out.PageControl1.ActivePageIndex:=0; exit; end; end; application.CreateForm(Tfrm_out,frm_out); frm_out.PageControl1.ActivePageIndex:=0;end;procedure Tfrm_main.FormCreate(Sender: TObject);begin Application.CreateForm(Tdm,dm);end;procedure Tfrm_main.N3Click(Sender: TObject);var i:integer;b

8、egin for i:=0 to frm_main.MDIChildCount-1 do begin if frm_main.MDIChildreni=frm_out then begin frm_out.PageControl1.ActivePageIndex:=1; exit; end; end; application.CreateForm(Tfrm_out,frm_out); frm_out.PageControl1.ActivePageIndex:=1;end;procedure Tfrm_main.N4Click(Sender: TObject);var i:integer;beg

9、in for i:=0 to frm_main.MDIChildCount-1 do begin if frm_main.MDIChildreni=frm_out then begin frm_out.PageControl1.ActivePageIndex:=2; exit; end; end; application.CreateForm(Tfrm_out,frm_out); frm_out.PageControl1.ActivePageIndex:=2;end;procedure Tfrm_main.ToolButton1Click(Sender: TObject);begin N2Cl

10、ick(Sender);end;procedure Tfrm_main.ToolButton2Click(Sender: TObject);begin N3Click(Sender);end;procedure Tfrm_main.ToolButton3Click(Sender: TObject);begin N4Click(Sender);end;procedure Tfrm_main.N6Click(Sender: TObject);var i:integer;begin for i:=0 to frm_main.MDIChildCount-1 do begin if frm_main.M

11、DIChildreni=frm_in then begin frm_in.PageControl1.ActivePageIndex:=0; exit; end; end; application.CreateForm(Tfrm_in,frm_in); frm_in.PageControl1.ActivePageIndex:=0;end;procedure Tfrm_main.ToolButton4Click(Sender: TObject);begin N6Click(Sender);end;procedure Tfrm_main.N7Click(Sender: TObject);var i:

12、integer;begin for i:=0 to frm_main.MDIChildCount-1 do begin if frm_main.MDIChildreni=frm_in then begin frm_in.PageControl1.ActivePageIndex:=1; exit; end; end; application.CreateForm(Tfrm_in,frm_in); frm_in.PageControl1.ActivePageIndex:=1;end;procedure Tfrm_main.ToolButton5Click(Sender: TObject);begi

13、n N7Click(Sender);end;procedure Tfrm_main.N9Click(Sender: TObject);var i:integer;begin for i:=0 to frm_main.MDIChildCount-1 do begin if frm_main.MDIChildreni=frm_book then begin frm_book.PageControl1.ActivePageIndex:=0; exit; end; end; application.CreateForm(Tfrm_book,frm_book); frm_book.PageControl

14、1.ActivePageIndex:=0;end;procedure Tfrm_main.N10Click(Sender: TObject);var i:integer;begin for i:=0 to frm_main.MDIChildCount-1 do begin if frm_main.MDIChildreni=frm_book then begin frm_book.PageControl1.ActivePageIndex:=1; exit; end; end; application.CreateForm(Tfrm_book,frm_book); frm_book.PageCon

15、trol1.ActivePageIndex:=1;end;procedure Tfrm_main.ToolButton6Click(Sender: TObject);begin N9Click(Sender);end;procedure Tfrm_main.ToolButton7Click(Sender: TObject);begin N10Click(Sender);end;end.unit uni_out;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dial

16、ogs, ComCtrls, DB, ADODB, Grids, DBGrids, StdCtrls, ExtCtrls;type Tfrm_out = class(TForm) PageControl1: TPageControl; TabSheet1: TTabSheet; cb_id: TComboBox; Label1: TLabel; Label2: TLabel; edt_name: TEdit; Label3: TLabel; edt_price: TEdit; Label4: TLabel; edt_num: TEdit; Label5: TLabel; edt_publish

17、er: TEdit; Label6: TLabel; edt_writer: TEdit; Label7: TLabel; edt_date: TEdit; DBGrid1: TDBGrid; Label8: TLabel; ds_out: TDataSource; btn_OK: TButton; qy_book:TADOQuery; qy_out: TADOQuery; Panel1: TPanel; TabSheet2: TTabSheet; edt_year: TEdit; Label9: TLabel; qy_outBookID: TWideStringField; qy_outBo

18、okName: TWideStringField; qy_outDate: TWideStringField; qy_outNum: TIntegerField; qy_outPrice: TBCDField; qy_outtotal: TCurrencyField; Label10: TLabel; edt_month: TEdit; Label11: TLabel; edt_day: TEdit; Label12: TLabel; btn_date: TButton; qy_day: TADOQuery; ds_day: TDataSource; DBGrid2: TDBGrid; lbl

19、_caption: TLabel; btn_day: TButton; qy_create: TADOQuery; TabSheet3: TTabSheet; Label13: TLabel; edt_year1: TEdit; cb_month: TComboBox; Label14: TLabel; qy_month: TADOQuery; ds_month: TDataSource; grid_month: TDBGrid; btn_month: TButton; qy_view: TADOQuery; ds_view: TDataSource; grid_view: TDBGrid;

20、lbl_month: TLabel; qy_dayBookID: TWideStringField; qy_dayBookName: TWideStringField; qy_dayDate: TWideStringField; qy_dayNum: TIntegerField; qy_dayPrice: TBCDField; qy_viewBookID: TWideStringField; qy_viewBookName: TWideStringField; qy_viewNum: TIntegerField; qy_viewAvePrice: TBCDField; qy_viewTotal

21、: TBCDField; qy_monthBookID: TWideStringField; qy_monthBookName: TWideStringField; qy_monthDate: TWideStringField; qy_monthNum: TIntegerField; qy_monthPrice: TBCDField; procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure FormCreate(Sender: TObject); procedure cb_idChange(Sender

22、: TObject); procedure btn_OKClick(Sender: TObject); procedure qy_outCalcFields(DataSet: TDataSet); procedure btn_dateClick(Sender: TObject); procedure btn_dayClick(Sender: TObject); procedure cb_monthChange(Sender: TObject); procedure btn_monthClick(Sender: TObject); private Private declarations pub

23、lic Public declarations end;var frm_out: Tfrm_out; today,dayStr,month:String; bookNum:Integer;implementationuses uni_DM;$R *.dfmprocedure Tfrm_out.FormClose(Sender: TObject; var Action: TCloseAction);begin action:=cafree;end;procedure Tfrm_out.FormCreate(Sender: TObject);begin today:=formatdatetime(

24、yyyy-m-d,now); with qy_book do begin close; sql.Clear; sql.Add(select id from book); try open; first; while not eof do begin cb_id.Items.Add(fieldbyname(id).AsString); next; end; finally close; end; end; with qy_out do begin close; sql.Clear; sql.Add(select * from bookout where date=+quotedstr(today

25、); try open; except showmessage(!); exit; end; end;end;procedure Tfrm_out.cb_idChange(Sender: TObject);begin if cb_id.Text= then exit; with qy_book do begin close; sql.Clear; sql.Add(select * from book where id=+quotedstr(cb_id.Text); try Execsql; open; first; edt_name.Text:=fieldbyname(name).AsStri

26、ng; edt_writer.Text:=fieldbyname(writer).AsString; edt_price.Text:=floattostr(fieldbyname(price).AsFloat*fieldbyname(discount).AsFloat); edt_publisher.Text:=fieldbyname(publisher).AsString; edt_date.Text:=fieldbyname(publishdate).AsString; bookNum:=fieldbyname(num).AsInteger; except showmessage(); c

27、lose; end; end; btn_ok.Enabled:=true;end;procedure Tfrm_out.btn_OKClick(Sender: TObject);var num:integer; numOut:integer;begin try numout:=strtoint(edt_num.Text); except showmessage(); exit; end; if numoutbookNum then begin showmessage(+inttostr(bookNum)+,); exit; end; with qy_out do begin close; sq

28、l.Clear; sql.Add(select * from bookout where bookID=+quotedstr(cb_id.Text); sql.Add( and date=+quotedstr(today); try open; if recordcount0 then /, begin num:=numout+fieldbyname(num).AsInteger; close; sql.Clear; sql.Add(update bookout set num=+inttostr(num)+ where bookID=); sql.Add(quotedstr(cb_id.Te

29、xt)+ and date=+quotedstr(today); execsql; end else begin /, close; sql.Clear; sql.Add(select * from bookout); open; append; fieldbyname(bookid).AsString:=cb_id.Text; fieldbyname(bookname).AsString:=edt_name.Text; fieldbyname(date).AsString:=today; fieldbyname(num).AsInteger:=strtoint(edt_num.Text);

30、fieldbyname(price).AsCurrency:=strtofloat(edt_price.Text); post; end; sql.Clear; / sql.Add(select * from bookout where date=+quotedstr(today); open; except showmessage(!); exit; end; end; showmessage(); btn_ok.Enabled:=false; edt_name.Text:=; edt_writer.Text:=; edt_publisher.Text:=; edt_date.Text:=;

31、 edt_price.Text:=; with qy_book do begin close; sql.Clear; sql.Add(select * from book where id=+quotedstr(cb_id.Text); try open; edit; fieldbyname(num).AsInteger:=bookNum-strtoint(edt_num.text); post; finally close; end; end;end;procedure Tfrm_out.qy_outCalcFields(DataSet: TDataSet);begin qy_outtota

32、l.Value:=qy_outprice.Value*qy_outnum.Value;end;procedure Tfrm_out.btn_dateClick(Sender: TObject);var day:TDateTime;begin dayStr:=edt_year.Text+-+edt_month.Text+-+edt_day.Text; try day:=strtodatetime(dayStr); if day=now then begin showmessage(); exit; end; except showmessage(); exit; end; with qy_day

33、 do begin close; sql.Clear; sql.Add(select * from bookout where date=+quotedstr(dayStr); try open; except showmessage(); exit; end; end; lbl_caption.Caption:=edt_year.Text+edt_month.Text+edt_day.Text+ +; btn_day.Enabled:=true;end;procedure Tfrm_out.btn_dayClick(Sender: TObject);var tablename:String;

34、begin tablename:=formatdatetime(yyyymmdd,strtodatetime(dayStr); with qy_create do begin close; sql.Clear; sql.Add(select bookid,bookname,num,price into +tablename+ from bookout); sql.Add( where date=+quotedstr(dayStr); try execsql; except showmessage(); exit; end; end; showmessage(); btn_day.Enabled

35、:=false;end;procedure Tfrm_out.cb_monthChange(Sender: TObject);var y,m:string;begin y:=formatdatetime(yyyy,now); m:=formatdatetime(m,now); try if (strtoint(edt_year1.Text)strtoint(y)or(strtoint(edt_year1.Text)=strtoint(y) and (strtoint(cb_month.Text)=strtoint(m) then begin showmessage(); exit; end;

36、except showmessage(); exit; end; month:=edt_year1.Text+-+cb_month.Text; with qy_month do begin close; sql.Clear; sql.Text:=select * from bookout where date like ; sql.Text:=sql.Text+quotedstr(month+-%)+ order by bookID; try open; grid_month.Visible:=true; grid_view.Visible:=false; except showmessage

37、(); close; exit; end; end; btn_month.Enabled:=true; lbl_month.Caption:=edt_year1.Text+cb_month.Text+;end;procedure Tfrm_out.btn_monthClick(Sender: TObject);var id,bookname:string; num:integer; total,AvePrice:currency; TableName:String;begin TableName:=edt_year1.Text+cb_month.Text; with qy_create do

38、begin close; sql.Clear; sql.Add(select * into +tablename+ from monthout); try execsql; except showmessage(); qy_view.close; qy_view.SQL.Clear; qy_view.SQL.Add(select * from +tablename); qy_view.open; grid_month.Visible:=false; grid_view.Visible:=true; lbl_month.Caption:=edt_year1.Text+cb_month.Text+

39、; exit; end; sql.Clear; sql.Add(select * from +tablename); try open; append; qy_month.First; id:=qy_month.fieldbyname(bookid).AsString; bookname:=qy_month.fieldbyname(bookname).AsString; num:=0; total:=0; while not qy_month.Eof do begin if id=qy_month.FieldByName(bookid).AsString then begin num:=num

40、+qy_month.fieldbyname(num).AsInteger; total:=total+qy_month.fieldbyname(price).AsCurrency*qy_month.fieldbyname(num).AsInteger; end else begin AvePrice:=total/num; fieldbyname(bookid).AsString:=id; fieldbyname(bookname).AsString:=bookname; fieldbyname(AvePrice).AsCurrency:=Aveprice; fieldbyname(num).

41、AsInteger:=num; fieldbyname(total).AsCurrency:=total; post; append; id:=qy_month.fieldbyname(bookid).AsString; bookname:=qy_month.fieldbyname(bookname).AsString; num:=qy_month.fieldbyname(num).AsInteger; total:=qy_month.fieldbyname(num).AsInteger*qy_month.fieldbyname(price).AsCurrency; end; qy_month

42、.Next; end; AvePrice:=total/num; fieldvaluesbookid:=id; fieldvaluesbookname:=bookname; fieldvaluesAvePrice:=Aveprice; fieldvaluesnum:=num; fieldvaluestotal:=total; post; updatebatch; except showmessage(); exit; end; end; showmessage(); qy_create.Close; qy_view.Close; qy_view.SQL.Clear; qy_view.SQL.A

43、dd(select * from +tablename); qy_view.Open; grid_month.Visible:=false; grid_view.Visible:=true; lbl_month.Caption:=edt_year1.Text+cb_month.Text+; btn_month.Enabled:=false;end;end.unit uni_DM;interfaceuses SysUtils, Classes, DB, ADODB;type TDM = class(TDataModule) ADOConnection1: TADOConnection; priv

44、ate Private declarations public Public declarations end;var DM: TDM;implementation$R *.dfmend.unit uni_in;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, DB, ADODB, ComCtrls, StdCtrls, Grids, DBGrids;type Tfrm_in = class(TForm) Panel1: TPan

45、el; PageControl1: TPageControl; TabSheet1: TTabSheet; TabSheet2: TTabSheet; qy_in: TADOQuery; ds_in: TDataSource; Label1: TLabel; cb_bookid: TComboBox; qy_book: TADOQuery; Label2: TLabel; edt_priceIn: TEdit; edt_num: TEdit; Label3: TLabel; Label4: TLabel; edt_bookname: TEdit; Label5: TLabel; edt_wri

46、ter: TEdit; Label6: TLabel; edt_publisher: TEdit; Label7: TLabel; edt_price: TEdit; btn_import: TButton; Label9: TLabel; edt_pubDate: TEdit; DBGrid1: TDBGrid; qy_inBookID: TWideStringField; qy_inDate: TWideStringField; qy_inNum: TIntegerField; qy_inPrice: TBCDField; Label8: TLabel; Label10: TLabel;

47、edt_year: TEdit; Label11: TLabel; edt_month: TEdit; Label12: TLabel; edt_OK: TButton; data_month: TADODataSet; ds_month: TDataSource; DBGrid2: TDBGrid; Label13: TLabel; cb_bookid1: TComboBox; data_monthBookID: TWideStringField; data_monthDate: TWideStringField; data_monthNum: TIntegerField; data_mon

48、thPrice: TBCDField; data_monthbookname: TStringField; procedure FormCreate(Sender: TObject); procedure cb_bookidChange(Sender: TObject); procedure btn_importClick(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure edt_OKClick(Sender: TObject); procedure cb_bo

49、okid1Change(Sender: TObject); private Private declarations public Public declarations end;var frm_in: Tfrm_in; today,month:String; bookNum:integer; bookExist:boolean;implementationuses uni_dm;$R *.dfmprocedure Tfrm_in.FormCreate(Sender: TObject);begin today:=formatdatetime(yyyy-m-d,now); with qy_boo

50、k do begin close; sql.Clear; sql.Add(select id from book); try open; first; while not eof do begin cb_bookid.Items.Add(fieldbyname(id).AsString); next; end; cb_bookid1.Items:=cb_bookid.Items; finally close; sql.Text:=select * from book; end; end; with qy_in do begin close; sql.Clear; sql.Add(select

51、* from bookin where date=+quotedstr(today); open; end;end;procedure Tfrm_in.cb_bookidChange(Sender: TObject);begin with qy_book do begin close; sql.Clear; sql.Add(select * from book where id=+quotedstr(cb_bookid.Text); try open; if recordcount0 then / begin bookExist:=true; edt_bookname.Text:=fieldb

52、yname(name).AsString; edt_writer.Text:=fieldbyname(writer).AsString; edt_price.text:=fieldbyname(price).asstring; edt_pubdate.Text:=fieldbyname(publishdate).AsString; edt_publisher.Text:=fieldbyname(publisher).AsString; end else bookExist:=false; finally close; sql.text:=select * from book; end; end

53、;end;procedure Tfrm_in.btn_importClick(Sender: TObject);var num:integer; pricein,price:currency; pubdate:String;begin if (cb_bookid.Text=) or(edt_bookname.Text=) or (edt_writer.Text=) or (edt_pricein.Text=) or (edt_price.Text=) or (edt_num.Text=) or (edt_pubdate.Text=) or (edt_publisher.Text=) then

54、begin showmessage(); exit; end; try pricein:=strtofloat(edt_pricein.Text); price:=strtofloat(edt_price.Text); num:=strtoint(edt_num.Text); pubdate:=formatdatetime(yyyy-m-d,strtodatetime(edt_pubdate.Text); except showmessage(); exit; end; with qy_in do begin close; sql.Clear; sql.Add(select * from bo

55、okin); try open; append; / fieldbyname(bookid).AsString:=cb_bookid.Text; fieldbyname(price).AsCurrency:=pricein; fieldbyname(date).AsString:=today; fieldbyname(num).AsInteger:=num; post; close; sql.Clear; sql.Add(select * from bookin where date=+quotedstr(today); open; / except showmessage(); exit;

56、end; end; with qy_book do / begin close; sql.Clear; try if bookExist then / begin sql.Text:=update book set num=+inttostr(bookNum+num)+ where id=+quotedstr(cb_bookid.Text); execsql; end else begin / sql.Add(select * from book); open; append; fieldbyname(id).AsString:=cb_bookid.Text; fieldbyname(name

57、).AsString:=edt_bookname.Text; fieldbyname(writer).AsString:=edt_writer.Text; fieldbyname(price).AsCurrency:=price; fieldbyname(publisher).AsString:=edt_publisher.Text; fieldbyname(publishDate).AsString:=pubdate; fieldbyname(num).AsInteger:=num; post; end; except showmessage(); close; exit; end; sql

58、.Text:=select * from book; showmessage(); edt_bookname.Text:=; edt_publisher.Text:=; edt_pubdate.Text:=; edt_price.Text:=; edt_pricein.Text:=; edt_writer.Text:=; edt_num.Text:=; end;end;procedure Tfrm_in.FormClose(Sender: TObject; var Action: TCloseAction);begin action:=cafree;end;procedure Tfrm_in.

59、edt_OKClick(Sender: TObject);var y,m:String;begin y:=formatdatetime(yyyy,now); m:=formatdatetime(m,now); try if (strtoint(edt_year.Text)strtoint(y)or(strtoint(edt_year.Text)=strtoint(y) and (strtoint(edt_month.Text)=strtoint(m) then begin showmessage(); exit; end; except showmessage(); exit; end; mo

60、nth:=edt_year.Text+-+edt_month.Text; with data_month do begin commandtext:=select * from bookin where date like +quotedstr(month+-%); active:=true; end;end;procedure Tfrm_in.cb_bookid1Change(Sender: TObject);begin if(edt_year.Text=)then begin showmessage(!); exit; end; if cb_bookid1.Text= then exit;

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論