📄 input.pas
字号:
unit input;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, StdCtrls, Buttons, ExtCtrls, DB, dxCntner, dxEditor,
dxExEdtr, dxEdLib, dxDBELib, DBCtrls, Mask;
type
TFrminput = class(TForm)
pnl1: TPanel;
btn1: TBitBtn;
btn2: TBitBtn;
lbl1: TLabel;
lbl2: TLabel;
lbl3: TLabel;
lbl4: TLabel;
lbl5: TLabel;
lbl6: TLabel;
dbedtbh: TDBEdit;
dbcbbxm: TDBComboBox;
dbedtks: TDBEdit;
dbedtjs: TDBEdit;
dbcbblx: TDBComboBox;
dxDBDateEdit1: TdxDBDateEdit;
ds1: TDataSource;
lbl7: TLabel;
dbcbb1: TDBComboBox;
procedure btn2Click(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure btn1Click(Sender: TObject);
procedure dbedtksKeyPress(Sender: TObject; var Key: Char);
procedure dbedtjsKeyPress(Sender: TObject; var Key: Char);
procedure dbcbbxmKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure dbedtksKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure dbedtjsKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure dbcbblxKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure dxDBDateEdit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure dbcbb1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
private
{ Private declarations }
public
punum:string;
{ Public declarations }
end;
var
Frminput: TFrminput;
implementation
uses UDM;
{$R *.dfm}
//自定义号码的长度
function numberformat(slen:string):string;
var i:integer;
begin
i:=length(slen);
case i of
5: result:='00000';
6: result:='000000';
7: result:='0000000';
8: result:='00000000';
9: result:='000000000';
10: result:='0000000000';
else
result:='0000';
end;
end;
procedure TFrminput.btn2Click(Sender: TObject);
begin
dm.tblpjly.CancelUpdates;
close;
end;
procedure TFrminput.FormShow(Sender: TObject);
var
counter:Integer;
id:string;
begin
DM.qrylibnumber.Open;
dbedtbh.Text:='';
dbcbbxm.Text:='';
dbedtks.Text:='';
dbedtjs.Text:='';
dbedtbh.Text:='';
dxDBDateEdit1.Date:=Date;
with dm.qryperson do
begin
close;
sql.Clear;
sql.Add('select * from person');
prepared;
open;
end;
dbcbbxm.Items.Clear;
while not dm.qryperson.Eof do
begin
dbcbbxm.Items.Append(dm.qryperson.fieldbyname('pername').AsString);
dm.qryperson.Next;
end;
with dm.qrydjlx do
begin
close;
sql.Clear;
sql.Add('select * from typeunit');
prepared;
open;
end;
dbcbblx.Items.Clear;
while not dm.qrydjlx.Eof do
begin
dbcbblx.Items.Append(dm.qrydjlx.fieldbyname('typename').AsString);
dm.qrydjlx.Next;
end;
with dm.qrytemp do
begin
close;
sql.Clear;
sql.Add('select * from ly_place');
prepared;
open;
end;
dbcbb1.Items.Clear;
while not dm.qrytemp.Eof do
begin
dbcbb1.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;
dbedtbh.Text:=id;
dbcbbxm.SetFocus;
dbcbbxm.Text:=dm.hname;
end;
procedure TFrminput.btn1Click(Sender: TObject);
var
i:Integer;
begin
if dbcbb1.Text='前台' then
dm.hdm:='01'
else
if dbcbb1.Text='大堂吧' then
dm.hdm:='02'
else
if dbcbb1.Text='西餐厅' then
DM.hdm:='03'
else
if dbcbb1.Text='康乐部' then
DM.hdm:='04';
if dbedtks.Text>dbedtjs.Text then
begin
messagebox(handle,'开始号码不能大于结束号码','系统提示',MB_ICONINFORMATION+MB_OK);
dm.tblpjly.CancelUpdates;
Exit;
end;
if (dm.qrylibnumber.Locate('numberid;numbertype;libnumberplace',VarArrayOf([dbedtks.Text,dbcbblx.Text,dbcbb1.Text]),[])) then
begin
messagebox(handle,'数据有重复不能录入','系统提示',MB_ICONINFORMATION+MB_OK);
dm.tblpjly.CancelUpdates;
close;
end
else
if not (dm.qrylibnumber.Locate('numberid;numberid;numbertype;libnumberplace',VarArrayOf([dbedtks.Text,dbedtjs.Text,dbcbblx.Text,dbcbb1.Text]),[])) then
begin
if dm.tblpjly.State in [dsedit,dsinsert] then
begin
dm.tblpjly.post;
if dm.tbllibnumber.Active=false then
dm.tbllibnumber.Active:=true;
DM.tbllibnumber.Next;
for i:=strtoint(dm.tblpjly.FieldValues['numbers']) to strtoint(dm.tblpjly.FieldValues['numberto']) do
begin
dm.tbllibnumber.Append;
dm.tbllibnumber.fieldbyname('numberid').AsString:=formatfloat(numberformat(dm.tblpjly.fieldbyname('numbers').AsString),i);
dm.tbllibnumber.FieldByName('list').AsString:=dm.tblpjly.fieldbyname('list').AsString;
dm.tbllibnumber.FieldByName('lypername').AsString:=dm.tblpjly.fieldbyname('lyperson').AsString;
dm.tbllibnumber.FieldByName('numbertype').AsString:=dm.tblpjly.fieldbyname('numbertyoe').AsString;
dm.tbllibnumber.FieldByName('A').AsBoolean:=FALSE;
dm.tbllibnumber.FieldByName('B').AsBoolean:=FALSE;
DM.tbllibnumber.FieldByName('hxbz').AsString:='0';
DM.tbllibnumber.FieldByName('djdate').AsDateTime:=DM.tblpjly.FIELDBYNAME('lydate').AsDateTime;
dm.tbllibnumber.FieldByName('libnumberplace').AsString:=dm.tblpjly.fieldbyname('lydjplace').AsString;
dm.tbllibnumber.FieldByName('sxdm').AsString:=dm.hdm;
dm.tbllibnumber.Post;
end;
showmessage('数据保存成功!') ;
end
else
showmessage('没有未保存的数据!');
Close;
end;
end;
procedure TFrminput.dbedtksKeyPress(Sender: TObject; var Key: Char);
begin
if not (key in ['0'..'9',#8]) then
key:=#0;
end;
procedure TFrminput.dbedtjsKeyPress(Sender: TObject; var Key: Char);
begin
if not (key in ['0'..'9',#8]) then
key:=#0;
end;
{procedure TFrminput.btn3Click(Sender: TObject); //设置自动生成编码
var
datefen:string;
begin
datefen:='';
punum:='';
datefen:=formatdatetime('yyyymmdd',now());//格式化的年月
with dm.qrypjly do
begin
close;
sql.Clear;
sql.Add('select * from lydj');
prepared;
open;
end;
if trim(dm.qrypjly.Fields[1].AsString)<>'' then
punum:=inttostr(strtoint(copy(trim(dm.qrypjly.Fields[1].asstring),9,2))+1);//punum定义的全局变量
if(1<=length(punum))and(length(punum)<2) then
punum:='0'+punum;
if length(punum)<1 then
punum:='01';
if length(punum)=3 then
punum:='01';
dbedtbh.Text:=datefen+punum;//日期+两位编号
punum:=dbedtbh.Text;
with dm.qrytemp do
begin
close;
sql.Clear;
sql.Add('insert into guo');
sql.Add('(savepunum)');
sql.Add('select :list from lydj');
parameters.ParamByName('list').Value:=trim(punum);
try
execsql;
except
messagebox(handle,'向guo中保存数据失败!','系统提示',mb_iconinformation+mb_ok);
exit;
end;
dm.qryguo.Close;
dm.qryguo.Open;
end;
end; }
procedure TFrminput.dbcbbxmKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key=$0D THEN
DBEDTKS.SetFocus;
end;
procedure TFrminput.dbedtksKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key=$0D THEN
DBEDTJS.SetFocus;
end;
procedure TFrminput.dbedtjsKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key=$0D THEN
DBCBBLX.SetFocus;
end;
procedure TFrminput.dbcbblxKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
IF KEY =$0D THEN
dxDBDateEdit1.SetFocus;
end;
procedure TFrminput.FormClose(Sender: TObject; var Action: TCloseAction);
begin
dm.qrylibnumber.Close;
end;
procedure TFrminput.dxDBDateEdit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if Key=$0D then
dbcbb1.SetFocus;
end;
procedure TFrminput.dbcbb1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if Key=13 then
btn1Click(Sender);
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -