📄 sumheji.pas
字号:
unit SUMHEJI;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, Grids, DBGrids, StdCtrls, ComCtrls, Buttons, ExtCtrls,
dxExEdtr, dxTL, dxDBCtrl, dxDBGrid, dxCntner, dxEditor, dxEdLib;
type
TFRMSUM = class(TForm)
Panel1: TPanel;
Panel2: TPanel;
Button1: TButton;
Button2: TButton;
Edid: TEdit;
Czt: TComboBox;
Clx: TComboBox;
dxCurrencyEdit1: TdxCurrencyEdit;
DateTimePicker1: TDateTimePicker;
Cdd: TComboBox;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Edlist: TEdit;
Label7: TLabel;
procedure Button2Click(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure EdidKeyPress(Sender: TObject; var Key: Char);
procedure EdidKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure CztKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure ClxKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure dxCurrencyEdit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure DateTimePicker1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure CddKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
private
{ Private declarations }
public
{ Public declarations }
end;
var
FRMSUM: TFRMSUM;
implementation
USES UDM;
{$R *.dfm}
procedure TFRMSUM.Button2Click(Sender: TObject);
begin
close;
end;
procedure TFRMSUM.FormShow(Sender: TObject);
var
counter:Integer;
id:string;
begin
Edlist.Enabled:=False;
Edlist.Color:=clScrollBar;
Edid.Text:='';
Czt.Text:='';
Clx.Text:='';
Cdd.Text:='';
DateTimePicker1.Date:=Date;
with dm.qrytemp do
begin
Close;
SQL.Clear;
SQL.Add('select djzt from meun_zt');
Prepared;
Open;
end;
Czt.Items.Clear;
while not dm.qrytemp.Eof do
begin
Czt.Items.Append(dm.qrytemp.Fields[0].AsString);
DM.qrytemp.Next;
end;
with dm.qrytemp do
begin
Close;
SQL.Clear;
SQL.Add('select typename from typeunit');
Prepared;
Open;
end;
Clx.Items.Clear;
while not dm.qrytemp.Eof do
begin
Clx.Items.Append(dm.qrytemp.Fields[0].AsString);
DM.qrytemp.Next;
end;
with dm.qrytemp do
begin
close;
sql.Clear;
sql.Add('select * from ly_place');
prepared;
open;
end;
Cdd.Items.Clear;
while not dm.qrytemp.Eof do
begin
Cdd.Items.Append(dm.qrytemp.Fields[2].asstring);
dm.qrytemp.Next;
end;
with DM.T_COUNTER do
begin
Filter:='id=''B''';
Filtered:=true;
open;
counter:=fieldbyname('countervalues').AsInteger;
inc(counter);
edit;
fieldbyname('countervalues').AsInteger:=counter;
post;
close;
end;
id:='000'+inttostr(counter);
id:=copy(id,length(id)-3,4);
id:=formatdatetime('yyyy',now)+id;
Edlist.Text:=id;
end;
procedure TFRMSUM.Button1Click(Sender: TObject);
begin
if not DM.ADOlibnumberls.Locate('numberid;numbertype;libnumberplace',VarArrayOf([Edid.Text,Clx.Text,Cdd.Text]),[]) then
begin
if Cdd.Text='前台' then
begin
with dm.qrytemp do
begin
Close;
SQL.Clear;
SQL.Add('insert into libnumberls');
SQL.Add('(list,numberid,numbertype,hxbz,rq,lypername,jine,A,B,libnumberplace,zt,sxdm)');
SQL.Add('values(:list,:numberid,:numbertype,1,:djdate,:lypername,:jine,1,1,:libnumberplace,:ZT,''01'')');
Parameters.ParamByName('list').Value:=Edlist.Text;
Parameters.ParamByName('numberid').Value:=Edid.Text;
Parameters.ParamByName('numbertype').Value:=Clx.Text;
Parameters.ParamByName('djdate').Value:=DateTimePicker1.Date;
Parameters.ParamByName('lypername').Value:=dm.hname;
Parameters.ParamByName('jine').Value:=dxCurrencyEdit1.Value;
Parameters.ParamByName('libnumberplace').Value:=Cdd.Text;
Parameters.ParamByName('zt').Value:=Czt.Text;
try
ExecSQL;
except
MessageBox(Handle,'添加数据失败','系统提示',MB_ICONINFORMATION+MB_OKCANCEL);
Exit;
end;
end;
end
else
if Cdd.Text='大堂吧' then
begin
with dm.qrytemp do
begin
Close;
SQL.Clear;
SQL.Add('insert into libnumberls');
SQL.Add('(list,numberid,numbertype,hxbz,rq,lypername,jine,A,B,libnumberplace,zt,sxdm)');
SQL.Add('values(:list,:numberid,:numbertype,1,:djdate,:lypername,:jine,1,1,:libnumberplace,:ZT,''02'')');
Parameters.ParamByName('list').Value:=Edlist.Text;
Parameters.ParamByName('numberid').Value:=Edid.Text;
Parameters.ParamByName('numbertype').Value:=Clx.Text;
Parameters.ParamByName('djdate').Value:=DateTimePicker1.Date;
Parameters.ParamByName('lypername').Value:=dm.hname;
Parameters.ParamByName('jine').Value:=dxCurrencyEdit1.Value;
Parameters.ParamByName('libnumberplace').Value:=Cdd.Text;
Parameters.ParamByName('zt').Value:=Czt.Text;
try
ExecSQL;
except
MessageBox(Handle,'添加数据失败','系统提示',MB_ICONINFORMATION+MB_OKCANCEL);
Exit;
end;
end;
end
else
if Cdd.Text='西餐厅' then
begin
with dm.qrytemp do
begin
Close;
SQL.Clear;
SQL.Add('insert into libnumberls');
SQL.Add('(list,numberid,numbertype,hxbz,rq,lypername,jine,A,B,libnumberplace,zt,sxdm)');
SQL.Add('values(:list,:numberid,:numbertype,1,:djdate,:lypername,:jine,1,1,:libnumberplace,:ZT,''03'')');
Parameters.ParamByName('list').Value:=Edlist.Text;
Parameters.ParamByName('numberid').Value:=Edid.Text;
Parameters.ParamByName('numbertype').Value:=Clx.Text;
Parameters.ParamByName('djdate').Value:=DateTimePicker1.Date;
Parameters.ParamByName('lypername').Value:=dm.hname;
Parameters.ParamByName('jine').Value:=dxCurrencyEdit1.Value;
Parameters.ParamByName('libnumberplace').Value:=Cdd.Text;
Parameters.ParamByName('zt').Value:=Czt.Text;
try
ExecSQL;
except
MessageBox(Handle,'添加数据失败','系统提示',MB_ICONINFORMATION+MB_OKCANCEL);
Exit;
end;
end;
end
else
if Cdd.Text='康乐部' then
begin
with dm.qrytemp do
begin
Close;
SQL.Clear;
SQL.Add('insert into libnumberls');
SQL.Add('(list,numberid,numbertype,hxbz,rq,lypername,jine,A,B,libnumberplace,zt,sxdm)');
SQL.Add('values(:list,:numberid,:numbertype,1,:djdate,:lypername,:jine,1,1,:libnumberplace,:ZT,''04'')');
Parameters.ParamByName('list').Value:=Edlist.Text;
Parameters.ParamByName('numberid').Value:=Edid.Text;
Parameters.ParamByName('numbertype').Value:=Clx.Text;
Parameters.ParamByName('djdate').Value:=DateTimePicker1.Date;
Parameters.ParamByName('lypername').Value:=dm.hname;
Parameters.ParamByName('jine').Value:=dxCurrencyEdit1.Value;
Parameters.ParamByName('libnumberplace').Value:=Cdd.Text;
Parameters.ParamByName('zt').Value:=Czt.Text;
try
ExecSQL;
except
MessageBox(Handle,'添加数据失败','系统提示',MB_ICONINFORMATION+MB_OKCANCEL);
Exit;
end;
end;
end;
end
else
begin
MessageBox(Handle,'您输入的单据已经存在','系统提示',MB_ICONINFORMATION+MB_OKCANCEL);
Exit;
end;
DM.ADOlibnumberls.Close;
DM.ADOlibnumberls.Open;
CLOSE;
end;
procedure TFRMSUM.EdidKeyPress(Sender: TObject; var Key: Char);
begin
if not (Key in ['0'..'9',#8]) then
key:=#0;
end;
procedure TFRMSUM.EdidKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if Key=$0D then
Czt.SetFocus;
end;
procedure TFRMSUM.CztKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if Key=$0D then
Clx.SetFocus;
end;
procedure TFRMSUM.ClxKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if Key=$0D then
dxCurrencyEdit1.SetFocus;
end;
procedure TFRMSUM.dxCurrencyEdit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if Key=$0D then
DateTimePicker1.SetFocus;
end;
procedure TFRMSUM.DateTimePicker1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if Key=$0D then
Cdd.SetFocus;
end;
procedure TFRMSUM.CddKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if Key=13 then
Button1Click(Sender);
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -