?? mainunt.pas
字號(hào):
unit mainunt;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, mxOutlookBarPro, ToolWin, ComCtrls, ExtCtrls, ActnList, Grids,Math,
StdCtrls, Buttons, DB,shellapi, ImgList;
type
Tmain = class(TForm)
mxOutlookBarPro1: TmxOutlookBarPro;
StatusBar1: TStatusBar;
Image1: TImage;
Panel1: TPanel;
Edit4: TEdit;
Edit5: TEdit;
Edit6: TEdit;
Edit7: TEdit;
Edit12: TEdit;
Edit11: TEdit;
BitBtn14: TBitBtn;
BitBtn1: TBitBtn;
BitBtn4: TBitBtn;
BitBtn2: TBitBtn;
BitBtn3: TBitBtn;
BitBtn15: TBitBtn;
BitBtn7: TBitBtn;
BitBtn5: TBitBtn;
BitBtn13: TBitBtn;
BitBtn16: TBitBtn;
BitBtn17: TBitBtn;
Edit9: TEdit;
Edit8: TEdit;
Label7: TLabel;
Label8: TLabel;
StringGrid1: TStringGrid;
tempGrid: TStringGrid;
Edit1: TEdit;
Edit2: TEdit;
Edit13: TEdit;
ActionList1: TActionList;
Action1: TAction;
Action2: TAction;
Action3: TAction;
Action4: TAction;
Action5: TAction;
Action6: TAction;
Action7: TAction;
Action8: TAction;
Action9: TAction;
Action10: TAction;
Action12: TAction;
Action13: TAction;
Timer1: TTimer;
BitBtn6: TBitBtn;
Label11: TLabel;
Label10: TLabel;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
DataSource3: TDataSource;
DataSource6: TDataSource;
DataSource2: TDataSource;
DataSource5: TDataSource;
DataSource4: TDataSource;
DataSource1: TDataSource;
Label9: TLabel;
Timer2: TTimer;
ImageList1: TImageList;
BitBtn8: TBitBtn;
Action11: TAction;
procedure StatusBar1DrawPanel(StatusBar: TStatusBar;
Panel: TStatusPanel; const Rect: TRect);
procedure Action1Execute(Sender: TObject);
procedure Action2Execute(Sender: TObject);
procedure Action3Execute(Sender: TObject);
procedure Action4Execute(Sender: TObject);
procedure Action5Execute(Sender: TObject);
procedure Action6Execute(Sender: TObject);
procedure Action7Execute(Sender: TObject);
procedure Action8Execute(Sender: TObject);
procedure Action9Execute(Sender: TObject);
procedure Action10Execute(Sender: TObject);
procedure Action12Execute(Sender: TObject);
procedure Action13Execute(Sender: TObject);
procedure Panel1Resize(Sender: TObject);
procedure vat_ini;
procedure StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
procedure mxOutlookBarPro1Headers0Buttons0Click(Sender: TObject);
procedure mxOutlookBarPro1Headers0Buttons1Click(Sender: TObject);
procedure mxOutlookBarPro1Headers0Buttons2Click(Sender: TObject);
procedure mxOutlookBarPro1Headers0Buttons4Click(Sender: TObject);
procedure mxOutlookBarPro1Headers2Buttons1Click(Sender: TObject);
procedure mxOutlookBarPro1Headers2Buttons0Click(Sender: TObject);
procedure mxOutlookBarPro1Headers3Buttons0Click(Sender: TObject);
procedure mxOutlookBarPro1Headers6Buttons0Click(Sender: TObject);
procedure mxOutlookBarPro1Headers6Buttons1Click(Sender: TObject);
procedure Edit1KeyPress(Sender: TObject; var Key: Char);
procedure Edit5KeyPress(Sender: TObject; var Key: Char);
procedure Timer1Timer(Sender: TObject);
procedure mxOutlookBarPro1Headers3Buttons1Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormCreate(Sender: TObject);
procedure mxOutlookBarPro1Headers4Buttons0Click(Sender: TObject);
procedure mxOutlookBarPro1Headers4Buttons1Click(Sender: TObject);
procedure mxOutlookBarPro1Headers4Buttons2Click(Sender: TObject);
procedure mxOutlookBarPro1Headers7Buttons0Click(Sender: TObject);
procedure mxOutlookBarPro1Headers5Buttons0Click(Sender: TObject);
procedure mxOutlookBarPro1Headers5Buttons1Click(Sender: TObject);
procedure mxOutlookBarPro1Headers9Buttons0Click(Sender: TObject);
procedure mxOutlookBarPro1Headers2Buttons2Click(Sender: TObject);
procedure mxOutlookBarPro1Headers4Buttons3Click(Sender: TObject);
procedure mxOutlookBarPro1Headers5Buttons2Click(Sender: TObject);
procedure mxOutlookBarPro1Headers5Buttons3Click(Sender: TObject);
procedure mxOutlookBarPro1Headers6Buttons2Click(Sender: TObject);
procedure mxOutlookBarPro1Headers6Buttons3Click(Sender: TObject);
procedure mxOutlookBarPro1Headers7Buttons1Click(Sender: TObject);
procedure mxOutlookBarPro1Headers7Buttons2Click(Sender: TObject);
procedure mxOutlookBarPro1Headers8Buttons0Click(Sender: TObject);
procedure mxOutlookBarPro1Headers8Buttons1Click(Sender: TObject);
procedure mxOutlookBarPro1Headers1Buttons1Click(Sender: TObject);
procedure mxOutlookBarPro1Headers6Buttons4Click(Sender: TObject);
procedure mxOutlookBarPro1Headers1Buttons0Click(Sender: TObject);
procedure mxOutlookBarPro1Headers3Buttons2Click(Sender: TObject);
procedure mxOutlookBarPro1Headers3Buttons3Click(Sender: TObject);
procedure mxOutlookBarPro1Headers5Buttons4Click(Sender: TObject);
procedure mxOutlookBarPro1Headers2Buttons3Click(Sender: TObject);
procedure Timer2Timer(Sender: TObject);
procedure Edit1Enter(Sender: TObject);
procedure Edit1Exit(Sender: TObject);
procedure Edit5Enter(Sender: TObject);
procedure Edit5Exit(Sender: TObject);
procedure FormActivate(Sender: TObject);
procedure mxOutlookBarPro1Headers6Buttons5Click(Sender: TObject);
procedure Action11Execute(Sender: TObject);
procedure mxOutlookBarPro1Headers7Buttons3Click(Sender: TObject);
procedure mxOutlookBarPro1Headers7Buttons4Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
sellno:string;
end;
var
main: Tmain;
usrname,psmf:string;
sno:integer;
implementation
uses data, jswcunt, thmainunt, vipxzunt,maind,datam,printsetupunt, hyszunt,
pswunt, sysiniunt, xtszunt, thunt, hyunt, drmainunt, rlunt, dcunt,
mrxsfxunt, yjunt, login, hyqkcx, kcqkunt, qdsxunt, hyxfphunt,
jgwhunt, spxsphbunt, drcxunt, dccxunt, lyunt, sjbfunt, sjhfunt,
ckdyjlunt, cklyunt, hbunt, drwhunt, dcwhunt, thcxunt, thwhunt, changeunt,
pdunt, update;
{$R *.dfm}
//初始化數(shù)據(jù)
procedure Tmain.vat_ini;
var
i,j:integer;
begin
edit1.Text:='';
edit2.Text:='0';
// edit3.Text:='0';
edit4.Text:='';
edit5.Text:='';
edit6.Text:='0';
edit7.Text:='0';
edit13.Text:='0';
sno:=1;
with stringgrid1 do
begin
for i:=1 to RowCount do
for j:=0 to stringgrid1.ColCount-1 do
cells[j,i]:='';
end;
edit1.SetFocus;
end;
procedure Tmain.StatusBar1DrawPanel(StatusBar: TStatusBar;
Panel: TStatusPanel; const Rect: TRect);
begin
case Panel.ID of
0: begin
StatusBar.Canvas.Brush.Color :=$00FFE1C4;
StatusBar.Canvas.Font.Color :=clred;
StatusBar.Canvas.Font.Size :=12;
//statusbar.Canvas.Draw(0,0,application.Icon);
end;
1: StatusBar.Canvas.Brush.Color :=$00FFE1C4;
2: StatusBar.Canvas.Brush.Color :=$00FFE1C4;
end;
StatusBar1.Canvas.TextRect(Rect, Rect.Left, Rect.Top, Panel.Text);
end;
procedure Tmain.Action1Execute(Sender: TObject);
var
k,l:integer;
total_g:string;
begin
sellno:=create_sell_no('sellm');
timer1.Enabled:=false;
if edit5.Text ='' then
begin
messagedlg('對(duì)不起!,你沒有輸入會(huì)員卡號(hào),不是會(huì)員消費(fèi)!',mtinformation,[mbOk],0);
exit;
end;
if stringgrid1.Cells[1,1]='' then exit;
if (strtofloatdef(edit7.Text,0)<0) or (strtofloatdef(edit7.Text,0)>1) then exit;
for l:=sno-1 downto 1 do
if (stringgrid1.Cells[5,l]='0') or (stringgrid1.Cells[5,l]='')then exit;
try
Dataman.ADOCon.BeginTrans;
//主表的插入
with Dataman.xsmQuery do
begin
open;
append;
fieldbyname('銷售編號(hào)').asstring :=sellno; //編號(hào)的計(jì)算
fieldbyname('VIP卡號(hào)').asstring :=trim(edit5.Text);
fieldbyname('銷售日期').AsDateTime :=date();
fieldbyname('銷售時(shí)間').AsDateTime :=time();
fieldbyname('員工編號(hào)').asstring :=trim(edit8.text);
fieldbyname('商品數(shù)量').asstring :=trim(edit13.Text);
fieldbyname('商品金額').AsFloat :=round(strtofloatdef(trim(edit2.Text),0));
post;
end;
total_g:=floattostr(strtofloatdef(trim(edit2.Text),0)*strtofloatdef(edit7.Text,0));
// 明細(xì)表輸入
with Dataman.xsQuery do
begin
open;
for k:=1 to 13 do
begin
if trim(stringgrid1.Cells[1,k])='' then break;
Append;
FieldByName('銷售編號(hào)').AsString :=sellno;
fieldbyname('貨物條形碼').AsString :=trim(stringgrid1.Cells[1,k]);
fieldbyname('銷售價(jià)格').AsString :=trim(stringgrid1.Cells[3,k]);
fieldbyname('數(shù)量').AsString :=trim(stringgrid1.Cells[2,k]);
fieldbyname('折扣').AsString :=trim(stringgrid1.Cells[4,k]);
fieldbyname('總額').AsString :=trim(stringgrid1.Cells[5,k]);
post;
end;
end;
//插入會(huì)員消費(fèi)狀態(tài)表
with Dataman.xfztQuery do
begin
close;
sql.Clear;
sql.Add('select * from consume where VIP卡號(hào)='''+edit5.text+'''');
prepared;
open;
end;
with Dataman.xfqkQuery do
begin
if Dataman.xfztQuery.recordCount<>0 then
begin
close;
sql.Clear;
sql.Add('update consume set 會(huì)員消費(fèi)總金額 =:xf,最近交易日=:jdate,最近交易額=:jjg where VIP卡號(hào)='''+edit5.text+'''');
parameters.ParamByName('xf').Value:=strtofloatdef(edit6.text,0)+strtofloatdef(edit2.text,0);
parameters.ParamByName('jdate').Value:=date();
parameters.ParamByName('jjg').Value:=strtofloatdef(edit2.text,0);
ExecSQL;
end
else
begin
close;
sql.Clear;
sql.Add('insert into consume values(:vno,:vxf,:jdate,:jjg)');
parameters.ParamByName('vno').Value :=edit5.Text;
parameters.ParamByName('vxf').Value :=strtofloatdef(edit2.Text,0);
parameters.ParamByName('jdate').Value:=date();
parameters.ParamByName('jjg').Value :=strtofloatdef(edit2.text,0);
execsql;
end;
end;
// 庫存數(shù)據(jù)修改
with Dataman.hkcQuery do
begin
close;
sql.Clear;
for k:=1 to 13 do
begin
if trim(stringgrid1.Cells[1,k])='' then break;
sql.Add('update kc set 庫存數(shù)量=庫存數(shù)量-:gnunb where 貨物條形碼 =:gno');
parameters.ParamByName('gnunb').Value:=trim(stringgrid1.Cells[2,k]);
parameters.ParamByName('gno').Value:=trim(stringgrid1.Cells[1,k]);
execsql;
end;
end;
Dataman.xsmQuery.UpdateBatch();
Dataman.xsQuery.UpdateBatch();
Dataman.xfztQuery.UpdateBatch();
Dataman.ADOCon.CommitTrans;
except
begin
Dataman.ADOCon.RollbackTrans;
showmessage('交易沒有成功!');
exit;
timer1.Enabled:=true;
end;
end;
Dataman.xsmquery.close;
Dataman.xsquery.close;
dataman.hkcQuery.Close;
//結(jié)帳界面的顯示
IF jswcfrm=nil THEN Application.CreateForm(Tjswcfrm,jswcfrm);
jswcfrm.Label2.Caption :=floattostr(round(strtofloatdef(trim(edit2.Text),0)));
jswcfrm.showmodal;
timer1.Enabled:=true;
end;
procedure Tmain.Action2Execute(Sender: TObject);
begin
if trim(stringgrid1.Cells[1,1])='' then exit;
if trim(stringgrid1.Cells[2,stringgrid1.row])='' then
begin
stringgrid1.Row:=1; exit;
end;
stringgrid1.Cells[2,sno-1] :=edit1.Text;
edit1.Text:='';
edit1.SetFocus;
end;
procedure Tmain.Action3Execute(Sender: TObject);
begin
if trim(stringgrid1.Cells[1,1])='' then exit;
if trim(stringgrid1.Cells[3,stringgrid1.row])='' then
begin
stringgrid1.Row:=1; exit;
end;
stringgrid1.Cells[3,sno-1] :=edit1.Text;
edit1.Text:='';
edit1.SetFocus;
end;
procedure Tmain.Action4Execute(Sender: TObject);
begin
IF thmainfrm=nil THEN Application.CreateForm(Tthmainfrm,thmainfrm);
thmainfrm.showmodal;
end;
procedure Tmain.Action5Execute(Sender: TObject);
begin
IF vipxzfrm=nil THEN Application.CreateForm(Tvipxzfrm,vipxzfrm);
vipxzfrm.showmodal;
end;
procedure Tmain.Action6Execute(Sender: TObject);
begin
vat_ini;
end;
procedure Tmain.Action7Execute(Sender: TObject);
begin
if trim(stringgrid1.Cells[1,1])='' then exit;
if trim(stringgrid1.Cells[4,stringgrid1.row])='' then
begin
stringgrid1.Row:=1; exit;
end;
stringgrid1.Cells[4,sno-1] :=edit1.Text;
edit1.Text:='';
edit1.SetFocus;
end;
procedure Tmain.Action8Execute(Sender: TObject);
var
k,m:integer;
begin
sellno:=create_sell_no('sellm');
timer1.Enabled:=false;
if trim(edit5.Text)<>'' then
begin
messagedlg('對(duì)不起!你已經(jīng)輸入會(huì)員卡號(hào),是會(huì)員消費(fèi)!',mtinformation,[mbOK],0);
exit;
end;
if edit12.Text ='' then exit;
if stringgrid1.Cells[1,1]='' then exit;
if (strtofloatdef(edit11.Text,0)<0) or (strtofloatdef(edit11.Text,0)>1) then exit;
for m:=sno-1 downto 1 do
if (stringgrid1.Cells[5,m]='0') or (stringgrid1.Cells[5,m]='')then exit;
try
Dataman.ADOCon.BeginTrans;
//主表數(shù)據(jù)插入
with Dataman.xsmQuery do
begin
open;
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -