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

📄 rywh.pas

📁 集成酒店桑拿食管管理的完整程序
💻 PAS
字号:
unit rywh;

interface

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

type
  TrywhForm = class(TForm)
    DBGrid1: TDBGrid;
    DataSource1: TDataSource;
    Table1: TTable;
    Table2: TTable;
    Panel3: TPanel;
    Panel1: TPanel;
    Panel2: TPanel;
    smgrid: TStringGrid;
    procedure FormCreate(Sender: TObject);
    procedure Table1AfterInsert(DataSet: TDataSet);
    procedure DBGrid1KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure DBGrid1KeyPress(Sender: TObject; var Key: Char);
    procedure DBGrid1DblClick(Sender: TObject);
    procedure DBGrid1CellClick(Column: TColumn);
    procedure DBGrid1KeyUp(Sender: TObject; var Key: Word;
      Shift: TShiftState);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  rywhForm: TrywhForm;

implementation

uses dataproc;

{$R *.DFM}

procedure lbinit;
var i:integer;
begin
with rywhForm do
  begin
   table2.Active:=false;
   Table2.Tablename:='dbo.rytype';
   Table2.Filter:='deptcode='+trim(table1.Fields[4].asstring);
   try
   Table2.Open;
   except
   end;
   for i:=1 to smgrid.ColCount-1 do
   begin
     if not Table2.Eof then
     begin
       smgrid.Cells[i,0]:=Table2.Fields[0].asstring;
       smgrid.Cells[i,1]:=Table2.Fields[1].asstring;
       Table2.Next;
     end
     else
     begin
       smgrid.Cells[i,0]:='';
       smgrid.Cells[i,1]:='';
     end;
   end;
   Table2.Close;
   Table2.Active:=false;
  end;
end;

procedure init;
begin
with rywhForm do
  begin
   Table1.Close;
   Table1.Active:=false;
   Table1.TableName:='dbo.stuff';
   Table1.Open;
   Table1.Fields[11].visible:=false;
   ChineseGrid(DBGrid1);
{   DBGrid1.fields[3].displaylabel:=' 身份证号码  ';
   DBGrid1.fields[8].displaylabel:='部门';
   DBGrid1.fields[10].displaylabel:='登记';
   DBGrid1.fields[11].displaylabel:='消费';
   DBGrid1.fields[14].displaylabel:='维护';
   DBGrid1.fields[12].displaylabel:='结帐';
   DBGrid1.fields[13].displaylabel:='客房';
   dbgrid1.Columns[3].width:=76;
   dbgrid1.Columns[4].width:=70;
   dbgrid1.Columns[5].width:=40;
   dbgrid1.Columns[6].width:=50;
   dbgrid1.Columns[7].width:=50;
   dbgrid1.Columns[8].width:=30; }
   lbinit;
  end;
end;


procedure TrywhForm.FormCreate(Sender: TObject);
var i:integer;
begin
   smgrid.Cells[0,0]:='职务代号';
   smgrid.Cells[0,1]:='职务名称';
   smgrid.Cells[0,3]:='部门代号';
   smgrid.Cells[0,4]:='部门名称';

   Table2.Close;
   Table2.Active:=false;
   Table2.Tablename:='dbo.dept';
   Table2.Open;
//   smgrid.
   i:=1;
   while not Table2.Eof do
   begin
     smgrid.Cells[i,3]:=Table2.Fields[0].asstring;
     smgrid.Cells[i,4]:=Table2.Fields[1].asstring;
     Table2.Next;
     i:=i+1;
   end;

   Table2.Close;
   Table2.Active:=false;
   init;
end;

procedure TrywhForm.Table1AfterInsert(DataSet: TDataSet);

begin
   Table1.Fields[5].asstring:='否';
   Table1.Fields[6].asstring:='否';
   Table1.Fields[7].asstring:='否';
   Table1.Fields[8].asstring:='否';
   Table1.Fields[9].asstring:='否';
   Table1.Fields[10].asstring:='否';
   Table1.Fields[12].asstring:='否';
   Table1.Fields[13].asstring:='否';
  // Table1.Fields[15].asstring:='否';
   Table1.Fields[11].asstring:=passzh('1234');

end;

procedure TrywhForm.DBGrid1KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if key=112 then
  begin
     if xt=1 then  help(19);
  end;

end;

procedure TrywhForm.DBGrid1KeyPress(Sender: TObject; var Key: Char);
begin
  if key=#13 then
  begin
    if DBGrid1.SelectedIndex<DBGrid1.FieldCount-1 then
       DBGrid1.SelectedIndex:=DBGrid1.SelectedIndex+1
    else
    begin
      if Table1.Eof then
      begin
       Table1.Next;
       init;
       Table1.last;
      end
      else
       Table1.Next;
    end;

  end;

end;

procedure TrywhForm.DBGrid1DblClick(Sender: TObject);
var i,h:integer;
begin
  h:=DBGrid1.SelectedIndex;
  if (h=2) or (h>5) then
  begin
    Table1.edit;
   DBGrid1.Fields[h].asBoolean:=not DBGrid1.Fields[h].asBoolean;
  end;
  if (h=3)then
  begin
    Table1.edit;
    for i:=1 to smgrid.ColCount-1  do
    if trim(DBGrid1.Fields[h].asstring)=trim(smgrid.cells[i,3]) then break;
    if trim(smgrid.cells[i+1,3])<>'' then
       DBGrid1.Fields[h].asstring:=smgrid.cells[i+1,3]
    else DBGrid1.Fields[h].asstring:=smgrid.cells[1,3];
    lbinit;
  end;
  if (h=4) then
  begin
    Table1.edit;
    for i:=1 to smgrid.ColCount-1  do
    if trim(DBGrid1.Fields[h].asstring)=trim(smgrid.cells[i,0]) then break;
    if trim(smgrid.cells[i+1,0])<>'' then
       DBGrid1.Fields[h].asstring:=smgrid.cells[i+1,0]
    else DBGrid1.Fields[h].asstring:=smgrid.cells[1,0];
  end;
//  smgrid.ce
end;

procedure TrywhForm.DBGrid1CellClick(Column: TColumn);
begin
//lbinit;
end;

procedure TrywhForm.DBGrid1KeyUp(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
   if (key=40) or (key=38) then
     lbinit;
end;

end.

⌨️ 快捷键说明

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