📄 ylnewdj.pas
字号:
q1.ParamByName ('proomno').asstring:=trim(rmnogrid.Cells[0,i]);
q1.ParamByName ('phandno').asstring :=trim(rmnogrid.Cells[0,i]);
q1.ParamByName ('paccno').asstring :=szacc;
q1.ParamByName ('pwelid').asstring:=welno;
if trim(rmnogrid.Cells[2,i])<>'' then
q1.ParamByName ('pnum').asinteger:=strtoint(rmnogrid.cells[2,i])
else
q1.ParamByName ('pnum').asinteger:=1;
q1.ParamByName ('pchangeroom').asboolean :=false;
if trim(rmnogrid.Cells[15,i])='1' then
begin
q1.ParamByName ('psex').asstring :='1';
mannum:=mannum+1;
ptab:='mansan';
end;
if trim(rmnogrid.Cells[15,i])='0' then
begin
q1.ParamByName ('psex').asstring :='0';
womannum:=womannum+1;
ptab:='womansan';
end;
if trim(rmnogrid.Cells[15,i])='2' then
begin
q1.ParamByName ('psex').asstring :='2';
ptab:='room';
if lsmd=true then
zdrmnum:=zdrmnum+1
else
roomnum:=roomnum+1;
end;
if trim(rmnogrid.Cells[15,i])='3' then
begin
q1.ParamByName ('psex').asstring :='3';
ptab:='jyl';
jylnum:=jylnum+1;
end;
if trim(rmnogrid.Cells[1,i])<>'' then
begin
q1.ParamByName ('pisbj').asboolean :=true;;
if trim(rmnogrid.Cells [1,i])='是' then
q1.ParamByName ('pistime').asboolean:=true
else
q1.ParamByName ('pistime').asboolean:=false;
end
else
begin
q1.ParamByName ('pisbj').asboolean :=false;
q1.ParamByName ('pistime').asboolean:=false;
end;
q1.ParamByName ('pismd').asboolean:=lsmd;
q1.ParamByName ('pisxj').asboolean:=false;
q1.ParamByName ('piszp').asboolean:=false;
q1.ParamByName ('piscard').asboolean:=false;
q1.ParamByName ('pisgz').asboolean:=false;
q1.ParamByName ('pgzno').asstring:='';
q1.ParamByName ('pacctime').asdatetime:=strtodatetime(maskedit1.text);
q1.paramByName ('pisleft').asboolean:=false;
q1.ParamByName ('pmoney').asfloat:=0;
q1.parambyname ('pcsmoney').asfloat:=0;
q1.ParamByName ('pbegintime').asdatetime:=strtodatetime(maskedit1.text);
q1.ParamByName ('pregid').asstring :='';
q1.ParamByName ('pczy').asstring :=copy(reg.text,1,10);
q1.ParamByName ('pdjcode').asstring :=pdj.Text;
q1.ParamByName ('psdjcode').asstring :='0';
q1.ParamByName ('pguest').asinteger:=0 ;
q1.ParamByName ('pjzfs').asstring:=jzfs.Items[jzfsname.ItemIndex];
q1.ParamByName ('pzkl').asinteger:=zkl.Value;
q1.ParamByName ('pxcode').asstring :=trim(rmnogrid.Cells[5,i]);
q1.ParamByName ('pismff').asboolean :=false;
q1.ParamByName ('pismxf').asboolean :=false;
q1.ParamByName ('pxcode').asstring :=trim(rmnogrid.Cells[5,i]);
q1.ParamByName ('ppzr').asstring :=czy.Caption;
q1.Prepare;
q1.ExecSQL;
q1.Active :=false;
q1.sql.Clear ;
q1.sql.add('update '+ptab+' set status=:pstatus where roomno=:proomno ');
if lsmd=true then
q1.ParamByName('pstatus').asstring :='4'
else
q1.ParamByName('pstatus').asstring :='1';
q1.ParamByName('proomno').asstring :=trim(rmnogrid.cells[0,i]);
q1.Prepare;
q1.ExecSQL;
q1.Active :=false;
q1.UnPrepare;
i:=i+1;
end;
end;
end;
procedure Tyldjform.Button1Click(Sender: TObject);
var
i:integer;
rmflag:boolean;
begin
servertime(NIL);
szacc:='';
cfhd:='';
for i:=1 to rmnogrid.RowCount do
if trim(rmnogrid.cells[0,i])<>'' then
begin
{ if trim(rmnogrid.cells[5,i])='' then
begin
showmessage('房间:'+trim(rmnogrid.cells[0,i])+'鞋牌号没有输入');
exit;
end; }
if (trim(rmnogrid.cells[7,i])<>'4') and (trim(rmnogrid.cells[7,i])<>'12') and (trim(rmnogrid.cells[7,i])<>'24') then
begin
showmessage('房间:'+trim(rmnogrid.cells[0,i])+'周转时间不对');
exit;
end;
if trim(rmnogrid.cells[4,i])='' then
begin
showmessage('房间:'+trim(rmnogrid.cells[0,i])+'房价没有输入');
exit;
end;
end;
rmflag:=checkgrid(rmnogrid);
if (not rmflag) then
begin
messagedlg('没有选择手号',mtInformation,[mbok],0);
exit;
end ;
if length(trim(cfhd))>0 then
begin
showmessage('手号'+cfhd+' 错误');
rmnogrid.SetFocus ;
exit;
end;
{ if length(trim(pdj.text))=0 then
begin
showmessage('单号不能为空');
pdj.SetFocus ;
exit;
end; }
szacc:=getnewcode('accno');
if szacc='' then exit;
//********find a djno**********************//
if trim(pdj.Text)='' then
pdj.Text:=xdh('nowin','lsnowin','djcode',6);
rmno:='';
for i:=1 to rmnogrid.RowCount do
if trim(rmnogrid.cells[0,i])<>'' then
begin
rmno:=rmnogrid.cells[0,i];
break;
end;
//***********database is nowin *****************//
if rmflag then
ADDman;
//******* database is account *****************//
//***********curbcinfo *****************//
q1.Active :=false;
q1.sql.clear;
q1.sql.add('update curbcinfo set room=room+:prm,man=man+:pman,woman=woman+:pwoman,zdroom=zdroom+:pzdrm');
q1.ParamByName ('prm').asinteger:=roomnum;
q1.ParamByName ('pman').asinteger:=mannum;
q1.ParamByName ('pwoman').asinteger:=womannum;
q1.ParamByName ('pzdrm').asinteger:=zdrmnum;
q1.Prepare;
q1.ExecSQL ;
q1.Active :=false;
q1.UnPrepare;
showmessage('登记成功');
init;
end;
procedure Tyldjform.Timer1Timer(Sender: TObject);
var col,row:integer;
begin
maskedit1.Text :=datetimetostr(now);
roomini;
end;
procedure Tyldjform.Button2Click(Sender: TObject);
begin
yldjform.close;
end;
procedure Tyldjform.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key=13 then
selectnext(activecontrol,true,true);
if key=27 then
close;
if key=112 then
if not Panel1.Visible then
begin
if xt=1 then help(6);
if xt=0 then help(10);
end
else
begin
if xt=0 then help(1);
end;
end;
procedure Tyldjform.FormClose(Sender: TObject; var Action: TCloseAction);
begin
edit2.Text:='';
q1.Free;
q2.Free;
end;
procedure Tyldjform.rmnogridKeyPress(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 Tyldjform.rmnogridSelectCell(Sender: TObject; Col, Row: Integer;
var CanSelect: Boolean);
var
aa,bb:array [0..1] of string;
begin
if (col=0) and (rmnogrid.cells[2,currow]='') and (length(trim(rmnogrid.cells[0,currow]))>0) then
begin
aa[0]:='';
getvalue(aa,'select roomtype from room where roomno='''+trim(rmnogrid.cells[0,currow])+'''');
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,currow]:=bb[0];
end;
if (col=0) and (rmnogrid.cells[1,currow]='') and (length(trim(rmnogrid.cells[0,currow]))>0) then
rmnogrid.cells[1,currow]:='0';
end;
procedure Tyldjform.rmnogridSetEditText(Sender: TObject; ACol, ARow: Integer;
const Value: String);
begin
currow:=arow;
end;
procedure Tyldjform.jzfsnameChange(Sender: TObject);
var i,j:integer;
begin
end;
procedure Tyldjform.jzfsnameKeyPress(Sender: TObject; var Key: Char);
begin
key:=#0;
end;
procedure Tyldjform.grid1DblClick(Sender: TObject);
var ls:string;
i:integer;
begin
ls:=' ';
if activecontrol=jylgrid then
begin
i:=1;
while trim(rmnogrid.cells[0,i])<>'' do
begin
if (trim(rmnogrid.cells[0,i])=trim(jylgrid.cells[jylgrid.Col,jylgrid.Row])) then
begin
ls:='$';
break;
end;
i:=i+1;
end;
if ls<>'$' then
ls:=jylgrid.Cells[jylgrid.Col,1];
end;
rmno:=jylgrid.Cells[jylgrid.col,jylgrid.row];
if ls='0' then
yldjform.n1click(NIl);
end;
procedure Tyldjform.rmnogridDblClick(Sender: TObject);
var i,j:integer;
begin
if (rmnogrid.Col=0) and (rmnogrid.Cells[0,rmnogrid.row]<>'') then
begin
i:=rmnogrid.row;
if trim(rmnogrid.cells[1,i])='是' then
yj.Value:=yj.Value-strtoint(rmnogrid.cells[19,i])
else
yj.Value:=yj.Value-strtoint(rmnogrid.cells[18,i]);
while trim(rmnogrid.cells[0,i])<>'' do
begin
for j:=0 to 19 do
rmnogrid.cells[j,i]:=rmnogrid.cells[j,i+1];
i:=i+1;
end;
end;
if (rmnogrid.Col=3) and (rmnogrid.Cells[0,rmnogrid.row]<>'') and (rmnogrid.Cells[15,rmnogrid.row]='2') then
begin
i:=rmnogrid.row;
if trim(rmnogrid.cells[3,i])='男' then
rmnogrid.cells[3,i]:='女' else
begin
if trim(rmnogrid.cells[3,i])='女' then
rmnogrid.cells[3,i]:='俩' else
begin
if trim(rmnogrid.cells[3,i])='俩' then
rmnogrid.cells[3,i]:='男';
end;
end;
end;
if (rmnogrid.Col=1) and (trim(rmnogrid.Cells[1,rmnogrid.Row])<>'') then
begin
if trim(rmnogrid.Cells[1,rmnogrid.Row])='是' then
begin
rmnogrid.Cells[1,rmnogrid.Row]:='否';
rmnogrid.Cells[4,rmnogrid.Row]:=floattostr(strtofloat(rmnogrid.Cells[16,rmnogrid.Row])*zkl.Value/100);
yj.Value:=yj.Value-strtoint(rmnogrid.cells[19,rmnogrid.Row])+strtoint(rmnogrid.cells[18,rmnogrid.Row]);
end
else
begin
rmnogrid.Cells[1,rmnogrid.Row]:='是';
rmnogrid.Cells[4,rmnogrid.Row]:=floattostr(strtofloat(rmnogrid.Cells[17,rmnogrid.Row])*zkl.Value/100);
yj.Value:=yj.Value-strtoint(rmnogrid.cells[18,rmnogrid.Row])+strtoint(rmnogrid.cells[19,rmnogrid.Row]);
end;
end;
end;
procedure Tyldjform.pdjKeyPress(Sender: TObject; var Key: Char);
begin
if ((key>'9') or (key<'0'))and(key<>#8) then key:=#0;
end;
procedure Tyldjform.rmnogridKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if (trim(rmnogrid.Cells[1,rmnogrid.Row])='') then
rmnogrid.Options:=[goFixedVertLine,goFixedHorzLine,goVertLine,goHorzLine,goRangeSelect,goAlwaysShowEditor]
else
begin
if (rmnogrid.Col=1) or (rmnogrid.Col=2) then
rmnogrid.Options:=[goFixedVertLine,goFixedHorzLine,goVertLine,goHorzLine,goRangeSelect,goEditing,goAlwaysShowEditor];
end;
if (rmnogrid.Col=5) then
rmnogrid.Options:=[goFixedVertLine,goFixedHorzLine,goVertLine,goHorzLine,goRangeSelect,goEditing,goAlwaysShowEditor];
end;
procedure Tyldjform.rmnogridKeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if (rmnogrid.Col=1) and (trim(rmnogrid.Cells[1,rmnogrid.Row])<>'') then
begin
if (trim(rmnogrid.Cells[1,rmnogrid.Row])='0') or (trim(rmnogrid.Cells[1,rmnogrid.Row])='是') then
begin
rmnogrid.Cells[1,rmnogrid.Row]:='否';
rmnogrid.Cells[4,rmnogrid.Row]:=rmnogrid.Cells[6,rmnogrid.Row];
yj.Value:=yj.Value-strtoint(rmnogrid.cells[9,rmnogrid.Row])+strtoint(rmnogrid.cells[8,rmnogrid.Row]);
end
else
begin
rmnogrid.Cells[1,rmnogrid.Row]:='是';
yj.Value:=yj.Value-strtoint(rmnogrid.cells[8,rmnogrid.Row])+strtoint(rmnogrid.cells[9,rmnogrid.Row]);
rmnogrid.Cells[4,rmnogrid.Row]:=rmnogrid.Cells[7,rmnogrid.Row];
end;
end;
end;
procedure Tyldjform.zklChange(Sender: TObject);
var i:integer;
begin
i:=1;
while trim(rmnogrid.Cells[0,i])<>'' do
begin
if trim(rmnogrid.cells[1,i])='是' then rmnogrid.cells[4,i]:=floattostr(strtofloat(rmnogrid.cells[17,i])*zkl.Value/100)
else rmnogrid.cells[4,i]:=floattostr(strtofloat(rmnogrid.cells[16,i])*zkl.Value/100);
i:=i+1;
end;
end;
procedure Tyldjform.jylgridDrawCell(Sender: TObject; Col, Row: Integer;
Rect: TRect; State: TGridDrawState);
var
bb:Tbrush;
tt:trect;
begin
if col=0 then
exit;
if length(trim(jylgrid.Cells[Col,1]))>0 then
begin
bb:=jylgrid.canvas.brush;
if jylgrid.Cells[Col,1]='0' then
jylgrid.canvas.font.color:=$0000ff00; //GReen
if jylgrid.Cells[Col,1]='1' then
jylgrid.canvas.font.color:=$000000ff; // Red
if jylgrid.Cells[Col,1]='2' then
jylgrid.canvas.font.color:=$0000ffff; // Yellow
if jylgrid.Cells[Col,1]='3' then
jylgrid.canvas.font.color:=$00ffff00; // blank
if jylgrid.Cells[Col,1]='4' then
jylgrid.canvas.font.color:=$02aa00aa; //
tt:=jylgrid.cellrect(col,row);
jylgrid.canvas.textrect(tt,tt.Left,tt.Top,jylgrid.Cells[Col,Row]);
jylgrid.canvas.brush:=bb;
end;
end;
procedure Tyldjform.FormShow(Sender: TObject);
begin
pdj.Text:='';
end;
procedure Tyldjform.hykhKeyPress(Sender: TObject; var Key: Char);
begin
key:=#0;
end;
procedure Tyldjform.jylgridMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
if (strtoint(floattostr(int((x/(jylgrid.DefaultColWidth+1)))))<jylgrid.ColCount)
and (strtoint(floattostr(int((x/(jylgrid.DefaultColWidth+1)))))>0) then
jylgrid.Col:=strtoint(floattostr(int((x/(jylgrid.DefaultColWidth+1)))));
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -