📄 groupydzqx.pas
字号:
unit groupydzqx;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Grids, Spin, Mask, ExtCtrls, Db, DBTables, Menus;
type
TTTydtoqxform = class(TForm)
Button1: TButton;
Button2: TButton;
q1: TQuery;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Label9: TLabel;
labed10: TLabel;
Label10: TLabel;
Label11: TLabel;
Label13: TLabel;
Label14: TLabel;
Label12: TLabel;
Bevel1: TBevel;
Bevel2: TBevel;
Bevel3: TBevel;
Bevel4: TBevel;
country: TEdit;
workunit: TMaskEdit;
master: TEdit;
djtime: TMaskEdit;
daynum: TSpinEdit;
yj: TSpinEdit;
rmnum: TSpinEdit;
pnum: TSpinEdit;
ydgrid: TStringGrid;
sy: TEdit;
zj: TComboBox;
id: TEdit;
GroupBox1: TGroupBox;
phone: TRadioButton;
xj: TRadioButton;
GroupBox2: TGroupBox;
man: TRadioButton;
woman: TRadioButton;
ttjc: TEdit;
groupname: TComboBox;
procedure FormCreate(Sender: TObject);
procedure groupnameClick(Sender: TObject);
procedure FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure rmgridKeyPress(Sender: TObject; var Key: Char);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
{ Private declarations }
public
{ Public declarations }
end;
var
TTydtoqxform: TTTydtoqxform;
implementation
uses dataproc;
{$R *.DFM}
var
rmtp:array [0..30] of string[6];
groupno,zjno:string[6];
procedure formini;
begin
with TTydtoqxform do
begin
sy.text:='';
country.Text:='';
workunit.Text :='';
ttjc.text:='';
master.Text :='';
man.Checked :=true;
id.Text :='';
xj.Checked :=true;
djtime.Text :=datetimetostr(now);
daynum.Value :=3;
yj.Value :=1000;
rmnum.Value :=0;
pnum.Value :=0;
end;
end;
procedure gridini;
var
i:integer;
begin
with TTydtoqxform do
begin
q1.Active :=false;
q1.sql.clear;
q1.sql.add('select roomtype,bednum,name from roomtype');
q1.Prepare;
q1.open;
ydgrid.RowCount :=q1.RecordCount+1 ;
i:=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);
i:=i+1;
q1.next;
end;
q1.active:=false;
end;
end;
procedure datatoctrl;
var
i:integer;
aa:array [0..1] of string;
lsreg:string;
begin
with TTydtoqxform do
begin
q1.Active :=false;
q1.sql.clear;
q1.sql.add('select * from beforein where (isgroup=1) and (groupname=:pname)');
q1.ParamByName ('pname').asstring:=trim(groupname.items[groupname.itemindex]);
q1.Prepare;
q1.open;
groupno:=q1.fieldbyname('beforeid').asstring;
sy.Text :=q1.fieldbyname('sy').asstring;
country.text:=q1.fieldbyname('country').asstring;
workunit.text:=q1.fieldbyname('workunit').asstring;
ttjc.text:=q1.fieldbyname('othername').asstring;
master.Text :=q1.fieldbyname('name').asstring;
if q1.fieldbyname('sex').asstring='1' then
man.Checked:=true;
if q1.fieldbyname('sex').asstring='0' then
woman.Checked:=true;
zjno:=q1.fieldbyname('zjid').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;
djtime.Text :=datetimetostr(q1.fieldbyname('cometime').asdatetime);
daynum.value:=q1.fieldbyname('yzday').asinteger;
yj.Value :=q1.fieldbyname('yj').asinteger;
rmnum.Value :=q1.fieldbyname('roomnum').asinteger;
pnum.Value :=q1.fieldbyname('pnum').asinteger;
lsreg:=q1.fieldbyname('regid').asstring;
q1.Active :=false;
q1.sql.clear;
q1.sql.add('select * from beforeinmx where beforeid=:pid');
q1.ParamByName ('pid').asstring:=groupno;
q1.Prepare;
q1.open;
while not q1.eof do
begin
i:=1;
while i<ydgrid.RowCount do
begin
if trim(rmtp[i])=trim(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;
q1.Active :=false;
getvalue(aa,'select name from zj where code='''+zjno+'''');
zj.itemindex:=zj.Items.IndexOf (aa[0]);
end
end;
procedure TTTydtoqxform.FormCreate(Sender: TObject);
begin
shortdateformat:='yyyy-mm-dd';
ydgrid.Cells [0,0]:=' 房间类型';
ydgrid.Cells [1,0]:=' 房间床数';
ydgrid.Cells [2,0]:=' 预订数量';
formini;
gridini;
comadd(TTydtoqxform.groupname ,1,'select groupname from beforein where isgroup=1');
q1.Active :=false;
q1.sql.clear;
q1.sql.add('select name from zj');
q1.Prepare;
q1.open;
while not q1.eof do
begin
zj.Items.add(trim(q1.fieldbyname('name').asstring));
q1.next;
end;
q1.Active :=false;
datatoctrl;
end;
procedure TTTydtoqxform.groupnameClick(Sender: TObject);
begin
cleargrid(ydgrid,2);
datatoctrl;
end;
procedure TTTydtoqxform.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key=13 then
selectnext(activecontrol,true,true);
if key=27 then
TTydtoqxform.close;
end;
procedure TTTydtoqxform.rmgridKeyPress(Sender: TObject; var Key: Char);
begin
if ((key<'0') or (key>'9')) then
if (key<>char(8)) and (key<>'-') then
key:=char(0);
end;
procedure TTTydtoqxform.Button1Click(Sender: TObject);
var
aa:array [0..1] of string;
begin
aa[0]:='';
if length(trim(groupname.Items[groupname.itemindex]))=0 then
begin
showmessage('团体名称不能为空');
groupname.SetFocus ;
exit;
end;
q1.Active :=false;
q1.sql.clear;
q1.sql.add('update room1 set status=''0'' where roomno in (select roomno from ydroommx where beforeid=:pid)');
q1.ParamByName ('pid').asstring:=trim(groupno);
q1.Prepare;
q1.ExecSQL ;
q1.Active :=false;
q1.sql.clear;
q1.sql.add('delete beforein where beforeid=:pid');
q1.sql.add('delete ydroommx where beforeid=:pid');
q1.sql.add('delete beforeinmx where beforeid=:pid');
q1.ParamByName ('pid').asstring:=trim(groupno);
q1.Prepare;
q1.ExecSQL ;
q1.Active :=false;
showmessage('团体预订撤消成功');
cleargrid(ydgrid,2);
formini;
comadd(TTydtoqxform.groupname ,1,'select groupname from beforein where isgroup=1');
datatoctrl;
end;
procedure TTTydtoqxform.Button2Click(Sender: TObject);
begin
TTydtoqxform.close;
end;
procedure TTTydtoqxform.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
q1.free;
action:=cafree;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -