📄 xgftyqjz.pas
字号:
unit xgftyqjz;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Buttons, Grids, Mask, Spin, Menus, DBTables, Db, ExtCtrls;
type
Txgyqjzform = class(TForm)
grid1: TStringGrid;
PopupMenu1: TPopupMenu;
N1: TMenuItem;
Button2: TButton;
grid2: TStringGrid;
Timer1: TTimer;
Bevel1: TBevel;
Bevel2: TBevel;
Bevel3: TBevel;
Bevel4: TBevel;
Bevel5: TBevel;
Bevel6: TBevel;
Bevel7: TBevel;
Q2: TQuery;
n2: TMenuItem;
Panel4: TPanel;
Panel5: TPanel;
Panel6: TPanel;
Panel7: TPanel;
Panel8: TPanel;
Panel9: TPanel;
Panel10: TPanel;
Bevel8: TBevel;
xgrmno: TEdit;
Bevel9: TBevel;
Bevel10: TBevel;
Bevel11: TBevel;
Bevel12: TBevel;
Bevel13: TBevel;
Bevel14: TBevel;
Bevel15: TBevel;
Bevel16: TBevel;
Panel1: TPanel;
Panel2: TPanel;
Panel3: TPanel;
Panel11: TPanel;
Panel12: TPanel;
Panel13: TPanel;
Panel14: TPanel;
Bevel17: TBevel;
Bevel18: TBevel;
Bevel19: TBevel;
Bevel20: TBevel;
Panel15: TPanel;
Panel16: TPanel;
Panel17: TPanel;
Panel18: TPanel;
Bevel21: TBevel;
Bevel22: TBevel;
Panel19: TPanel;
Panel20: TPanel;
Bevel23: TBevel;
Bevel24: TBevel;
Panel21: TPanel;
Panel22: TPanel;
Bevel25: TBevel;
mangrid: TStringGrid;
womangrid1: TStringGrid;
mangrid1: TStringGrid;
womangrid: TStringGrid;
jylgrid: TStringGrid;
jylGrid1: TStringGrid;
procedure FormCreate(Sender: TObject);
procedure grid1DrawCell(Sender: TObject; Col, Row: Integer;
Rect: TRect; State: TGridDrawState);
procedure N1Click(Sender: TObject);
procedure PopupMenu1Popup(Sender: TObject);
procedure N2Click(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 rmnogridSetEditText(Sender: TObject; ACol, ARow: Integer;
const Value: String);
procedure grid1DblClick(Sender: TObject);
procedure mangridDrawCell(Sender: TObject; Col, Row: Integer;
Rect: TRect; State: TGridDrawState);
procedure womangridDrawCell(Sender: TObject; Col, Row: Integer;
Rect: TRect; State: TGridDrawState);
procedure jylgridDrawCell(Sender: TObject; Col, Row: Integer;
Rect: TRect; State: TGridDrawState);
procedure mangridDblClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
xgyqjzform: Txgyqjzform;
implementation
uses dataproc, newdj, newjzform;
{$R *.DFM}
var
dehdno,desex,dewel:string;
lsroom:array [0..5,0..12] of string;
llssroom:array [0..5,0..8] of string;
lsstatusarr:array [0..5,0..12] of string[1];
llssstatusarr:array [0..5,0..8] of string [1];
//llssroomnum:array [0..4,0..6] of integer;
currow,zdrmnum,roomnum,mannum,womannum:integer;
rmtypearr:array[1..2,0..12] of string;
procedure roomini;
var i:integer;
begin
with xgyqjzform do
begin
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
mangrid1.Cells[i,0]:=q2.fieldbyname('status').asstring;
mangrid.Cells[i,0]:=q2.fieldbyname('RoomNo').asstring;
i:=i+1;
q2.Next;
end;
mangrid.ColCount:=i+1;
mangrid1.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;
womangrid1.Cells[i,0]:=q2.fieldbyname('status').asstring;
i:=i+1;
q2.Next;
end;
womangrid.ColCount:=i+1;
womangrid1.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;
jylgrid1.Cells[i,0]:=q2.fieldbyname('status').asstring;
i:=i+1;
q2.Next;
end;
jylgrid.ColCount:=i+1;
jylgrid1.ColCount:=i+1;
q2.Active :=false;
q2.sql.clear;
q2.sql.add('select room.roomno,row,col,status,gridno from Room_Position,room where room.roomno=room_position.roomno');
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;
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;
end;
q2.Next;
end;
q2.Close;
q2.Active :=false;
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 xgyqjzform do
begin
dehdno:='';
desex:='';
dewel:='';
xggrid(grid1);
xggrid(grid2);
end;
end ;
procedure Txgyqjzform.FormCreate(Sender: TObject);
var i,j:integer;
arr:array[1..50] of integer;
ls:string;
begin
for j:=1 to 50 do arr[j]:=0;
//j:=1;
for i:=0 to ComponentCount-1 do
if (Components[i] is TPanel)and(Components[i].tag<>0) then
begin
(Components[i] as Tpanel).Caption:='';
arr[Components[i].tag]:=i;
// j:=j+1;
end;
q2.sql.text:='select code,Name,isvis from roomsetup,roomtype where RoomType.RoomType=roomsetup.RoomType ';
q2.open;
while (not q2.Eof) do
begin
if ( q2.Fields[2].AsBoolean) then
begin
with (Components[arr[q2.Fields[0].asinteger]] as TPanel) do
begin
Caption:=q2.Fields[1].asstring;
if q2.Fields[0].asinteger<=13 then
rmtypearr[1,q2.Fields[0].asinteger-1]:=q2.Fields[1].asstring
else
rmtypearr[2,q2.Fields[0].asinteger-14]:=q2.Fields[1].asstring;
ls:=q2.Fields[1].asstring;
q2.Next;
while (not q2.Eof) and (ls=trim(q2.Fields[1].asstring)) do
begin
(xgyqjzform.Components[arr[q2.Fields[0].asinteger]] as TPanel).Visible:=false;
Width:=Width+55;
q2.Next;
end;
end;
end
else q2.Next;
end;
q2.Close;
q2.sql.Clear;
q2.Active:=false;
roomnum:=0;
zdrmnum:=0;
mannum:=0;
womannum:=0;
shortdateformat:='yyyy-mm-dd';
mangrid.Cells[0,0]:='男散';
womangrid.Cells[0,0]:='女散';
jylgrid.Cells[0,0]:='娱乐';
roomini;
end;
procedure Txgyqjzform.grid1DrawCell(Sender: TObject; Col, Row: Integer;
Rect: TRect; State: TGridDrawState);
var
lsfj :string;
lsls:string;
bb:Tbrush;
begin
if (col=1) and (row=0) then
lsls:='jllkjlkjl';
grid1.canvas.font.color:=clred;
grid1.canvas.font.style:=[fsbold];
// grid1.canvas.font.size:=12;
grid1.canvas.pen.mode:=pmCopy;
lsfj:=lsroom[row,col];
if length(trim(lsstatusarr[row,col]))>0 then
begin
bb:=grid1.canvas.brush;
if lsstatusarr[row,col]='0' then
begin
grid1.canvas.font.color:=$0000ff00; //GReen
lsls:=lsfj+' 空';
end;
if lsstatusarr[row,col]='1' then
begin
grid1.canvas.font.color:=$000000ff; //GRed
lsls:=lsfj+' 满';
end;
if lsstatusarr[row,col]='2' then
begin
grid1.canvas.font.color:=$0000ffff; //Yellow
lsls:=lsfj+' 脏';
end ;
if lsstatusarr[row,col]='3' then
begin
grid1.canvas.font.color:=$00ffff00; //
lsls:=lsfj+' 修';
end;
if lsstatusarr[row,col]='4' then
begin
grid1.canvas.font.color:=$02aa00aa; //
lsls:=lsfj+' 免';
end;
if lsstatusarr[row,col]='5' then
begin
grid1.canvas.font.color:=clOlive; //
lsls:=lsfj+' 订';
end;
if lsstatusarr[row,col]='6' then
begin
grid1.canvas.font.color:=$004080FF; //
lsls:=lsfj+' 通';
end;
grid1.canvas.textrect(grid1.cellrect(col,row),grid1.cellrect(col,row).Left,grid1.cellrect(col,row).Top,lsls);
grid1.canvas.brush:=bb;
end;
end;
procedure Txgyqjzform.N1Click(Sender: TObject);
begin
if trim(xgyqjzform.Caption)='' then
xgyqjzform.close
else
begin
if trim(n2.Caption)<>'' then
begin
q2.Active :=false;
q2.sql.clear;
q2.sql.add('update room set status='''+copy(n2.Caption,2,1)+''' where roomno='''+trim(copy(trim(n1.Caption),1,4))+'''');
q2.Prepare;
q2.ExecSQL;
djform.n2.Enabled:=false;
roomini;
if grid1.col<>0 then grid1.col:=0
else grid1.col:=1;
if grid2.col<>0 then grid2.col:=0
else grid2.col:=1
end;
end;
end;
procedure Txgyqjzform.PopupMenu1Popup(Sender: TObject);
begin
{ if activecontrol=grid1 then
begin
rmno:=lsroom[grid1.row,grid1.col];
lstab:=lsstatusarr[grid1.row,grid1.col];
end;
if activecontrol=grid2 then
begin
rmno:=llssroom[grid2.row,grid2.col];
lstab:=llssstatusarr[grid2.row,grid2.col];
end;
if trim(Caption)<>'' then
begin
if trim(lstab)='2' then
begin
popupmenu1.items[0].enabled:=true;
popupmenu1.items[1].enabled:=true;
N1.Caption:=rmno+' 脏房转待租房';
N2.Caption:=rmno+' 脏房转维修房';
end;
if trim(lstab)='0' then
begin
popupmenu1.items[1].enabled:=true;
popupmenu1.items[0].enabled:=false;
N2.Caption:=rmno+' 待租房转维修房';
N1.Caption:='';
end;
if trim(lstab)='3' then
begin
popupmenu1.items[0].enabled:=true;
popupmenu1.items[1].enabled:=false;
N1.Caption:=rmno+' 维修房转待租房';
N2.Caption:='0';
end;
if trim(lstab)='1' then
begin
popupmenu1.items[0].enabled:=true;
popupmenu1.items[1].enabled:=false;
N1.Caption:=rmno+' 宾客可结帐';
N2.Caption:='6';
end;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -