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 + -
显示快捷键?