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

📄 main.pas

📁 结于初学者来说这对数据库是一个很好的例子
💻 PAS
📖 第 1 页 / 共 3 页
字号:
unit main;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Menus, Buttons, ExtCtrls, StdCtrls, ComCtrls, DB, DBTables,
  ImgList, Grids, DBGrids, DBCtrls, ToolWin,shellapi,DateUtils;

type
  TForm1 = class(TForm)
    MainMenu1: TMainMenu;
    N1: TMenuItem;
    N2: TMenuItem;
    N3: TMenuItem;
    N4: TMenuItem;
    N5: TMenuItem;
    N6: TMenuItem;
    N7: TMenuItem;
    N8: TMenuItem;
    N9: TMenuItem;
    N10: TMenuItem;
    N11: TMenuItem;
    N12: TMenuItem;
    N13: TMenuItem;
    N14: TMenuItem;
    N15: TMenuItem;
    N16: TMenuItem;
    N17: TMenuItem;
    N18: TMenuItem;
    N19: TMenuItem;
    N20: TMenuItem;
    N21: TMenuItem;
    N22: TMenuItem;
    N23: TMenuItem;
    N24: TMenuItem;
    Button1: TButton;
    BitBtn1: TBitBtn;
    ImageList1: TImageList;
    Name: TGroupBox;
    Label1: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    GroupBox1: TGroupBox;
    Ds2: TDataSource;
    DB_Selected: TDBGrid;
    Query2: TQuery;
    DBText1: TDBText;
    DS_Selected: TDataSource;
    L_RoomNo: TLabel;
    Q_Selected: TQuery;
    CoolBar2: TCoolBar;
    SB1: TSpeedButton;
    SB2: TSpeedButton;
    SB3: TSpeedButton;
    SB4: TSpeedButton;
    SB5: TSpeedButton;
    SB6: TSpeedButton;
    SB7: TSpeedButton;
    GroupBox2: TGroupBox;
    Image1: TImage;
    Image2: TImage;
    Image3: TImage;
    Image4: TImage;
    Label2: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    N25: TMenuItem;
    N26: TMenuItem;
    N27: TMenuItem;
    Label9: TLabel;
    Label10: TLabel;
    Label11: TLabel;
    Label12: TLabel;
    Label13: TLabel;
    Label14: TLabel;
    Query3: TQuery;
    Label15: TLabel;
    Label16: TLabel;
    Label17: TLabel;
    Label18: TLabel;
    Label19: TLabel;
    T_oper: TTable;
    Label21: TLabel;
    Label22: TLabel;
    Q_SelectRoom: TQuery;
    Label23: TLabel;
    Label20: TLabel;
    operator: TLabel;
    DataSource1: TDataSource;
    SpeedButton2: TSpeedButton;
    Label24: TLabel;
    Label25: TLabel;
    Q_ydundo: TQuery;
    Label26: TLabel;
    Q_Over: TQuery;
    Label27: TLabel;
    Label28: TLabel;
    N28: TMenuItem;
    N29: TMenuItem;
    SpeedButton1: TSpeedButton;
    SpeedButton3: TSpeedButton;
    SpeedButton4: TSpeedButton;
    Q_NameNo: TQuery;
    TV1: TTreeView;
    Q_RoomStatus: TQuery;
    Q_Refesh: TQuery;
    StatusBar1: TStatusBar;
    N30: TMenuItem;
    T_jzxsxz: TTable;
    N31: TMenuItem;
    N32: TMenuItem;
    T_jzsj: TTable;
    Q_jfbg: TQuery;
    procedure FormCreate(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
    procedure TV1Change(Sender: TObject; Node: TTreeNode);
    procedure N24Click(Sender: TObject);
    procedure SB1Click(Sender: TObject);
    procedure N21Click(Sender: TObject);
    procedure N22Click(Sender: TObject);
    procedure N27Click(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure N10Click(Sender: TObject);
    procedure SpeedButton1Click(Sender: TObject);
    procedure SB8Click(Sender: TObject);
    procedure SpeedButton2Click(Sender: TObject);
    procedure SB2Click(Sender: TObject);
    procedure SB5Click(Sender: TObject);
    procedure SB7Click(Sender: TObject);
    procedure SB3Click(Sender: TObject);
    procedure DB_SelectedCellClick(Column: TColumn);
    procedure SB6Click(Sender: TObject);
    procedure N19Click(Sender: TObject);
    procedure N20Click(Sender: TObject);
    procedure N11Click(Sender: TObject);
    procedure N12Click(Sender: TObject);
    procedure SB4Click(Sender: TObject);
    procedure N28Click(Sender: TObject);
    procedure N18Click(Sender: TObject);
    procedure N29Click(Sender: TObject);
    procedure N14Click(Sender: TObject);
    procedure N15Click(Sender: TObject);
    procedure N16Click(Sender: TObject);
    procedure SpeedButton3Click(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure N30Click(Sender: TObject);
    procedure N26Click(Sender: TObject);
    procedure N31Click(Sender: TObject);
    procedure N32Click(Sender: TObject);
  private
    { Private declarations }
   public
    { Public declarations }
   sername,cccc:string;
   procedure refe;
   end;

var
  Form1: TForm1;
  RoomID,sss:string;
implementation

uses subscribe, sp_lb, sp_sp, aboutme, userlogin, sp_in, RoomType,
  RoomInInfo, Room_in, YD_Undo, ChangeRoom, consume, consumeundo, service,
  kill, see_rk, see_kc, Over, waiter, manager, LoginUser, RoomManager,
  Sea_zd, DatePrint, Print_tj, logotest, changepass, guibin, guibinman;

{$R *.dfm}

//全局过程重置主界面
procedure TForm1.FormCreate(Sender: TObject);
 var
    username:string;
//    ManagerRight:integer;
begin
//database1.LoginPrompt:=False;
//database1.Connected:=True;

 T_oper.Open;
 username:=T_oper.fieldByName('name').AsString;
 T_oper.Close;
 sb1.Enabled:=False;
 sb2.Enabled:=False;
 sb3.Enabled:=False;
 sb4.Enabled:=False;
 sb5.Enabled:=False;
 sb6.Enabled:=False;
 sb7.Enabled:=False;
// operator.Caption:=username;
end;
procedure tform1.refe;
var
  ii:integer;
  aaa:string;
begin
 //重置房间图形
   Q_refesh.SQL.Clear;
   Q_refesh.SQL.Add('select * from RoomInfo order by RoomName');
   Q_refesh.Open;
   while not Q_refesh.Eof do
    Begin
     for ii:=1 to Q_refesh.RecordCount do
      begin
          case  Q_refesh.FieldByName('RoomStatus').Asinteger of
            0:
              begin
               Tv1.Items[ii].ImageIndex:=1;
              end;
            1:
              begin
              Tv1.Items[ii].ImageIndex:=2;
              end;
            2:
              begin
              Tv1.Items[ii].ImageIndex:=3;
              end;
            end;
      Q_refesh.Next;
     end;
     end;
Q_refesh.Close;
//结束
//统计当前房间情况
 Query3.SQL.Clear;
 Query3.SQL.Add('select RoomStatus,count(RoomName) as slsl from RoomInfo group by RoomStatus order by RoomStatus');
 Query3.Open;
 Query3.First;
 while  not Query3.eof  do
 begin
  case  Query3.FieldByName('RoomStatus').asinteger of
   0: Label11.Caption:=Query3.FieldByName('slsl').asstring;
   1: Label12.Caption:=Query3.FieldByName('slsl').asstring;
   2: Label13.Caption:=Query3.FieldByName('slsl').asstring;
  end;
  Query3.Next;
 end;
  Query3.Close;
  Label14.Caption:='1';
//结束
//显示房间信息
    Q_SelectRoom.SQL.Clear;
    Q_SelectRoom.SQL.Add('select TypeName,DayFee,NowAccountNo from RoomInfo where RoomName='''+Tv1.Selected.Text+'''');
    Q_SelectRoom.Open;
    label21.Caption:=Q_SelectRoom.fieldByName('TypeName').asstring;
    label22.Caption:=IntToStr(Q_SelectRoom.fieldByName('DayFee').asinteger);
    label28.Caption:=Q_SelectRoom.fieldByName('NowAccountNo').asstring;
    Q_SelectRoom.Close;
//结束
//显示客人信息
    Q_SelectRoom.SQL.Clear;
    Q_SelectRoom.SQL.Add('select Name,BeginTime,EndTime from RoomIn where RoomName='''+Tv1.Selected.Text+'''');
    Q_SelectRoom.Open;
    Dbtext1.Caption:=Q_SelectRoom.fieldByName('Name').asstring;
    label24.Caption:=(Q_SelectRoom.fieldByName('BeginTime').asString);
    label26.Caption:=(Q_SelectRoom.fieldByName('EndTime').asString);
    Q_SelectRoom.Close;
//结束
//根据选择确定房间当前状态所允许的操作。
     case Tv1.Selected.ImageIndex of
         3:    //入住
           begin
             sb1.Enabled:=False;
             sb2.Enabled:=False;
             sb3.Enabled:=True;
             sb4.Enabled:=True;
             sb5.Enabled:=False;
             sb6.Enabled:=False;
             sb7.Enabled:=True;
          N2.Enabled:=False;
          N3.Enabled:=False;
          N4.Enabled:=True;
          N5.Enabled:=True;
          N6.Enabled:=False;
          N7.Enabled:=False;
          N8.Enabled:=True;
           end;
         2:     //预定
           begin
             sb1.Enabled:=False;
             sb2.Enabled:=True;
             sb3.Enabled:=False;
             sb4.Enabled:=False;
             sb5.Enabled:=True;
             sb6.Enabled:=False;
             sb7.Enabled:=True;
          N2.Enabled:=False;
          N3.Enabled:=True;
          N4.Enabled:=False;
          N5.Enabled:=False;
          N6.Enabled:=True;
          N7.Enabled:=False;
          N8.Enabled:=False;
           end;
         1:            //空房
           begin
             sb1.Enabled:=True;
             sb2.Enabled:=True;
             sb3.Enabled:=False;
             sb4.Enabled:=False;
             sb5.Enabled:=False;
             sb6.Enabled:=False;
             sb7.Enabled:=False;
             N2.Enabled:=True;
             N3.Enabled:=true;
          N2.Enabled:=True;
          N3.Enabled:=True;
          N4.Enabled:=False;
          N5.Enabled:=False;
          N6.Enabled:=False;
          N7.Enabled:=False;
          N8.Enabled:=False;
           end;
         0:  //第一项
           begin
             sb1.Enabled:=False;
             sb2.Enabled:=False;
             sb3.Enabled:=False;
             sb4.Enabled:=False;
             sb5.Enabled:=False;
             sb6.Enabled:=False;
             sb7.Enabled:=False;
           end;
     end;
//完成
//显示选中房间信息
     aaa:=Tv1.Selected.Text;
     L_RoomNo.Caption:=Tv1.Selected.Text;
//     Q_Selected.Active:=False;
     Q_Selected.Close;
     Q_Selected.SQL.Clear;
     Q_Selected.SQL.Add('Select * from DinList ');
     Q_Selected.SQL.Add('where RoomName='''+aaa+'''');
//     Q_Selected.SQL.Add('order by Price');
     Q_Selected.open;
//     Q_Selected.Active:=True;
end;

procedure TForm1.TV1Change(Sender: TObject; Node: TTreeNode);
 var
   aaa,djlx:string;
//   param:string;
   ii:integer;
    treenode1:Ttreenode;
begin
//重置房间图形
   Q_refesh.SQL.Clear;
   Q_refesh.SQL.Add('select * from RoomInfo order by RoomName');
   Q_refesh.Open;
   while not Q_refesh.Eof do
    Begin
     for ii:=1 to Q_refesh.RecordCount do
      begin
          case  Q_refesh.FieldByName('RoomStatus').Asinteger of
            0:
              begin
               Tv1.Items[ii].ImageIndex:=1;
              end;
            1:
              begin
              Tv1.Items[ii].ImageIndex:=2;
              end;
            2:
              begin
              Tv1.Items[ii].ImageIndex:=3;
              end;
            end;
      Q_refesh.Next;
     end;
     end;
Q_refesh.Close;



//结束
//统计当前房间情况
 Query3.SQL.Clear;
 Query3.SQL.Add('select RoomStatus,count(RoomName) as slsl from RoomInfo group by RoomStatus order by RoomStatus');
 Query3.Open;
 Query3.First;
 while  not Query3.eof  do
 begin
  case  Query3.FieldByName('RoomStatus').asinteger of
   0: Label11.Caption:=Query3.FieldByName('slsl').asstring;
   1: Label12.Caption:=Query3.FieldByName('slsl').asstring;
   2: Label13.Caption:=Query3.FieldByName('slsl').asstring;
  end;
  Query3.Next;
 end;
  Query3.Close;
  Label14.Caption:='1';
//结束
//显示房间信息
    Q_SelectRoom.SQL.Clear;
    Q_SelectRoom.SQL.Add('select TypeName,DayFee,NowAccountNo from RoomInfo where RoomName='''+Tv1.Selected.Text+'''');
    Q_SelectRoom.Open;
//    label21.Caption:=Q_SelectRoom.fieldByName('TypeName').asstring;

⌨️ 快捷键说明

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