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

📄 cdwh.pas

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

interface

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

type
  TgjsswhForm = class(TForm)
    DataSource1: TDataSource;
    DBGrid1: TDBGrid;
    Panel3: TPanel;
    DBEdit1: TDBEdit;
    DBEdit2: TDBEdit;
    DBEdit3: TDBEdit;
    Label1: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    DataSource2: TDataSource;
    DBGrid2: TDBGrid;
    RadioButton1: TRadioButton;
    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;
    Query2: TQuery;
    UpdateSQL2: TUpdateSQL;
    Label2: TLabel;
    DBEdit4: TDBEdit;
    Label5: TLabel;
    DBEdit5: TDBEdit;
    DBCheckBox1: TDBCheckBox;
    BitBtn9: TBitBtn;
    Query3: TQuery;
    UpdateSQL3: TUpdateSQL;
    SpeedButton1: TSpeedButton;
    DBLookupComboBox1: TDBLookupComboBox;
    Query4: TQuery;
    DataSource3: TDataSource;
    DBCheckBox2: TDBCheckBox;
    DBCheckBox3: TDBCheckBox;
    DBCheckBox4: TDBCheckBox;
    Label6: TLabel;
    DBEdit6: TDBEdit;
    Label7: TLabel;
    Bevel1: TBevel;
    Bevel2: TBevel;
    Label8: TLabel;
    DBEdit7: TDBEdit;
    Label9: TLabel;
    Label10: TLabel;
    DBEdit8: TDBEdit;
    Label11: TLabel;
    Query5: TQuery;
    Query2id: TIntegerField;
    Query2zcbh: TStringField;
    Query2pcbh: TStringField;
    Query2pclb: TStringField;
    Query2sl: TIntegerField;
    Query3id: TIntegerField;
    Query3zcbh: TStringField;
    Query3pcbh: TStringField;
    Query3pclb: TStringField;
    Query3sl: TIntegerField;
    DBCheckBox5: TDBCheckBox;
    Label12: TLabel;
    Query1: TADOQuery;
    Label13: TLabel;
    ADOQuery1: TADOQuery;
    ADOQuery1bh: TStringField;
    ADOQuery1port: TStringField;
    ADOQuery1name: TStringField;
    DataSource4: TDataSource;
    DBComboBox1: TDBComboBox;
    DBComboBox2: TDBComboBox;
    Query1bh: TStringField;
    Query1lbbm: TStringField;
    Query1mc: TStringField;
    Query1ywmc: TStringField;
    Query1gg: TStringField;
    Query1dj: TBCDField;
    Query1tcbz: TBooleanField;
    Query1zt: TBooleanField;
    Query1sfkj: TBooleanField;
    Query1zkdl: TBooleanField;
    Query1zkl: TIntegerField;
    Query1fwfdl: TBooleanField;
    Query1fwfl: TIntegerField;
    Query1shuilu: TIntegerField;
    Query1cfdy: TBooleanField;
    Query1cfdyjhm: TStringField;
    Query1ccjdyjhm: TStringField;
    ADOQuery1type: TStringField;
    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 BitBtn7Click(Sender: TObject);
    procedure BitBtn8Click(Sender: TObject);
    procedure Query1tcbzChange(Sender: TField);
    procedure BitBtn9Click(Sender: TObject);
    procedure Query1AfterScroll(DataSet: TDataSet);
    procedure Query1AfterPost(DataSet: TDataSet);
    procedure DBEdit1Exit(Sender: TObject);
    procedure DBEdit11KeyPress(Sender: TObject; var Key: Char);
    procedure Query1cfdyChange(Sender: TField);
  private
    btn:string;
    { Private declarations }
  public
    { Public declarations }
  end;

var
  gjsswhForm: TgjsswhForm;
  func:string;
implementation
uses rjsmain, tcdmwh;
{$R *.dfm}

procedure TgjsswhForm.FormActivate(Sender: TObject);
begin
     gjsswhForm.Left:=0;
     gjsswhForm.Top:=82;
     if btn<>'' then exit;
     panel1.Enabled:=true;
     panel2.Enabled:=false;
     panel3.Enabled:=false;
     query4.Open;
     query2.Open;
     query1.Open;
     dbcombobox1.Items.Clear;
     dbcombobox2.Items.Clear;
     dbcombobox1.Items.Add('');
     dbcombobox2.Items.Add('');
     adoquery1.Open;
     while not adoquery1.Eof do
     begin
       if adoquery1.FieldByName('type').AsString='C' then dbcombobox1.Items.Add(adoquery1.FieldValues['bh']+'->'+adoquery1.FieldValues['name']);
       if adoquery1.FieldByName('type').AsString='P' then dbcombobox2.Items.Add(adoquery1.FieldValues['bh']+'->'+adoquery1.FieldValues['name']);
       adoquery1.Next;
     end;
     adoquery1.Close;
end;

procedure TgjsswhForm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
     func:='';
     btn:='';
     query1.Close;
     query2.Close;
     query4.Close;
end;

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

procedure TgjsswhForm.BitBtn5Click(Sender: TObject);
begin
     if (btn='add') or (btn='mod') then
     begin
       if dbcheckbox5.Checked then 
       if trim(dbedit1.Text)='' then
       begin
         messagebox(0,'编码不能为空!!','提示信息',mb_ok);
         dbedit1.SetFocus;
         exit;
       end;
       if trim(dbedit2.Text)='' then
       begin
         messagedlg('名称不能为空!!',mtwarning,[mbok],0);
         dbedit2.SetFocus;
         exit;
       end;
       query1.Post;
     end;
     if btn='mod' then
     begin
      query3.Close;
      query3.ParamByName('cs').AsString:=query1bh.OldValue;
      query3.Open;
      while not query3.Eof do
      begin
       Query3.Edit;
       Query3.FieldByName('pcbh').Value:=query1bh.Value;
//       Query3.FieldByName('sl').AsInteger:=1;
       Query3.Post;
       query3.Next;
      end;
      query3.ApplyUpdates;
      query3.Close;
     end;
     if btn='del' then query1.Delete;
//     query1.ApplyUpdates;
     formBtn;
end;

procedure TgjsswhForm.BitBtn6Click(Sender: TObject);
begin
     if (btn='add') or (btn='mod') then  query1.Cancel;
     formBtn;
end;

procedure TgjsswhForm.BitBtn2Click(Sender: TObject);
begin
     formBtn;
     btn:='mod';
     query1.edit;
     dbedit1.SetFocus;
end;

procedure TgjsswhForm.BitBtn1Click(Sender: TObject);
begin
     formBtn;
     btn:='add';
     query1.Append;
     query1tcbz.Value:=false;
     query1sfkj.Value:=false;
     query1zkdl.Value:=false;
     query1fwfdl.Value:=false;
     query1cfdy.Value:=false;
     dbedit1.SetFocus;
end;

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

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

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

procedure TgjsswhForm.BitBtn7Click(Sender: TObject);
var xx:string;
begin
    xx:=inputbox('请输入名称:','按名称查询','');
    if xx='' then exit;
     query1.Locate('mc',xx,[loPartialKey]);
//     else query2.Locate('名称',xx,[loPartialKey]);
end;

procedure TgjsswhForm.BitBtn8Click(Sender: TObject);
var
 i,row,column:integer;
 qry:TADOquery;
 nm:string;
begin
  nm:='菜单明细表.xls';
  qry:=TADOquery.Create(self);
  qry:=query1;
 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 qry.FieldCount do
   begin
    ExcelWorksheet1.Cells.Item[1,column]:=qry.fields[i-1].FieldName;
    column:=column+1;
   end;
 row:=2;
 qry.First;
 While Not(qry.Eof) do
 begin
   column:=1;
   for i:=1 to qry.FieldCount do
   begin
    ExcelWorksheet1.Cells.Item[row,column]:=qry.fields[i-1].AsString;
    column:=column+1;
   end;
   qry.Next;
   row:=row+1;
 end;
// qry.close;
 qry:=nil;
 qry.Free;
 ExcelApplication1.Visible[0]:=true;
 ExcelApplication1.ActiveWorkbook.Save(0);
 ExcelApplication1.Save(nm);
 ExcelApplication1.Workbooks.Close(1);
 ExcelApplication1.Visible[0]:=false;
 ExcelApplication1.Quit;
end;

procedure TgjsswhForm.Query1tcbzChange(Sender: TField);
begin
     bitbtn9.Enabled:=query1tcbz.AsBoolean;
end;

procedure TgjsswhForm.BitBtn9Click(Sender: TObject);
begin
   fjdmwhForm:=TfjdmwhForm.Create(Self);
   fjdmwhForm.showmodal;
   fjdmwhForm.Free;
   query2.close;
   query2.open;
end;

procedure TgjsswhForm.Query1AfterScroll(DataSet: TDataSet);
begin
     bitbtn9.Enabled:=query1tcbz.AsBoolean;
end;

procedure TgjsswhForm.Query1AfterPost(DataSet: TDataSet);
begin
     bitbtn9.Enabled:=query1tcbz.AsBoolean;
end;

procedure TgjsswhForm.DBEdit1Exit(Sender: TObject);
begin
   if (btn='add') or ((btn='mod') and (query1bh.Value<>query1bh.OldValue)) then
   begin
     query5.Close;
     query5.ParamByName('cs').AsString:=dbedit1.Text;
     query5.Open;
     if query5.RecordCount>0 then begin
       showmessage('该编号已经存在,请另选');
       dbedit1.SetFocus;
     end;
     query5.Close;
   end;
end;

procedure TgjsswhForm.DBEdit11KeyPress(Sender: TObject; var Key: Char);
begin
    if key=chr(13) then exit;
    if not (key in ['0'..'9',':']) then key:=#0;
end;

procedure TgjsswhForm.Query1cfdyChange(Sender: TField);
begin
     if DBCheckBox5.Checked then
     begin
       label12.Visible:=true;
       label13.Visible:=true;
     end
     else
     begin
       label12.Visible:=false;
       label13.Visible:=false;
     end;
end;

end.

⌨️ 快捷键说明

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