📄 newxf.pas
字号:
// xfbm.Items.Delete(xflist1.row-1);
end;
end;
procedure Txfform.djnoKeyPress(Sender: TObject; var Key: Char);
begin
if (key>'9') or (key<'0') then key:=#0;
end;
procedure Txfform.gridKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
grid.col:=3;
end;
procedure Txfform.zyryKeyPress(Sender: TObject; var Key: Char);
begin
if (key=char(13)) then
begin
ActiveControl:=grid;
end;
end;
procedure Txfform.zyryExit(Sender: TObject);
begin
if (trim(zyry.Text)<>'') then
begin
grid.Cells[4,grid.Row]:=trim(copy(zyry.Text,5,10));
end
else
grid.Cells[3,grid.Row]:='';
zyry.text:='';
zyry.Visible:=False;
zyry.Enabled:=false;
ActiveControl:=grid;
end;
procedure Txfform.hdnoDblClick(Sender: TObject);
begin
Application.CreateForm(Tdjform, djform);
djform.Panel1.Visible:=false;
djform.rmnogrid.Visible:=false;
djform.Button1.Enabled:=false;
djform.edit2.Text:='a';
djform.Timer1.Free;
djform.showmodal;
hdno.Text:=copy(trim(djform.xfrmno.Text),1,6);
if length(trim(djform.xfrmno.Text))>6 then
begin
Panel3.Visible:=true;
if trim(copy(trim(djform.xfrmno.Text),7,6))='1' then
begin
man.Checked:=true;
woman.Checked:=false;
end
else
begin
man.Checked:=false;
woman.Checked:=true;
end;
end
else Panel3.Visible:=false;
djform.Free;
grid.SetFocus;
end;
procedure Txfform.hdnoKeyPress(Sender: TObject; var Key: Char);
begin
key:=#0;
end;
procedure Txfform.Grid2Enter(Sender: TObject);
begin
(ActiveControl as Tstringgrid).Color:=clWhite;
(ActiveControl as Tstringgrid).Font.Color:=clBlue;
end;
procedure Txfform.Grid2Exit(Sender: TObject);
begin
grid2.Color:=clBackground;
grid2.Font.Color:=clYellow;
end;
procedure Txfform.gridMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
if y>18 then
grid.Hint:=grid.Cells[0,strtoint(floattostr(int(y/18)))]+' 单价:'+grid.Cells[1,strtoint(floattostr(int(y/18)))]+'元';
end;
procedure Txfform.slKeyPress(Sender: TObject; var Key: Char);
begin
if (key=char(13)) then
begin
ActiveControl:=grid;
end;
end;
procedure Txfform.gridExit(Sender: TObject);
begin
grid.Color:=clBackground;
grid.Font.Color:=clYellow;
end;
procedure Txfform.zklChange(Sender: TObject);
var i:integer;
curxf:double;
begin
i:=1;
curxf:=0.00;
while trim(xflist1.Cells[0,i])<>'' do
begin
if trim(xflist1.Cells[5,i])='True' then
xflist1.Cells[2,i]:=floattostr((strtofloat(xflist1.Cells[1,i])*strtofloat(xflist1.Cells[3,i]))*zkl.Value/100);
curxf:=curxf+strtofloat(trim(xflist1.Cells[2,i]));
i:=i+1;
end;
edit1.text:=floattostr(curxf);
end;
procedure Txfform.gridDblClick(Sender: TObject);
begin
if (grid.Col=3) then
begin
sl.Visible:=true;
sl.Enabled:=true;
sl.Top:=50+(grid.row-grid.TopRow)*19;
ActiveControl:=sl;
end;
if (grid.Col=4) then
begin
cmbZY.Visible:=true;
CmbZY.Enabled:=true;
CmbZY.Top:=50+(grid.row-grid.TopRow)*19;
ActiveControl:=cmbZY;
end;
end;
procedure Txfform.gridClick(Sender: TObject);
begin
{if (grid.Col=4) and (trim(grid.Cells[6,grid.row])='True') and (trim(grid.Cells[3,grid.row])<>'') then
begin
zyry.Visible:=true;
zyry.Enabled:=true;
zyry.Top:=50+(grid.row-grid.TopRow)*19;
ActiveControl:=zyry;
end; }
end;
procedure Txfform.gridSetEditText(Sender: TObject; ACol, ARow: Integer;
const Value: String);
var
curxf:double;
i,j:integer;
begin
try
//*****************************************//
if length(trim(grid.cells[3,arow]))>0 then
begin
if trim(grid.Cells [5,arow])='True' then
grid.Cells [2,arow]:=floattostr(strtofloat(grid.cells[1,arow])*strtofloat(grid.cells[3,arow])*zkl.Value/100)
else
grid.Cells [2,arow]:=floattostr(strtofloat(grid.cells[1,arow])*strtofloat(grid.cells[3,arow]));
curxf:=0.00;
i:=1;
while trim(xflist1.Cells[0,i])<>'' do
begin
if trim(xflist1.Cells[0,i])=trim(grid.Cells[0,arow]) then
begin
delete(i,xflist1);
// xfbm.Items.Delete(i-1);
end
else
begin
if xflist1.RowCount<=i then xflist1.RowCount:=xflist1.RowCount+1;
curxf:=curxf+strtofloat(trim(xflist1.Cells[2,i]));
i:=i+1;
end;
end;
if trim(grid.Cells[2,arow])<>'0' then
begin
for j:=0 to 10 do xflist1.Cells[j,i]:=grid.Cells[j,arow];
curxf:=curxf+strtofloat(trim(xflist1.Cells[2,i]));
// xfbm.Items.Add(typebm.Items[arow-1]);
end;
edit1.text:=floattostr(curxf);
end
else
grid.Cells [2,arow]:='';
//*****************************************//
//*****************************************//
except
end;
end;
procedure Txfform.mcExit(Sender: TObject);
begin
if trim(mc.text)='' then exit;
getvalue(bbb,'select cuscode,cusname,unit,price,custype,iszy from cusitem where cuscode='''+trim(mc.Text)+''' or cusname='''+trim(mc.Text)+'''');
if bbb[0]='' then
begin
showmessage('项目错误!');
mc.Text:='';
mc.SetFocus;
exit;
end;
if bbb[5]='1' then
begin
zyry1.Enabled:=true;
zyry1.SetFocus;
exit;
end;
xfsl.Enabled:=true;
xfsl.SetFocus;
xfsl.Value:=1;
mc.Text:=bbb[1];
end;
procedure Txfform.mcKeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then mcExit(nil);
end;
procedure Txfform.xfslExit(Sender: TObject);
var i:integer;
curxf:double;
begin
curxf:=0.00;
i:=1;
while trim(xflist1.Cells[0,i])<>'' do
begin
if trim(xflist1.Cells[7,i])=bbb[0] then
begin
delete(i,xflist1);
end
else
begin
if xflist1.RowCount<=i then xflist1.RowCount:=xflist1.RowCount+1;
curxf:=curxf+strtofloat(trim(xflist1.Cells[2,i]));
i:=i+1;
end;
end;
if bbb[2]<>'0' then
begin
xflist1.Cells[0,i]:=bbb[1];
xflist1.Cells[1,i]:=bbb[3];
xflist1.Cells[7,i]:=bbb[0];
xflist1.Cells[8,i]:=bbb[4];
xflist1.Cells[3,i]:=floattostr(xfsl.Value);
xflist1.Cells[4,i]:=zyry1.Text;
xflist1.Cells[2,i]:=floattostr(strtofloat(bbb[3])*xfsl.Value);
curxf:=curxf+strtofloat(trim(xflist1.Cells[2,i]));
// xfbm.Items.Add(bbb[0]);
end;
edit1.text:=floattostr(curxf);
mc.Text:='';
zyry1.Text:='';
mc.SetFocus;
xfsl.Enabled:=false;
xfsl.Value:=1;
end;
procedure Txfform.xfslKeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then xfslExit(nil);
end;
procedure Txfform.zyry1Exit(Sender: TObject);
begin
xfsl.Enabled:=true;
zyry1.Enabled:=false;
xfsl.SetFocus;
end;
procedure Txfform.zyry1KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then zyry1Exit(nil);
end;
procedure Txfform.FormShow(Sender: TObject);
begin
hdno.SetFocus;
end;
procedure Txfform.mcKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if bx.Checked then exit;
if (key>=47) and (key<>45) then
begin
Panel7.Visible:=true;
jc.Text:=chr(key);
ActiveControl:=jc;
jc.SelStart:=1;
jcKeyUp(jc,key,shift);
end;
end;
procedure Txfform.jcExit(Sender: TObject);
begin
if (Panel7.Visible) and (ActiveControl<>DBGrid1) then
jc.SetFocus;
end;
procedure Txfform.jcKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
var i:integer;
begin
if (key>=49) and (key<58) AND (shift=[ssCtrl]) then
begin
Query1.First;
for i:=1 to strtoint(CHR(key))-1 do Query1.Next;
DBGrid1DblClick(NIL);
end;
if (key>32) and (key<=40) then dbgrid1.SetFocus;
if key=27 then
begin
Query1.Active:=false;
Panel7.Visible:=false;
DataSource1.DataSet:=nil;
mc.SetFocus;
end;
end;
procedure Txfform.jcKeyPress(Sender: TObject; var Key: Char);
begin
key:=upcase(key);
if key=#13 then
begin
if trim(jc.text)<>'' then
DBGrid1DblClick(NIL);
{ Query1.Active:=false;
Panel7.Visible:=false;
DataSource1.DataSet:=nil;
mc.SetFocus; }
end;
end;
procedure Txfform.jcKeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
var tj:string;
begin
tj:='';
if jc1.Checked =true then
begin
tj:=' where cusjc>='''+trim(jc.Text)+''' and cusjc<'''+trim(jc.Text)+chr(255)+'''';
Label22.Caption:='项目简称';
end
else
begin
tj:=' where cuscode>='''+trim(jc.Text)+''' and cuscode<'''+trim(jc.Text)+chr(255)+'''';
Label22.Caption:='项目编号';
end;
Query1.Active:=false;
Query1.SQL.Clear;
Query1.SQL.Add('select * from cusitem ' +tj) ;
Query1.Prepare;
Query1.Open;
DataSource1.DataSet:=Query1;
ChineseGrid(DBGrid1);
end;
procedure Txfform.DBGrid1Exit(Sender: TObject);
begin
if (Panel7.Visible) and (ActiveControl<>jc) then
DBGrid1.SetFocus;
end;
procedure Txfform.DBGrid1KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
DBGrid1DblClick(nil);
if key=#27 then
jcKeyPress(nil,key);
end;
procedure Txfform.DBGrid1DblClick(Sender: TObject);
begin
bbb[0]:=Query1.fieldbyname('cuscode').asstring;
bbb[1]:=Query1.fieldbyname('cusname').asstring;
bbb[2]:=Query1.fieldbyname('unit').asstring;
bbb[3]:=Query1.fieldbyname('price').asstring;
bbb[4]:=Query1.fieldbyname('custype').asstring;
bbb[5]:=Query1.fieldbyname('iszy').asstring;
xfsl.Enabled:=true;
xfsl.SetFocus;
xfsl.Value:=1;
mc.Text:=bbb[1];
Query1.Active:=false;
Panel7.Visible:=false;
DataSource1.DataSet:=nil;
xfsl.SetFocus;
end;
procedure Txfform.pdKeyPress(Sender: TObject; var Key: Char);
begin
if ((key>'9') or (key<'0'))and (key<>#8) then key:=#0;
end;
procedure Txfform.pdExit(Sender: TObject);
begin
{ fm.Query1.Active:=false;
fm.Query1.SQL.Clear;
fm.Query1.SQL.Add('select name from stuff where isfwy=1 and (code='''+trim(pd.Text)+''' or name='''+trim(pd.Text)+''')');
fm.Query1.Prepare;
fm.Query1.Open;
if fm.Query1.RecordCount=0 then
begin
showmessage('服务员输入不正确,请重新输入!');
pd.Text:='';
pd.CanFocus;
pd.SetFocus;
end else
pd.Text:= fm.Query1.Fields[0].AsString; }
end;
procedure Txfform.cmbZYExit(Sender: TObject);
begin
if (trim(cmbZY.Text)<>'') then
begin
try
grid.Cells[4,grid.Row]:=trim(CmbZY.text);
except
grid.Cells[4,grid.Row]:=trim(cmbZY.Items.Strings[0]);
end;
end
else
grid.Cells[3,grid.Row]:='';
cmbZY.itemIndex:=0;
cmbZY.Visible:=False;
CmbZy.Enabled:=false;
ActiveControl:=grid;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -