yhfawh.pas

来自「日昌餐饮管理系统是用Delphi7+SQL写的管理系统」· PAS 代码 · 共 310 行

PAS
310
字号
unit yhfawh;

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
  TyhfaForm = class(TForm)
    DataSource1: TDataSource;
    DBGrid1: TDBGrid;
    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;
    DBEdit1: TDBEdit;
    DBEdit3: TDBEdit;
    Query1: TQuery;
    UpdateSQL1: TUpdateSQL;
    Label2: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    Label9: TLabel;
    DBEdit2: TDBEdit;
    DBEdit4: TDBEdit;
    DBEdit5: TDBEdit;
    DBEdit6: TDBEdit;
    DBLookupComboBox1: TDBLookupComboBox;
    DBEdit7: TDBEdit;
    DBEdit8: TDBEdit;
    DateTimePicker1: TDateTimePicker;
    DateTimePicker2: TDateTimePicker;
    Query2: TQuery;
    DataSource2: TDataSource;
    Label10: TLabel;
    Label11: TLabel;
    DBLookupComboBox2: TDBLookupComboBox;
    Query3: TQuery;
    DataSource3: TDataSource;
    Query2id: TIntegerField;
    Query2lbbm: TStringField;
    Query2lbmc: TStringField;
    Query2fwfbl: TIntegerField;
    Query2fwf: TIntegerField;
    Query2zkbl: TIntegerField;
    Query2shuilv: TIntegerField;
    Label12: TLabel;
    CheckBox1: TCheckBox;
    CheckBox2: TCheckBox;
    CheckBox3: TCheckBox;
    CheckBox4: TCheckBox;
    CheckBox5: TCheckBox;
    CheckBox6: TCheckBox;
    CheckBox7: TCheckBox;
    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 DateTimePicker1CloseUp(Sender: TObject);
    procedure DateTimePicker2CloseUp(Sender: TObject);
    procedure Query1AfterScroll(DataSet: TDataSet);
    procedure DBEdit4Exit(Sender: TObject);
    procedure DBEdit6Exit(Sender: TObject);
  private
    btn:string;
    { Private declarations }
  public
    { Public declarations }
  end;

var
  yhfaForm: TyhfaForm;
  func:string;
implementation
{$R *.dfm}

procedure TyhfaForm.FormActivate(Sender: TObject);
begin
     if btn<>'' then exit;
     panel1.Enabled:=true;
     panel2.Enabled:=false;
     panel3.Enabled:=false;
     dbgrid1.Enabled:=true;
     query2.Open;
     query3.Open;
     query1.Open;
end;

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

procedure TyhfaForm.BitBtn4Click(Sender: TObject);
begin
     close;
end;
procedure TyhfaForm.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 TyhfaForm.BitBtn5Click(Sender: TObject);
begin
     if (btn='add') or (btn='mod') then
     begin
       if query1.FieldByName('bm').AsString='' then
       begin
         messagedlg('编码不能为空!!',mtwarning,[mbok],0);
         dbedit1.SetFocus;
         exit;
       end;
       if query1.FieldByName('mc').AsString='' then
       begin
         messagedlg('名称不能为空!!',mtwarning,[mbok],0);
         exit;
       end;
       query1.FieldByName('zoubie').AsString:='';
       if checkbox1.Checked then query1.FieldByName('zoubie').AsString:=query1.FieldByName('zoubie').AsString + '1;';
       if checkbox2.Checked then query1.FieldByName('zoubie').AsString:=query1.FieldByName('zoubie').AsString + '2;';
       if checkbox3.Checked then query1.FieldByName('zoubie').AsString:=query1.FieldByName('zoubie').AsString + '3;';
       if checkbox4.Checked then query1.FieldByName('zoubie').AsString:=query1.FieldByName('zoubie').AsString + '4;';
       if checkbox5.Checked then query1.FieldByName('zoubie').AsString:=query1.FieldByName('zoubie').AsString + '5;';
       if checkbox6.Checked then query1.FieldByName('zoubie').AsString:=query1.FieldByName('zoubie').AsString + '6;';
       if checkbox7.Checked then query1.FieldByName('zoubie').AsString:=query1.FieldByName('zoubie').AsString + '0;';
       query1.Post;
       query1.ApplyUpdates;
     end;
     if btn='del' then begin
       query1.Delete;
       query1.ApplyUpdates;
     end;
     formBtn;
end;

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

procedure TyhfaForm.BitBtn2Click(Sender: TObject);
begin
     formBtn;
     btn:='mod';
     datetimepicker1.Date:=query1.FieldByName('ksrq').AsDateTime;
     datetimepicker2.Date:=query1.FieldByName('zzrq').AsDateTime;
     query1.Edit;
     dbedit1.SetFocus;
end;

procedure TyhfaForm.BitBtn1Click(Sender: TObject);
begin
     formBtn;
     btn:='add';
     query1.Append;
     DateTimePicker1.Date:=date;
     DateTimePicker2.Date:=date;
     query1.FieldByName('ksrq').AsDateTime:=date;
     query1.FieldByName('zzrq').AsDateTime:=date;
     query1.FieldByName('kssj').AsString:=timetostr(time);
     query1.FieldByName('zzsh').AsString:=timetostr(time);
     dbedit1.SetFocus;
end;

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

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

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

procedure TyhfaForm.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 query1.FieldCount do
   begin
    ExcelWorksheet1.Cells.Item[1,column]:=query1.fields[i-1].FieldName;
    column:=column+1;
   end;
 row:=2;
 query1.First;
 While Not(query1.Eof) do
 begin
   column:=1;
   for i:=1 to query1.FieldCount do
   begin
    ExcelWorksheet1.Cells.Item[row,column]:=query1.fields[i-1].AsString;
    column:=column+1;
   end;
   query1.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 TyhfaForm.DateTimePicker1CloseUp(Sender: TObject);
begin
     datetimepicker1.Time:=strtotime('00:00:00');
     query1.FieldByName('ksrq').AsDateTime:=datetimepicker1.date;
end;

procedure TyhfaForm.DateTimePicker2CloseUp(Sender: TObject);
begin
     datetimepicker2.Time:=strtotime('00:00:00');
     query1.FieldByName('zzrq').AsDateTime:=datetimepicker2.date;
end;

procedure TyhfaForm.Query1AfterScroll(DataSet: TDataSet);
begin
       if pos('0',query1.FieldByName('zoubie').AsString)>0 then checkbox1.Checked:=true else checkbox1.Checked:=false;
       if pos('1',query1.FieldByName('zoubie').AsString)>0 then checkbox2.Checked:=true else checkbox2.Checked:=false;
       if pos('2',query1.FieldByName('zoubie').AsString)>0 then checkbox3.Checked:=true else checkbox3.Checked:=false;
       if pos('3',query1.FieldByName('zoubie').AsString)>0 then checkbox4.Checked:=true else checkbox4.Checked:=false;
       if pos('4',query1.FieldByName('zoubie').AsString)>0 then checkbox5.Checked:=true else checkbox5.Checked:=false;
       if pos('5',query1.FieldByName('zoubie').AsString)>0 then checkbox6.Checked:=true else checkbox6.Checked:=false;
       if pos('6',query1.FieldByName('zoubie').AsString)>0 then checkbox7.Checked:=true else checkbox7.Checked:=false;
end;

procedure TyhfaForm.DBEdit4Exit(Sender: TObject);
begin
     if dbedit4.Text='' then query1.FieldByName('kssj').AsString:='00:00:01';
     try
       strtotime(dbedit4.Text);
     except
      begin
       messagedlg('时间格式不对!'+#13+'请重新输入!!',mtwarning,[mbok],0);
       dbedit4.SetFocus;
      end;
     end;
end;

procedure TyhfaForm.DBEdit6Exit(Sender: TObject);
begin
     if dbedit6.Text='' then query1.FieldByName('zzsh').AsString:='23:59:59';
     try
       strtotime(dbedit6.Text);
     except
      begin
       messagedlg('时间格式不对!'+#13+'请重新输入!!',mtwarning,[mbok],0);
       dbedit6.SetFocus;
      end;
     end; 
end;

end.

⌨️ 快捷键说明

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