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

📄 cyyd.pas

📁 日昌餐饮管理系统是用Delphi7+SQL写的管理系统
💻 PAS
字号:
unit cyyd;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Grids, DBGrids, DB, ADODB, StdCtrls, Buttons, ExtCtrls, Mask,
  DBCtrls, Excel2000, OleServer, DBTables, ComCtrls;

type
  TcyydForm = class(TForm)
    Panel2: TPanel;
    BitBtn5: TBitBtn;
    BitBtn6: TBitBtn;
    Panel4: TPanel;
    BitBtn4: TBitBtn;
    Panel1: TPanel;
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    BitBtn3: TBitBtn;
    BitBtn7: TBitBtn;
    BitBtn8: TBitBtn;
    ExcelApplication1: TExcelApplication;
    ExcelWorksheet1: TExcelWorksheet;
    ExcelWorkbook1: TExcelWorkbook;
    Panel3: TPanel;
    Label1: TLabel;
    Label3: TLabel;
    Label2: TLabel;
    DBEdit2: TDBEdit;
    DBEdit4: TDBEdit;
    DBEdit5: TDBEdit;
    Label5: TLabel;
    Label6: TLabel;
    DBGrid1: TDBGrid;
    ADOQuery1: TADOQuery;
    ADOQuery1ID: TAutoIncField;
    ADOQuery1rq: TDateTimeField;
    ADOQuery1ct: TStringField;
    ADOQuery1th: TStringField;
    ADOQuery1qssj: TDateTimeField;
    ADOQuery1zzsj: TDateTimeField;
    ADOQuery1rs: TIntegerField;
    ADOQuery1yq: TStringField;
    ADOQuery1jbr: TStringField;
    ADOQuery1ydr: TStringField;
    ADOQuery1ydsj: TDateTimeField;
    ADOQuery1lxfs: TStringField;
    ADOQuery1bz: TStringField;
    ADOQuery1zxbz: TBooleanField;
    DataSource1: TDataSource;
    DBLookupComboBox1: TDBLookupComboBox;
    DBLookupComboBox2: TDBLookupComboBox;
    ADOQuery2: TADOQuery;
    ADOQuery3: TADOQuery;
    DataSource2: TDataSource;
    Label12: TLabel;
    DataSource3: TDataSource;
    Label4: TLabel;
    DBEdit1: TDBEdit;
    Label7: TLabel;
    DBRichEdit1: TDBRichEdit;
    DBRichEdit2: TDBRichEdit;
    Label8: TLabel;
    DBEdit3: TDBEdit;
    ADOQuery4: TADOQuery;
    DBEdit6: TDBEdit;
    SpeedButton1: TSpeedButton;
    SpeedButton2: TSpeedButton;
    SpeedButton3: TSpeedButton;
    Panel5: TPanel;
    Label9: TLabel;
    Label10: TLabel;
    Edit1: TEdit;
    Label11: TLabel;
    Edit2: TEdit;
    Label13: TLabel;
    Edit3: TEdit;
    BitBtn9: TBitBtn;
    BitBtn10: TBitBtn;
    Bevel1: TBevel;
    SpeedButton4: TSpeedButton;
    SpeedButton5: TSpeedButton;
    SpeedButton6: TSpeedButton;
    SpeedButton7: TSpeedButton;
    SpeedButton8: TSpeedButton;
    SpeedButton9: TSpeedButton;
    Edit4: TEdit;
    Edit5: TEdit;
    SpeedButton10: TSpeedButton;
    SpeedButton11: TSpeedButton;
    procedure FormActivate(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure Formbtn;
    procedure BitBtn4Click(Sender: TObject);
    procedure BitBtn5Click(Sender: TObject);
    procedure BitBtn6Click(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
    procedure BitBtn3Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure FormKeyPress(Sender: TObject; var Key: Char);
    procedure BitBtn8Click(Sender: TObject);
    procedure DBLookupComboBox1CloseUp(Sender: TObject);
    procedure BitBtn10Click(Sender: TObject);
    procedure BitBtn9Click(Sender: TObject);
    procedure SpeedButton1Click(Sender: TObject);
    procedure SpeedButton2Click(Sender: TObject);
    procedure SpeedButton3Click(Sender: TObject);
    procedure SpeedButton4Click(Sender: TObject);
    procedure SpeedButton5Click(Sender: TObject);
    procedure SpeedButton6Click(Sender: TObject);
    procedure SpeedButton7Click(Sender: TObject);
    procedure SpeedButton8Click(Sender: TObject);
    procedure SpeedButton9Click(Sender: TObject);
    procedure ADOQuery1AfterScroll(DataSet: TDataSet);
    procedure SpeedButton10Click(Sender: TObject);
    procedure SpeedButton11Click(Sender: TObject);
    procedure BitBtn7Click(Sender: TObject);
  private
    btn,sql:string;
    { Private declarations }
  public
    { Public declarations }
  end;

var
  cyydForm: TcyydForm;
  func:string;
implementation
 uses pass;
{$R *.dfm}

procedure TcyydForm.FormActivate(Sender: TObject);
begin
     if btn<>'' then exit;
     if func='' then
     begin
       bitbtn1.Enabled:=true;
       bitbtn2.Enabled:=true;
       bitbtn3.Enabled:=true;
       bitbtn7.Enabled:=true;
       adoquery1.SQL.Clear;
       adoquery1.SQL.Add('select * from ctyd where zxbz=0 order by ydsj');
     end
     else
     begin
       bitbtn1.Enabled:=false;
       bitbtn2.Enabled:=false;
       bitbtn3.Enabled:=false;
       bitbtn7.Enabled:=false;
       adoquery1.SQL.Clear;
       adoquery1.SQL.Add('select * from ctyd where zxbz=0 and id=:cs1 order by ydsj');
       adoquery1.Parameters[0].Value:=func;
     end;
     panel1.Enabled:=true;
     panel2.Enabled:=false;
     panel3.Enabled:=false;
     dbgrid1.Enabled:=true;
     adoquery3.Open;
     adoquery2.Open;
     adoquery1.Open;
end;

procedure TcyydForm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
     btn:='';
     func:='';
     adoquery2.Close;
     adoquery3.Close;
     adoquery1.Close;
end;

procedure TcyydForm.BitBtn4Click(Sender: TObject);
begin
     close;
end;
procedure TcyydForm.formBtn;
begin
     dbgrid1.Enabled:=not dbgrid1.Enabled;
     panel1.Enabled:=not panel1.Enabled;
     panel2.Enabled:=not panel2.Enabled;
     panel3.Enabled:=not panel3.Enabled;
     if panel1.Enabled then bitbtn1.SetFocus else bitbtn5.SetFocus;
end;

procedure TcyydForm.BitBtn5Click(Sender: TObject);
begin
     if (btn='add') or (btn='mod') then
     begin
       if edit4.Text='' then
        begin
         messagedlg('请指定时间!',mtinformation,[mbok],0);
         edit4.SetFocus;
         exit;
        end;
       if edit5.Text='' then
        begin
         messagedlg('请指定时间!',mtinformation,[mbok],0);
         edit5.SetFocus;
         exit;
        end;
       if adoquery1qssj.AsDateTime<=date then
        begin
         messagedlg('开始时间有误!',mtinformation,[mbok],0);
         edit4.SetFocus;
         exit;
        end;
       if adoquery1zzsj.AsDateTime<=date then
        begin
         messagedlg('截止时间有误!',mtinformation,[mbok],0);
         edit5.SetFocus;
         exit;
        end;
       if adoquery1zzsj.AsDateTime<adoquery1qssj.AsDateTime then
        begin
         messagedlg('开始时间 大于 截止时间!! 有误!',mtinformation,[mbok],0);
         edit4.SetFocus;
         exit;
        end;

      if btn='add' then
      begin
       adoquery4.Close;
       adoquery4.Parameters.ParamByName('cs1').Value:=adoquery1rq.AsDateTime;
       adoquery4.Parameters.ParamByName('cs2').Value:=adoquery1ct.AsString;
       adoquery4.Parameters.ParamByName('cs3').Value:=adoquery1th.AsString;
       adoquery4.Parameters.ParamByName('cs4').Value:=adoquery1qssj.AsDateTime;
       adoquery4.Parameters.ParamByName('cs5').Value:=adoquery1qssj.AsDateTime;
       adoquery4.Open;
       if adoquery4.RecordCount>0 then
        begin
         messagedlg('该时间段台位已预定!',mtinformation,[mbok],0);
         edit4.SetFocus;
         exit;
        end;
        adoquery4.Close;
       end;
       adoquery1.Post;
     end;
     if btn='del' then begin
       adoquery1.Delete;
     end;
     if btn='ser' then begin
       panel1.Enabled:=false;
       panel2.Enabled:=true;
       panel3.Enabled:=true;
       dbgrid1.Enabled:=false;
       adoquery1.Close;
       adoquery1.SQL.Clear;
       adoquery1.SQL.Add(sql);
       adoquery1.Open;
     end;
     formBtn;
end;

procedure TcyydForm.BitBtn6Click(Sender: TObject);
begin
     if (btn='add') or (btn='mod') then adoquery1.Cancel;
     if btn='ser' then begin
       panel1.Enabled:=false;
       panel2.Enabled:=true;
       panel3.Enabled:=true;
       dbgrid1.Enabled:=false;
       adoquery1.Close;
       adoquery1.SQL.Clear;
       adoquery1.SQL.Add(sql);
       adoquery1.Open;
     end;
     formBtn;
end;

procedure TcyydForm.BitBtn2Click(Sender: TObject);
begin
     formBtn;
     btn:='mod';
     adoquery1.Edit;
     DBLookupComboBox1.SetFocus;
end;

procedure TcyydForm.BitBtn1Click(Sender: TObject);
begin
     formBtn;
     btn:='add';
     adoquery1.Append;
     adoquery1rq.AsDateTime:=date;
     adoquery1ydsj.AsDateTime:=date+time;
     adoquery1qssj.AsDateTime:=date+time;
     adoquery1zzsj.AsDateTime:=date+time;
     adoquery1jbr.AsString:=pass.yhmc;
     edit4.Text:='';
     edit5.Text:='';
     adoquery1zxbz.AsBoolean:=false;
     DBLookupComboBox1.SetFocus;
end;

procedure TcyydForm.BitBtn3Click(Sender: TObject);
begin
     formBtn;
     btn:='del';
end;

procedure TcyydForm.FormCreate(Sender: TObject);
begin
     func:='';
     btn:='';
end;

procedure TcyydForm.FormKeyPress(Sender: TObject; var Key: Char);
begin
    if key=chr(13) then perform($28,0,0);
end;

procedure TcyydForm.BitBtn8Click(Sender: TObject);
var
 i,row,column:integer;
begin
 Try
  ExcelApplication1.Connect;
 Except
  MessageDlg('Excel 没有安装,无法报表!!',
  mtError, [mbOk], 0);
  Abort;
 End;
 ExcelApplication1.Visible[0]:=True;
 ExcelApplication1.Caption:='Excel 报表';
 ExcelApplication1.Workbooks.Add(Null,0);
 ExcelWorkbook1.ConnectTo(ExcelApplication1.Workbooks[1]);
 ExcelWorksheet1.ConnectTo(ExcelWorkbook1.Worksheets[1] as _Worksheet);
 column:=1;
 for i:=1 to adoquery1.FieldCount do
   begin
    ExcelWorksheet1.Cells.Item[1,column]:=adoquery1.fields[i-1].FieldName;
    column:=column+1;
   end;
 row:=2;
 adoquery1.First;
 While Not(adoquery1.Eof) do
 begin
   column:=1;
   for i:=1 to adoquery1.FieldCount do
   begin
    ExcelWorksheet1.Cells.Item[row,column]:=adoquery1.fields[i-1].AsString;
    column:=column+1;
   end;
   adoquery1.Next;
   row:=row+1;
 end;
 ExcelApplication1.Visible[0]:=true;
 ExcelApplication1.ActiveWorkbook.Save(0);
 ExcelApplication1.Save('餐厅预定表.xls');
 ExcelApplication1.Workbooks.Close(1);
 ExcelApplication1.Visible[0]:=false;
 ExcelApplication1.Quit;
end;

procedure TcyydForm.DBLookupComboBox1CloseUp(Sender: TObject);
begin
     adoquery3.Close;
     adoquery3.Parameters[0].Value:=adoquery1ct.AsString;
     adoquery3.Open;
end;

procedure TcyydForm.BitBtn10Click(Sender: TObject);
begin
     panel5.Visible:=false;
     panel1.Enabled:=false;
     panel2.Enabled:=true;
     panel3.Enabled:=true;
     dbgrid1.Enabled:=false;
     panel5.Visible:=false;
end;

procedure TcyydForm.BitBtn9Click(Sender: TObject);
begin
     panel5.Visible:=false;
     panel1.Enabled:=false;
     panel2.Enabled:=true;
     panel3.Enabled:=true;
     dbgrid1.Enabled:=false;
     if func='1' then adoquery1rq.Value:=strtodate(edit1.Text+'-'+edit2.Text+'-'+edit3.Text);
     if func='2' then begin
       adoquery1qssj.Value:=strtodate(formatdatetime('yyyy-mm-dd',adoquery1rq.Value))+ strtotime(edit1.Text+':'+edit2.Text+':'+edit3.Text);
       edit4.Text:=adoquery1qssj.AsString;
     end;
     if func='3' then begin
      adoquery1zzsj.Value:=strtodate(formatdatetime('yyyy-mm-dd',adoquery1rq.Value))+ strtotime(edit1.Text+':'+edit2.Text+':'+edit3.Text);
      edit5.Text:=adoquery1zzsj.AsString;
     end;
     if func='x' then begin
       panel3.Enabled:=false;
       adoquery1.Close;
       adoquery1.SQL.Clear;
       adoquery1.SQL.Add('select * from ctyd where zxbz=0 and ydsj>=:cs1 and ydsj<=:cs2');
       adoquery1.Parameters[0].Value:=strtodate(edit1.Text+'-'+edit2.Text+'-'+edit3.Text);
       adoquery1.Parameters[1].Value:=strtodate(edit1.Text+'-'+edit2.Text+'-'+edit3.Text)+strtotime('23:59:59');
       adoquery1.Open;
     end;
end;

procedure TcyydForm.SpeedButton1Click(Sender: TObject);
begin
     func:='1';
     edit1.Text:=formatdatetime('yyyy',date);
     edit2.Text:=formatdatetime('mm',date);
     edit3.Text:=formatdatetime('dd',date);
     label9.Caption:=SpeedButton1.Caption;
     label10.Caption:='年份';
     label11.Caption:='月份';
     label13.Caption:='日期';
     panel1.Enabled:=false;
     panel2.Enabled:=false;
     panel3.Enabled:=false;
     dbgrid1.Enabled:=false;
     panel5.Visible:=true;
end;

procedure TcyydForm.SpeedButton2Click(Sender: TObject);
var xx:string;
begin
     panel1.Enabled:=false;
     panel2.Enabled:=false;
     panel3.Enabled:=false;
     dbgrid1.Enabled:=false;
     func:='2';
     xx:=formatdatetime('hh:mm:ss',adoquery1qssj.AsDateTime);
     edit1.Text:=copy(xx,1,2);
     edit2.Text:=copy(xx,4,2);
     edit3.Text:=copy(xx,7,2);
     label9.Caption:=dbedit6.Text+ SpeedButton2.Caption;
     label10.Caption:='时';
     label11.Caption:='分';
     label13.Caption:='秒';
     panel5.Visible:=true;
end;

procedure TcyydForm.SpeedButton3Click(Sender: TObject);
var xx:string;
begin
     panel1.Enabled:=false;
     panel2.Enabled:=false;
     panel3.Enabled:=false;
     dbgrid1.Enabled:=false;
     func:='3';
     xx:=formatdatetime('hh:mm:ss',adoquery1zzsj.AsDateTime);
     edit1.Text:=copy(xx,1,2);
     edit2.Text:=copy(xx,4,2);
     edit3.Text:=copy(xx,7,2);
     label9.Caption:=dbedit6.Text+SpeedButton3.Caption;
     label10.Caption:='时';
     label11.Caption:='分';
     label13.Caption:='秒';
     panel5.Visible:=true;
end;

procedure TcyydForm.SpeedButton4Click(Sender: TObject);
begin
     edit1.Text:=inttostr(strtoint(edit1.Text)+1)
end;

procedure TcyydForm.SpeedButton5Click(Sender: TObject);
begin
     edit1.Text:=inttostr(strtoint(edit1.Text)-1)
end;

procedure TcyydForm.SpeedButton6Click(Sender: TObject);
begin
     edit2.Text:=inttostr(strtoint(edit2.Text)+1)
end;

procedure TcyydForm.SpeedButton7Click(Sender: TObject);
begin
     edit2.Text:=inttostr(strtoint(edit2.Text)-1)
end;

procedure TcyydForm.SpeedButton8Click(Sender: TObject);
begin
     edit3.Text:=inttostr(strtoint(edit3.Text)+1)
end;

procedure TcyydForm.SpeedButton9Click(Sender: TObject);
begin
     edit3.Text:=inttostr(strtoint(edit3.Text)-1)
end;

procedure TcyydForm.ADOQuery1AfterScroll(DataSet: TDataSet);
begin
     edit4.Text:=adoquery1qssj.AsString;
     edit5.Text:=adoquery1zzsj.AsString;
end;

procedure TcyydForm.SpeedButton10Click(Sender: TObject);
begin
     adoquery1rs.Value:=adoquery1rs.Value+1;
end;

procedure TcyydForm.SpeedButton11Click(Sender: TObject);
begin
    if adoquery1rs.Value>0 then adoquery1rs.Value:=adoquery1rs.Value-1;
end;

procedure TcyydForm.BitBtn7Click(Sender: TObject);
begin
     panel1.Enabled:=false;
     panel2.Enabled:=false;
     panel3.Enabled:=false;
     dbgrid1.Enabled:=false;
     btn:='ser';
     sql:=adoquery1.SQL.Text;
     func:='x';
     edit1.Text:=formatdatetime('yyyy',date);
     edit2.Text:=formatdatetime('mm',date);
     edit3.Text:=formatdatetime('dd',date);
     label9.Caption:='按预定日期查找';
     label10.Caption:='年份';
     label11.Caption:='月份';
     label13.Caption:='日期';
     panel5.Visible:=true;
end;

end.

⌨️ 快捷键说明

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