📄 ylnewdj.pas
字号:
unit ylnewdj;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Buttons, Grids, Mask, Spin, Menus, DBTables, Db, ExtCtrls;
type
Tyldjform = class(TForm)
PopupMenu1: TPopupMenu;
N1: TMenuItem;
q1: TQuery;
Q2: TQuery;
Panel1: TPanel;
Button2: TButton;
xfrmno: TEdit;
jylgrid: TStringGrid;
N2: TMenuItem;
Edit1: TEdit;
Edit2: TEdit;
czy: TLabel;
rmnogrid: TStringGrid;
Label8: TLabel;
Label10: TLabel;
Label12: TLabel;
Label13: TLabel;
Label1: TLabel;
man: TRadioButton;
woman: TRadioButton;
jzfsname: TComboBox;
jzfs: TComboBox;
Panel2: TPanel;
MaskEdit1: TMaskEdit;
Panel3: TPanel;
reg: TMaskEdit;
zkl: TSpinEdit;
CheckBox1: TCheckBox;
yj: TSpinEdit;
pdj: TEdit;
Button1: TButton;
procedure FormCreate(Sender: TObject);
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 MaskEdit1Exit(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 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 jylgridMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
private
{ Private declarations }
public
{ Public declarations }
end;
var
yldjform: Tyldjform;
implementation
uses dataproc, roomhsan, hf,xgftyqjz,icdate, bkzl, qxrz, newdj;
{$R *.DFM}
var
szacc:string[6];
// addyj:real;
dehdno,desex,dewel:string;
cfhd,rmno,curroomtype:string;
//tt:tstringgrid;
lsroom:array [0..5,0..12] of string;
llssroom:array [0..5,0..8] of string;
hintroom:array [0..5,0..12] of string;
hintroom2: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,jylnum:integer;
lsmd:boolean;
rmtypearr:array[1..2,0..12] of string;
procedure roomini;
var ls:string;
i:integer;
begin
with yldjform do
begin
edit1.Text:='';
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;
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 yldjform 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]:=' 工作单位';
jylgrid.Cells[0,0]:='娱乐';
dehdno:='';
desex:='';
dewel:='';
maskedit1.Text :=datetimetostr(now);
zkl.Enabled:=false;
yj.value:=0; CheckBox1.Checked:=false;
pdj.text:='';
czy.Caption:='';
zkl.Value:=100;
roomini;
jzfsname.ItemIndex:=0;
jzfsname.Text:=jzfsname.Items[0];
end;
end ;
procedure Tyldjform.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;
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;
end;
q1.Active :=false;
q1.sql.Clear ;
q1.sql.add('select * from mode');
q1.Prepare;
q1.open;
jzfsname.Items.Clear;
jzfs.Items.Clear;
while not q1.Eof do
begin
jzfs.Items.Add(q1.FieldByName('Code').asstring);
jzfsname.Items.Add(q1.FieldByName('name').asstring);
q1.Next;
end;
q1.Close;
q1.UnPrepare;
jzfs.ItemIndex:=0;
jzfsname.ItemIndex:=0;
roomnum:=0;
zdrmnum:=0;
mannum:=0;
womannum:=0;
reg.Text:=curper.name;
shortdateformat:='yyyy-MM-dd';
maskedit1.Text :=datetimetostr(now);
init;
end;
procedure Tyldjform.N1Click(Sender: TObject);
var
i:integer;
aa:array[0..4] of string;
begin
for i:=1 to rmnogrid.rowcount-1 do
begin
if length(trim(rmnogrid.Cells [0,i]))=0 then
begin
rmnogrid.cells[0,i]:=rmno;
if ((activecontrol as tstringgrid)=jylgrid) then
begin
rmnogrid.cells[4,i]:='0';
rmnogrid.cells[15,i]:='3';
rmnogrid.cells[7,i]:='12';
rmnogrid.cells[16,i]:='0';
rmnogrid.cells[17,i]:='0';
rmnogrid.cells[3,i]:='娱';
rmnogrid.cells[18,i]:='0';
rmnogrid.cells[19,i]:='100';
end;
yj.Value:=yj.Value+strtoint(rmnogrid.cells[18,i]);
break;
end;
end;
end;
procedure Tyldjform.PopupMenu1Popup(Sender: TObject);
var
ls: string;
i :integer;
begin
// tt:=tstringgrid(activecontrol);
n1.Caption:='登记'+rmno+'散座';
rmno:=copy(rmno,1,3);
popupmenu1.items[0].enabled:=false;
// popupmenu1.items[1].enabled:=false;
if ls='0' then
begin
for i:=1 to rmnogrid.rowcount-1 do
if trim(rmnogrid.Cells [0,i])=trim(rmno) then
break;
if i>rmnogrid.rowcount-1 then
popupmenu1.items[0].enabled:=true;
end;
end;
procedure Tyldjform.rmnogridExit(Sender: TObject);
var
aa:array [0..1] of string;
i,j:integer;
ss:string;
begin
j:=rmnogrid.rowcount-1;
ss:='';
for i:=1 to rmnogrid.rowcount-1 do
if (length(trim(rmnogrid.cells[0,i]))<>0) then
begin
if (length(trim(rmnogrid.cells[1,i]))<>0) then
begin
aa[0]:='';
getvalue(aa,'select status from room where roomno='''+trim(rmnogrid.cells[0,i])+'''');
if ((aa[0]<>'0')and(aa[0]<>'5')) or (aa[0]='') then
begin
if j>i then j:=i ;
ss:=ss+rmnogrid.cells[0,i]+' ';
end;
end;
if (length(trim(rmnogrid.cells[1,i]))=0) and (trim(rmnogrid.cells[15,i])='1') then
begin
aa[0]:='';
getvalue(aa,'select status from mansan where roomno='''+trim(rmnogrid.cells[0,i])+'''');
if (aa[0]<>'0') or (aa[0]='') then
begin
if j>i then j:=i ;
ss:=ss+rmnogrid.cells[0,i]+' ';
end
end;
if (length(trim(rmnogrid.cells[1,i]))=0) and (trim(rmnogrid.cells[15,i])='0') then
begin
aa[0]:='';
getvalue(aa,'select status from womansan where roomno='''+trim(rmnogrid.cells[0,i])+'''');
if (aa[0]<>'0') or (aa[0]='') then
begin
if j>i then j:=i ;
ss:=ss+rmnogrid.cells[0,i]+' ';
end
end;
end;
if trim(ss)<>'' then
begin
showmessage('手号 '+ss+' 非法!');
rmnogrid.row:=j;
rmnogrid.setfocus;
end;
// yj.setfocus;
{ for i:=1 to rmnogrid.rowcount-1 do
begin
// if length(trim(rmnogrid.cells[1,i]))<>0 then
// rmnogrid.cells[3,i]:='';
if length(trim(rmnogrid.cells[3,i]))<>0 then
rmnogrid.cells[1,i]:='';
end; }
{ for i:=1 to rmnogrid.rowcount-1 do
begin
if length(trim(rmnogrid.cells[0,i]))=0 then
rmnogrid.cells[2,i]:=''
else
if length(trim(rmnogrid.cells[2,i]))=0 then
begin
aa[0]:='';
getvalue(aa,'select roomtype from room where roomno='''+trim(rmnogrid.cells[0,i])+'''');
if length(trim(aa[0]))>0 then
begin
bb[0]:='';
getvalue(bb,'select bednum from roomtype where roomtype='''+trim(aa[0])+'''');
end;
rmnogrid.cells[2,i]:=bb[0];
end;
end; }
end;
procedure Tyldjform.mangridDrawCell(Sender: TObject; Col, Row: Integer;
Rect: TRect; State: TGridDrawState);
var
bb:Tbrush;
tt:trect;
begin
end;
procedure Tyldjform.womangrid1DrawCell(Sender: TObject; Col, Row: Integer;
Rect: TRect; State: TGridDrawState);
var
bb:Tbrush;
tt:trect;
begin
if col=0 then
exit;
end;
procedure Tyldjform.MaskEdit1Exit(Sender: TObject);
var
rq:tdatetime;
begin
try
rq:=strtodatetime(maskedit1.text);
except
showmessage('时间不对');
maskedit1.SetFocus ;
end;
end;
Function checkgrid(tg:tstringgrid):boolean;
var
i: integer;
begin
checkgrid:=false;
for i:=1 to tg.rowcount-1 do
if length(trim(tg.cells[0,i]))>0 then
begin
checkgrid:=true;
break;
end;
end;
procedure addman;
var
depo:double;
i:integer;
ptab,welno:string;
aa: array [0..2] of string;
begin
with yldjform do
begin
depo:=0;
i:=1;
while trim(rmnogrid.Cells[0,i])<>'' DO
begin
welno:=getnewcode('welid');
// welno:=xdh('nowin','lsnowin','welid',6);
if i=1 then
begin
q1.Active :=false;
q1.sql.clear;
q1.sql.add('insert into account values(:paccno,:pdeposit,0)');
q1.ParamByName('pdeposit').asfloat:=yj.value;
q1.ParamByName('paccno').asstring:=szacc;
q1.prepare;
q1.ExecSQL ;
q1.Active :=false;
//************database is deposit*****************//
//************************************************//
end;
q1.Active :=false;
q1.sql.Clear ;
q1.sql.add('insert into nowin(roomno,handno,accno,Welid,num,roomprice,truntime,changeroom,isbj,sex,istime,ismd,isxj,iszp,iscard,isgz,gzno,acctime,isleft,money,csmoney,begtime,regid,djcode,sdjcode,guest,JzFs,czy,zkl,ismff,ismxf,xcode,pzr)');
q1.sql.add(' values(:proomno,:phandno,:paccno,:PWelid,:pnum,:roomprice,:truntime,:pchangeroom,:pisbj,:psex,:pistime,:pismd,:pisxj,:piszp,:piscard,:pisgz,:pgzno,:pacctime,:pisleft,:pmoney,:pcsmoney,:pbegintime,:pregid,:pdjcode,:psdjcode,');
q1.sql.add(':pguest,:pJzFs,:pczy,:pzkl,:pismff,:pismxf,:pxcode,:ppzr)');
q1.sql.add('insert into GuestMx(roomno,Welid,Name,Sex,Age,Zj,zjid,WorkUnit,accno,groupid)');
q1.sql.add(' values(:proomno,:PWelid,:pname,:pxb,:page,:pzj,:pzjid,:pwork,:paccno,'''')');
q1.ParamByName ('pxb').asstring:=trim(rmnogrid.Cells[3,i]);
q1.ParamByName ('pname').asstring:=trim(rmnogrid.Cells[6,i]);
q1.ParamByName ('truntime').asstring:=trim(rmnogrid.Cells[7,i]);
q1.ParamByName ('roomprice').asstring:=trim(rmnogrid.Cells[4,i]);
q1.ParamByName ('page').asstring:=trim(rmnogrid.Cells[8,i]);
q1.ParamByName ('pzj').asstring:=trim(rmnogrid.Cells[9,i]);
q1.ParamByName ('pzjid').asstring:=trim(rmnogrid.Cells[10,i]);
q1.ParamByName ('pwork').asstring:=trim(rmnogrid.Cells[11,i]);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -