📄 sanydtodj.pas
字号:
unit sanydtodj;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Db, DBTables, Grids, Spin, Mask, ExtCtrls, Buttons;
type
Tsanydtodjform = class(TForm)
Button1: TButton;
Button2: TButton;
q1: TQuery;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Bevel1: TBevel;
Label8: TLabel;
Label9: TLabel;
Label10: TLabel;
Label11: TLabel;
Label12: TLabel;
GroupBox1: TGroupBox;
man: TRadioButton;
woman: TRadioButton;
zj: TComboBox;
id: TMaskEdit;
workunit: TEdit;
yj: TSpinEdit;
GroupBox2: TGroupBox;
phone: TRadioButton;
xj: TRadioButton;
cometime: TMaskEdit;
yzday: TSpinEdit;
ydgrid: TStringGrid;
rmnum: TSpinEdit;
pnum: TSpinEdit;
czy: TEdit;
Bevel2: TBevel;
name: TComboBox;
BitBtn1: TBitBtn;
rmgrid: TStringGrid;
djfs: TComboBox;
Label13: TLabel;
djfsid: TComboBox;
zjid: TComboBox;
Label14: TLabel;
nyj: TSpinEdit;
xfk: TCheckBox;
Label15: TLabel;
djdh: TEdit;
procedure FormCreate(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure BitBtn1Click(Sender: TObject);
procedure nameChange(Sender: TObject);
procedure djdhKeyPress(Sender: TObject; var Key: Char);
procedure rmgridKeyPress(Sender: TObject; var Key: Char);
private
{ Private declarations }
public
{ Public declarations }
end;
var
sanydtodjform: Tsanydtodjform;
implementation
uses dataproc;
{$R *.DFM}
var
rmtp:array [0..30] of string;
beforeno,accno,welid:string;
procedure formini;
begin
with sanydtodjform do
begin
man.Checked :=true;
workunit.text:='';
zj.text:='';
id.text:='';
djdh.Text:='';
xj.Checked :=true;
yj.Value :=500;
cometime.text:=datetimetostr(now);
yzday.Value :=3;
rmnum.Value :=0;
pnum.Value :=0;
czy.Text :=curper.code+' '+curper.name ;
end
end;
procedure gridini;
var
i:integer;
begin
with sanydtodjform do
begin
i:=1;
q1.Active :=false;
q1.sql.clear;
q1.sql.add('select roomtype,name,bednum from roomtype');
q1.Prepare;
q1.open;
q1.Active :=true;
ydgrid.RowCount :=q1.RecordCount+1 ;
while not q1.EOF do
begin
rmtp[i]:=q1.fieldbyname('roomtype').asstring;
ydgrid.cells[0,i]:=q1.fieldbyname('name').asstring;
ydgrid.Cells [1,i]:=inttostr(q1.fieldbyname('bednum').asinteger);
ydgrid.cells [2,i]:='';
q1.Next ;
i:=i+1;
end;
q1.Active :=false;
end;
end;
procedure datetoctrl;
var
aa:array [0..1] of string;
lszj,lsczy:string;
i:integer;
begin
with sanydtodjform do
begin
aa[0]:='';
getvalue(aa,'select beforeid from beforein where name='''+trim(name.items[name.itemindex])+'''');
if length(trim(aa[0]))>0 then
begin
BitBtn1.Enabled:=true;
rmgrid.Enabled:=true;
beforeno:=trim(aa[0]);
q1.Active :=false;
q1.sql.clear;
q1.sql.add('select * from beforein where beforeid=:pbeforeid');
q1.ParamByName ('pbeforeid').asstring:=trim(aa[0]);
q1.Prepare;
q1.open;
if q1.FieldByName ('sex').asstring='1' then
man.Checked :=true
else
woman.Checked :=true;
workunit.Text :=q1.fieldbyname('workunit').asstring;
id.Text :=q1.fieldbyname('id').asstring;
if q1.FieldByName('isphone').asboolean then
phone.Checked :=true;
if q1.FieldByName('ismoney').asboolean then
xj.Checked :=true;
yj.Value :=q1.fieldbyname('yj').asinteger;
cometime.Text :=datetimetostr(q1.FieldByName('cometime').asdatetime);
yzday.Value :=q1.fieldbyname('yzday').asinteger;
rmnum.Value :=q1.fieldbyname('roomnum').asinteger;
pnum.Value :=q1.fieldbyname('pnum').asinteger;
lszj:=q1.fieldbyname('zjid').asstring;
lsczy:=q1.fieldbyname('regid').asstring;
if length(trim(lszj))>0 then
begin
aa[0]:='';
getvalue(aa,'select name from zj where code='''+trim(lszj)+'''');
zj.ItemIndex :=zj.Items.IndexOf (trim(aa[0]));
end;
aa[0]:='';
getvalue(aa,'select name from stuff where code='''+trim(lsczy)+'''');
czy.Text :=lsczy+' '+trim(aa[0]);
q1.Active :=false;
q1.sql.clear;
q1.sql.add('select Roomtype,RoomNum from beforeinmx where beforeid=:pid');
q1.ParamByName ('pid').asstring:=trim(beforeno);
q1.Prepare;
q1.open;
while not q1.EOF do
begin
i:=1;
while i<ydgrid.rowcount do
begin
if trim(rmtp[i])=q1.FieldByName('roomtype').asstring then
begin
ydgrid.cells[2,i]:=inttostr(q1.fieldbyname('roomnum').asinteger);
i:=ydgrid.RowCount;
end;
i:=i+1;
end;
q1.Next;
end;
end;
q1.sql.clear;
q1.sql.add('select * from ydroommx where beforeid=:pid');
q1.ParamByName ('pid').asstring:=trim(beforeno);
q1.open;
i:=1;
while not q1.EOF do
begin
rmgrid.cells[0,i]:=q1.fieldbyname('roomno').asstring;
rmgrid.cells[1,i]:=q1.fieldbyname('fj').asstring;
i:=i+1;
q1.Next;
BitBtn1.Enabled:=false;
// rmgrid.Enabled:=false;
end;
end;
end;
procedure Tsanydtodjform.FormCreate(Sender: TObject);
begin
shortdateformat:='yyyy-mm-dd';
comadd1(djfsid,djfs,2,'select * from mode');
formini;
BitBtn1.Caption:='自'+#13+'动'+#13+'分'+#13+'配'+#13+'房'+#13+'间';
ydgrid.Cells [0,0]:=' 房间类型';
ydgrid.Cells [1,0]:=' 房间床数';
ydgrid.Cells [2,0]:=' 预订数量';
rmgrid.cells[0,0]:='房间';
rmgrid.cells[1,0]:='价格';
rmgrid.cells[2,0]:='鞋牌号';
djdh.Text:='';
gridini;
zj.Items.Clear;
zjid.Items.Clear;
q1.Active :=false;
q1.sql.clear;
q1.sql.add('select name,code from zj');
q1.Prepare;
q1.open;
while not q1.eof do
begin
zj.Items.add(trim(q1.fieldbyname('name').asstring));
zjid.Items.add(trim(q1.fieldbyname('code').asstring));
q1.Next;
end;
q1.Active :=false;
comadd(sanydtodjform.name,1,'select name from beforein where isgroup=0 ');
datetoctrl;
end;
procedure Tsanydtodjform.Button2Click(Sender: TObject);
begin
sanydtodjform.close;
end;
procedure wic(k:integer);
var ss,ls,rq,bx:string;
bb:Word;
fd:smallint;
begin
{ with sanydtodjform do
begin
if not xfk.Checked then exit;
showmessage(' 请插入IC卡 ');
ss:=' ';
rq:=formatdatetime('yyyy-mm-dd hh:mm:ss',now);
bx:='001';
fd:=open_com('');
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -