⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 newxf.pas

📁 集成酒店桑拿食管管理的完整程序
💻 PAS
📖 第 1 页 / 共 3 页
字号:
unit newxf;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  Db, DBTables, Grids, StdCtrls, Mask,registry, ComCtrls, ExtCtrls, Spin,
  DBGrids;

type
  Txfform = class(TForm)
    grid: TStringGrid;
    Query1: TQuery;
    S1: TStoredProc;
    S2: TStoredProc;
    xfname: TTabControl;
    Grid3: TStringGrid;
    xflist1: TStringGrid;
    sl: TSpinEdit;
    Panel5: TPanel;
    Label1: TLabel;
    Label2: TLabel;
    xflx: TLabel;
    hdno: TMaskEdit;
    xftype: TComboBox;
    md: TCheckBox;
    Panel2: TPanel;
    Label9: TLabel;
    Label4: TLabel;
    djno: TEdit;
    zkl: TSpinEdit;
    Panel3: TPanel;
    man: TRadioButton;
    woman: TRadioButton;
    Panel4: TPanel;
    xj: TCheckBox;
    Panel6: TPanel;
    Button2: TButton;
    Button3: TButton;
    pd: TComboBox;
    Panel1: TPanel;
    Label6: TLabel;
    Label7: TLabel;
    Label3: TLabel;
    Label5: TLabel;
    xf: TMaskEdit;
    Edit1: TEdit;
    czy: TMaskEdit;
    yj: TMaskEdit;
    Label10: TLabel;
    Label11: TLabel;
    mc: TEdit;
    Button1: TButton;
    zy: TLabel;
    zyry1: TComboBox;
    xfsl: TSpinEdit;
    Grid2: TStringGrid;
    GroupBox1: TGroupBox;
    jc1: TRadioButton;
    RadioButton2: TRadioButton;
    Panel7: TPanel;
    Label22: TLabel;
    Label23: TLabel;
    DBGrid1: TDBGrid;
    jc: TEdit;
    bx: TRadioButton;
    DataSource1: TDataSource;
    pdid: TComboBox;
    zdsz: TComboBox;
    caljz: TStoredProc;
    Label12: TLabel;
    MaskEdit1: TMaskEdit;
    MaskEdit2: TMaskEdit;
    Label13: TLabel;
    MaskEdit3: TMaskEdit;
    DBGrid2: TDBGrid;
    Panel8: TPanel;
    Panel9: TPanel;
    DBGrid3: TDBGrid;
    Query2: TQuery;
    DataSource2: TDataSource;
    Query3: TQuery;
    DataSource3: TDataSource;
    zyry: TComboBox;
    Label8: TLabel;
    cmbZY: TComboBox;
    Query4: TQuery;
    procedure FormCreate(Sender: TObject);
    procedure FormKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure hdnoExit(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure gridKeyPress(Sender: TObject; var Key: Char);
    procedure gridExit(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure hdnoEnter(Sender: TObject);
    procedure xjClick(Sender: TObject);
    procedure mdClick(Sender: TObject);
    procedure xfnameChange(Sender: TObject);
    procedure Grid3DblClick(Sender: TObject);
    procedure xflist1DblClick(Sender: TObject);
    procedure djnoKeyPress(Sender: TObject; var Key: Char);
    procedure gridKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure zyryKeyPress(Sender: TObject; var Key: Char);
    procedure zyryExit(Sender: TObject);
    procedure hdnoDblClick(Sender: TObject);
    procedure hdnoKeyPress(Sender: TObject; var Key: Char);
    procedure Grid2Enter(Sender: TObject);
    procedure Grid2Exit(Sender: TObject);
    procedure gridMouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
    procedure slKeyPress(Sender: TObject; var Key: Char);
    procedure slExit(Sender: TObject);
    procedure gridEnter(Sender: TObject);
    procedure zklChange(Sender: TObject);
    procedure gridDblClick(Sender: TObject);
    procedure gridClick(Sender: TObject);
    procedure gridSetEditText(Sender: TObject; ACol, ARow: Integer;
      const Value: String);
    procedure mcExit(Sender: TObject);
    procedure mcKeyPress(Sender: TObject; var Key: Char);
    procedure xfslExit(Sender: TObject);
    procedure xfslKeyPress(Sender: TObject; var Key: Char);
    procedure zyry1Exit(Sender: TObject);
    procedure zyry1KeyPress(Sender: TObject; var Key: Char);
    procedure FormShow(Sender: TObject);
    procedure mcKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure jcExit(Sender: TObject);
    procedure jcKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure jcKeyPress(Sender: TObject; var Key: Char);
    procedure jcKeyUp(Sender: TObject; var Key: Word; Shift: TShiftState);
    procedure DBGrid1Exit(Sender: TObject);
    procedure DBGrid1KeyPress(Sender: TObject; var Key: Char);
    procedure DBGrid1DblClick(Sender: TObject);
    procedure pdKeyPress(Sender: TObject; var Key: Char);
    procedure pdExit(Sender: TObject);
    procedure cmbZYExit(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  xfform: Txfform;

implementation
uses dataproc, newdj;

{$R *.DFM}
var
  acc,lssex,welno:string;
  bbb:array[0..5] of string;
procedure sumroom(handno,sex:string);
begin
 with xfform do
 begin
     caljz.prepare;
     caljz.ParamByName('@ihand').asstring:=handno;
     caljz.ParamByName('@isex').asstring:=sex;
     caljz.ParamByName('@itime').asdatetime:=now;
     caljz.ParamByName('@ilftime').asdatetime:=now;
     caljz.parambyname('@iiszd').asboolean:=false;
     caljz.prepare;
     caljz.ExecProc;
     caljz.UnPrepare;
  end;   
end;
procedure qkgrid(gridd:tstringgrid);
var i,j:integer;
begin
 with xfform do
   begin
     for i:=0 to Gridd.RowCount-1 do
       for j:=0 to Gridd.colCount-1 do
         gridd.Cells[j,i]:='';
   end;
end;

procedure unlocka;
begin
 with xfform do
   begin
   s2.ParamByName ('@ihand').asstring:=acc;
   s2.ParamByName ('@iwdno').asstring:=curper.workjsj;
   s2.Prepare;
   s2.ExecProc ;
   s2.UnPrepare;
 end
end;

procedure   locka;
begin
  with  xfform   do
   begin
    s1.ParamByName ('@ihand').asstring:=acc;
    s1.ParamByName ('@iwdno').asstring:=curper.workjsj;
    s1.Prepare;
    s1.ExecProc ;
    s1.UnPrepare;
  end
end;

procedure init;
var
  i:integer;
begin
  acc:='';
with  xfform do
  begin
    Panel4.Enabled :=true;
    xj.Checked :=false;
    md.Enabled :=true;
    md.Checked :=false;
    hdno.text:='';
    djno.text:='';
    czy.text:=curper.name;
    pd.text:='';
    yj.text:='0';
    MaskEdit1.text:='0';
    MaskEdit2.text:='0';
    MaskEdit3.text:='0';
    xf.Text :='0';
    edit1.text:='0';
    xj.Checked :=false;
    md.Checked :=false;
    Panel3.Visible:=false;
    //pd.Text :='';
    i:=1;
    while i<grid.RowCount  do
      begin
      grid.Cells [2,i]:=' ';
      grid.Cells [3,i]:=' ';
      grid.Cells [4,i]:=' ';
      i:=i+1;
      end;
   //xflist.Items.Clear;
   qkgrid(xflist1);
//   xfbm.Items.Clear;
   xflist1.Cells[0,0]:='  消费项目 ';
   xflist1.Cells[1,0]:='单价';
   xflist1.cells[2,0]:='金额';
   xflist1.cells[3,0]:='数量';
   xflist1.cells[4,0]:='专业人员';
  end
end;

procedure delete(arow:integer;gd:Tstringgrid);
var
  i,j:integer;
begin
with xfform do
   begin
     i:=arow;
     while trim(gd.Cells[0,i])<>'' do
     begin
        for j:=0 to 11 do gd.Cells[j,i]:=gd.Cells[j,i+1];
        i:=i+1;
     end;
   end;
end;

procedure seexfmx(d,dd:integer);
var
  i:integer;
begin
with xfform do
 begin
   if (xfname.TabIndex>=0) then
   begin
     xflx.Caption:=xfname.tabs[xfname.TabIndex]+'\'+grid2.Cells[d,dd];
     query1.Active :=false;
     query1.UnPrepare;
     query1.sql.clear;
     query1.sql.add('select cusname,price,cuscode,iszy,iszk,custype,spcode,tcje from cusitem where custype='''+grid3.Cells[d,dd]+'''');
     query1.Prepare;
     query1.Open;
     query1.Active :=true;
//     typebm.Items.Clear;
     i:=1;
     if query1.RecordCount >0 then
        begin
         query1.First ;
         while not query1.EOF  do
         begin
           grid.Cells [0,i]:=query1.fields[0].asstring;
           grid.Cells [1,i]:=floattostr(query1.fieldbyname('price').asfloat);
           grid.Cells [5,i]:=query1.fieldbyname('iszk').asstring;
           grid.Cells [6,i]:=query1.fieldbyname('iszy').asstring;
           grid.Cells [7,i]:=query1.fieldbyname('cuscode').asstring;
           grid.Cells [8,i]:=query1.fieldbyname('custype').asstring;
           grid.Cells [9,i]:=query1.fieldbyname('spcode').asstring;
           grid.Cells [10,i]:=query1.fieldbyname('tcje').asstring;
//           zy[i-1]:=query1.fieldbyname('iszy').asboolean;
//           typebm.Items.Add(query1.fields[2].asstring);
           i:=i+1;
           query1.next;
         end
        end;
     grid.RowCount :=query1.RecordCount+1;
     if query1.RecordCount >0 then
      begin
        grid.Enabled :=true;
        grid.FixedRows :=1;
      end
     else
       grid.Enabled :=false;
     i:=1;
     while i<grid.RowCount  do
      begin
        grid.Cells [2,i]:=' ';
        grid.Cells [3,i]:=' ';
        grid.Cells [4,i]:=' ';
        i:=i+1;
      end;
     query1.Active :=false;
     query1.UnPrepare;
     query1.sql.clear;
    end;
   end;
end;

procedure seexftype(dd:integer);
var
  i,j:integer;
begin
with xfform do
   begin
  query1.Active :=false;
  query1.sql.clear;
  query1.sql.add('select custype,cusname from custype where parentcode='''+trim(xftype.items[dd])+'''');
  query1.Open;
  qkgrid(grid2);
  qkgrid(grid3);

  i:=0;
  j:=0;
  while not query1.EOF  do
  begin
     if j>=grid2.RowCount then
     begin
       j:=0;
       i:=i+1;
     end;
     grid2.Cells[i,j]:=query1.Fields[1].asstring;
     grid3.Cells[i,j]:=query1.Fields[0].asstring;
     j:=j+1;
     query1.Next;
  end;
  query1.Active :=false;
  query1.sql.clear;
 // query1.sql.add('select Name from stuff where iszy=1 and Headship='''+copy(trim(grid3.Cells[0,0]),1,2)+'''');
 // query1.sql.add('select Name from stuff where iszy=1 and  deptcode='''+trim(xftype.items[dd])+'''');
  query1.sql.add('select code,Name from stuff where iszy=1 ');
  query1.Prepare;
  query1.Open;
  zyry.Items.Clear;
  while not query1.Eof do
  begin
     zyry.Items.Add(copy((query1.Fields[0].asstring+'    '),1,4)+query1.Fields[1].asstring);
     query1.Next;
  end;
  query1.Active :=false;
  query1.UnPrepare;
  query1.sql.clear;

  seexfmx(0,0);
end;
end;



procedure Txfform.FormCreate(Sender: TObject);
var
  //tt:tregistry;
  i:integer;
begin
{   tt:=Tregistry.Create;
   tt.Rootkey:=HKEY_LOCAL_MACHINE;
   if  tt.openkey('system\currentcontrolset\control\computername\computername',false) then
       ls:=tt.readstring('computername');
   tt.free; }
   shortdateformat:='yyyy-mm-dd';
   init;
   rytobox(pdid,pd,'1');
   zdsz.Items.Clear;
   try
    zdsz.Items.LoadFromFile(curper.workpath+'\cwsys.dll');
   except
   end;
   query1.Active :=false;
   query1.sql.clear;
   query1.sql.add('select custype,cusname from custype where parentcode='''+'0'+''' or parentcode='''+'00'+'''');
//   comadd(xfform.xftype,2,'select custype,cusname from custype where parentcode='''+'0'+''' ');
   query1.Open;
   xfname.Tabs.Clear;
   xftype.Items.Clear;
   while not query1.eof do
   begin
     if zdsz.Items.Count<1 then
     begin
       xftype.items.Add(query1.fields[0].asstring);
       xfname.Tabs.Add(query1.fields[1].asstring);
     end else
     begin
       for i:=2 to zdsz.Items.Count-1 do
       if trim(copy(zdsz.Items[i],1,4))=query1.fields[0].asstring then
       begin
         xftype.items.Add(query1.fields[0].asstring);
         xfname.Tabs.Add(query1.fields[1].asstring);
       end;
     end;
     query1.next;
   end;
   Grid2.RowCount:=strtoint(floattostr(int(Grid2.Height/21.4)));
   query1.Active :=false;
   query1.UnPrepare;
   query1.sql.clear;
   seexftype(0);
   cmbZY.Clear;
   query4.Active :=false;
   query4.sql.clear;
   query4.sql.add('select Name from stuff where isZY=1');
//   comadd(xfform.xftype,2,'select custype,cusname from custype where parentcode='''+'0'+''' ');
   query4.Open;
   while not query4.eof do
   begin
       cmbZY.items.Add(query4.fields[0].asstring);
     query4.next;
   end;
   query4.Active :=false;
   query4.UnPrepare;
   query4.sql.clear;
   grid.Cells[0,0]:='    消费项目   ';
   grid.Cells[1,0]:='单价';
   grid.cells[2,0]:='金额';
   grid.cells[3,0]:='数量';
   grid.cells[4,0]:='专业人员';
end;



procedure Txfform.slExit(Sender: TObject);
begin
   if (trim(sl.Text)<>'') then
   begin
     try
        if trim(sl.text)<>'' then strtoint(sl.text);
        grid.Cells[3,grid.Row]:=inttostr(sl.value);
     except
        grid.Cells[3,grid.Row]:=trim(sl.text);
     end;
   end
   else
     grid.Cells[3,grid.Row]:='';

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -