📄 newdj.pas
字号:
unit newdj;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Buttons, Grids, Mask, Spin, Menus, DBTables, Db, ExtCtrls;
type
Tdjform = class(TForm)
grid1: TStringGrid;
mangrid: TStringGrid;
PopupMenu1: TPopupMenu;
N1: TMenuItem;
q1: TQuery;
grid2: TStringGrid;
Timer1: TTimer;
Bevel1: TBevel;
womangrid: TStringGrid;
Q2: TQuery;
Panel1: TPanel;
Label8: TLabel;
Label10: TLabel;
Label11: TLabel;
Label12: TLabel;
Label13: TLabel;
Label1: TLabel;
szno: TMaskEdit;
man: TRadioButton;
woman: TRadioButton;
md: TCheckBox;
jzfsname: TComboBox;
jzfs: TComboBox;
Button2: TButton;
Panel2: TPanel;
MaskEdit1: TMaskEdit;
Panel3: TPanel;
reg: TMaskEdit;
xfrmno: TEdit;
zkl: TSpinEdit;
Bevel9: TBevel;
Bevel10: TBevel;
Bevel11: TBevel;
Bevel12: TBevel;
Bevel13: TBevel;
Bevel14: TBevel;
Bevel15: TBevel;
Bevel16: TBevel;
Panel11: TPanel;
Panel12: TPanel;
Panel13: TPanel;
Panel14: TPanel;
Panel15: TPanel;
Panel16: TPanel;
Panel17: TPanel;
Bevel17: TBevel;
Bevel18: TBevel;
Bevel19: TBevel;
Bevel20: TBevel;
Panel18: TPanel;
Panel19: TPanel;
Panel20: TPanel;
Panel21: TPanel;
jylgrid: TStringGrid;
Bevel21: TBevel;
Bevel22: TBevel;
Panel22: TPanel;
Panel23: TPanel;
Bevel2: TBevel;
Bevel3: TBevel;
Bevel4: TBevel;
Bevel5: TBevel;
Bevel6: TBevel;
Bevel7: TBevel;
Bevel8: TBevel;
Panel5: TPanel;
Panel6: TPanel;
Panel7: TPanel;
Panel8: TPanel;
Panel9: TPanel;
Panel10: TPanel;
GroupBox1: TGroupBox;
hykh: TEdit;
Label3: TLabel;
kye: TLabel;
N2: TMenuItem;
Edit1: TEdit;
Edit2: TEdit;
xxzl: TCheckBox;
mxf: TCheckBox;
czy: TLabel;
CheckBox1: TCheckBox;
yj: TSpinEdit;
pdj: TEdit;
Button1: TButton;
Button3: TButton;
Panel24: TPanel;
Bevel23: TBevel;
Panel25: TPanel;
rmnogrid: TStringGrid;
Panel4: TPanel;
CheckBox2: TCheckBox;
Query1: TQuery;
Query2: TQuery;
Bevel24: TBevel;
procedure grid1DrawCell(Sender: TObject; Col, Row: Integer;
Rect: TRect; State: TGridDrawState);
procedure N1Click(Sender: TObject);
procedure PopupMenu1Popup(Sender: TObject);
procedure rmnogridExit(Sender: TObject);
procedure mangridDrawCell(Sender: TObject; Col, Row: Integer;
Rect: TRect; State: TGridDrawState);
procedure womangrid1DrawCell(Sender: TObject; Col, Row: Integer;
Rect: TRect; State: TGridDrawState);
procedure N2Click(Sender: TObject);
procedure MaskEdit1Exit(Sender: TObject);
procedure sznoExit(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure grid2DrawCell(Sender: TObject; Col, Row: Integer;
Rect: TRect; State: TGridDrawState);
procedure rmnogridKeyPress(Sender: TObject; var Key: Char);
procedure rmnogridSelectCell(Sender: TObject; Col, Row: Integer;
var CanSelect: Boolean);
procedure rmnogridSetEditText(Sender: TObject; ACol, ARow: Integer;
const Value: String);
procedure jzfsnameChange(Sender: TObject);
procedure jzfsnameKeyPress(Sender: TObject; var Key: Char);
procedure grid1DblClick(Sender: TObject);
procedure rmnogridDblClick(Sender: TObject);
procedure pdjKeyPress(Sender: TObject; var Key: Char);
procedure rmnogridKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure rmnogridKeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure zklChange(Sender: TObject);
procedure jylgridDrawCell(Sender: TObject; Col, Row: Integer;
Rect: TRect; State: TGridDrawState);
procedure FormShow(Sender: TObject);
procedure hykhKeyPress(Sender: TObject; var Key: Char);
procedure hykhDblClick(Sender: TObject);
procedure hykhExit(Sender: TObject);
procedure grid1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure grid2MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure mangridMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure womangridMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure jylgridMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure mdClick(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure rmnogridMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
private
{ Private declarations }
public
{ Public declarations }
end;
var
djform: Tdjform;
implementation
uses dataproc, roomhsan, hf,xgftyqjz,icdate, bkzl, qxrz;
{$R *.DFM}
var
szacc:string[6];
// addyj:real;
dehdno,desex,dewel:string;
cfhd,rmno,curroomtype:string;
//tt:tstringgrid;
lsroom:array [0..5,0..13] of string;
llssroom:array [0..5,0..9] of string;
hintroom:array [0..5,0..13] of string;
hintroom2:array [0..5,0..9] of string;
lsstatusarr:array [0..5,0..13] of string[1];
llssstatusarr:array [0..5,0..9] of string [1];
//llssroomnum:array [0..4,0..6] of integer;
currow,zdrmnum,roomnum,mannum,womannum,jylnum:integer;
lsmd:boolean;
rmtypearr:array[1..2,0..13] of string;
procedure roomini;
var ls:string;
i:integer;
begin
with djform do
begin
edit1.Text:='';
q2.Active :=false;
q2.sql.clear;
q2.sql.add('select RoomNo,status from mansan');
// q1.ParamByName ('pgridno').asinteger:=1;
q2.Prepare;
q2.open;
i:=1;
while not q2.EOF do
begin
mangrid.Cells[i,1]:=q2.fieldbyname('status').asstring;
mangrid.Cells[i,0]:=q2.fieldbyname('RoomNo').asstring;
i:=i+1;
q2.Next;
end;
mangrid.ColCount:=i+1;
q2.Active :=false;
q2.sql.clear;
q2.sql.add('select * from womansan');
q2.Prepare;
q2.open;
i:=1;
while not q2.EOF do
begin
womangrid.Cells[i,0]:=q2.fieldbyname('RoomNo').asstring;
womangrid.Cells[i,1]:=q2.fieldbyname('status').asstring;
i:=i+1;
q2.Next;
end;
womangrid.ColCount:=i+1;
q2.Active :=false;
q2.sql.clear;
q2.sql.add('select * from jyl');
// q1.ParamByName ('pgridno').asinteger:=1;
q2.Prepare;
q2.open;
i:=1;
while not q2.EOF do
begin
jylgrid.Cells[i,0]:=q2.fieldbyname('RoomNo').asstring;
jylgrid.Cells[i,1]:=q2.fieldbyname('status').asstring;
i:=i+1;
q2.Next;
end;
jylgrid.ColCount:=i+1;
q2.Active :=false;
q2.sql.clear;
q2.sql.add('select room.roomno,row,col,status,gridno,name,price,turntime,bednum,zdprice,zdturntime from Room_Position,room where room.roomno=room_position.roomno ');
// q1.ParamByName ('pgridno').asinteger:=1;
q2.Prepare;
q2.open;
while not q2.EOF do
begin
if q2.fields[4].asinteger=1 then
begin
lsroom[q2.fields[1].asinteger,q2.fieldbyname('col').asinteger]:=q2.fieldbyname('Roomno').asstring;
lsstatusarr[q2.fields[1].asinteger,q2.fieldbyname('col').asinteger]:=q2.fieldbyname('status').asstring;
hintroom[q2.fields[1].asinteger,q2.fieldbyname('col').asinteger]:='房间类型:'+q2.fieldbyname('name').asstring+' 周转:'+q2.fieldbyname('turntime').asstring+
' 房价:'+q2.fieldbyname('price').asstring+#13+' 钟点周转:'+q2.fieldbyname('turntime').asstring+' 钟点价格:'+q2.fieldbyname('zdprice').asstring;
if (trim(q2.fieldbyname('status').asstring)='1') then
begin
q1.sql.clear;
q1.sql.add('select name,workunit,zjid,sex,(select begtime from nowin where roomno=guestmx.roomno and accno=guestmx.accno) as sj,Deposit,Custom,(select sum(num) from nowin where accno=guestmx.accno) as rs from guestmx,Account');
q1.sql.add(' where Account.accno=guestmx.accno and roomno='''+q2.fieldbyname('Roomno').asstring+'''');
q1.open;
ls:='';
while not q1.Eof do
begin
ls:=ls+#13+'姓名:'+q1.fieldbyname('name').asstring+' 性别:';
ls:=ls+q1.fieldbyname('sex').asstring+#13;
ls:=ls+'证件号码:'+q1.fieldbyname('zjid').asstring+#13+'工作单位:'+q1.fieldbyname('workunit').asstring+#13;
ls:=ls+'入住时间:'+q1.fieldbyname('sj').asstring+#13+'同来人数:'+q1.fieldbyname('rs').asstring;
ls:=ls+' 押金: '+q1.fieldbyname('Deposit').asstring+'元 消费: '+q1.fieldbyname('Custom').asstring+'元';
q1.Next;
end;
hintroom[q2.fields[1].asinteger,q2.fieldbyname('col').asinteger]:=hintroom[q2.fields[1].asinteger,q2.fieldbyname('col').asinteger]+ls;
q1.Active :=false;
q1.sql.Clear;
end;
end;
if q2.fields[4].asinteger=2 then
begin
llssroom[q2.fields[1].asinteger,q2.fieldbyname('col').asinteger]:=q2.fieldbyname('Roomno').asstring;
llssstatusarr[q2.fields[1].asinteger,q2.fieldbyname('col').asinteger]:=q2.fieldbyname('status').asstring;
hintroom2[q2.fields[1].asinteger,q2.fieldbyname('col').asinteger]:='房间类型:'+q2.fieldbyname('name').asstring+' 周转:'+q2.fieldbyname('turntime').asstring+
' 房价:'+q2.fieldbyname('price').asstring+#13+'钟点周转:'+q2.fieldbyname('turntime').asstring+' 钟点价格:'+q2.fieldbyname('zdprice').asstring;
if (trim(q2.fieldbyname('status').asstring)='1') then
begin
q1.sql.clear;
q1.sql.add('select name,workunit,zjid,sex,(select begtime from nowin where roomno=guestmx.roomno and accno=guestmx.accno) as sj,Deposit,Custom,(select sum(num) from nowin where accno=guestmx.accno) as rs from guestmx,Account');
q1.sql.add(' where Account.accno=guestmx.accno and roomno='''+q2.fieldbyname('Roomno').asstring+'''');
q1.open;
ls:='';
while not q1.Eof do
begin
ls:=ls+#13+'姓名:'+q1.fieldbyname('name').asstring+' 性别:';
ls:=ls+q1.fieldbyname('sex').asstring+#13;
ls:=ls+'证件号码:'+q1.fieldbyname('zjid').asstring+#13+'工作单位:'+q1.fieldbyname('workunit').asstring+#13;
ls:=ls+'入住时间:'+q1.fieldbyname('sj').asstring+#13+'同来人数:'+q1.fieldbyname('rs').asstring;
ls:=ls+' 押金: '+q1.fieldbyname('Deposit').asstring+'元 消费: '+q1.fieldbyname('Custom').asstring+'元';
q1.Next;
end;
hintroom2[q2.fields[1].asinteger,q2.fieldbyname('col').asinteger]:=hintroom2[q2.fields[1].asinteger,q2.fieldbyname('col').asinteger]+ls;
q1.Active :=false;
q1.sql.Clear;
end;
end;
q2.Next;
end;
q2.Close;
q2.Active :=false;
q2.UnPrepare;
end;
end;
procedure xggrid(grid1: TStringGrid);
var i,j:integer;
begin
for i:=0 to grid1.RowCount-1 do
for j:=0 to grid1.ColCount-1 do
begin
grid1.row:=grid1.RowCount-1-i;
grid1.col:=grid1.ColCount-1-j;
end;
end;
procedure init;
begin
with djform do
begin
qkgrid(rmnogrid);
rmnogrid.Cells [0,0]:='房号';
rmnogrid.Cells [1,0]:='钟点';
rmnogrid.Cells [2,0]:='人数';
rmnogrid.Cells [3,0]:='性别';
rmnogrid.Cells [4,0]:='价格';
rmnogrid.Cells [5,0]:=' 鞋牌号';
rmnogrid.Cells [6,0]:='姓名';
rmnogrid.Cells [7,0]:='周转';
rmnogrid.Cells [8,0]:='年龄';
rmnogrid.Cells [9,0]:='证件名';
rmnogrid.Cells [10,0]:=' 证件号';
rmnogrid.Cells [11,0]:=' 工作单位';
mangrid.Cells[0,0]:='男散';
womangrid.Cells[0,0]:='女散';
jylgrid.Cells[0,0]:='娱乐';
dehdno:='';
desex:='';
dewel:='';
pdj.Text:='';
hykh.Text:='';
kye.Caption:='';
maskedit1.Text :=datetimetostr(now);
zkl.Enabled:=false;
yj.value:=0; CheckBox1.Checked:=false;
szno.text:='';
pdj.text:='';
czy.Caption:='';
zkl.Value:=100;
roomini;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -