📄 unit7.~pas
字号:
unit Unit7;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, SUITabControl, Menus, SUIPopupMenu, SUIMainMenu,
ExtCtrls, SUIForm, Grids, DBGrids, SUIDBCtrls, DB, ADODB, SUIButton,
StdCtrls, SUIEdit, FR_PTabl, SUIPageControl;
type
TForm7 = class(TForm)
suiForm1: TsuiForm;
suiMainMenu1: TsuiMainMenu;
suiPopupMenu1: TsuiPopupMenu;
suiPageControl1: TsuiPageControl;
suiTabSheet6: TsuiTabSheet;
Label3: TLabel;
suedit2: TsuiEdit;
Label4: TLabel;
suiEdit1: TsuiEdit;
suiButton3: TsuiButton;
Label1: TLabel;
ADOTable1: TADOTable;
DataSource1: TDataSource;
suiDBGrid1: TsuiDBGrid;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
ExCL1: TMenuItem;
N4: TMenuItem;
N5: TMenuItem;
N6: TMenuItem;
suiButton1: TsuiButton;
suiEdit2: TsuiEdit;
Label2: TLabel;
Label5: TLabel;
Label6: TLabel;
suiEdit3: TsuiEdit;
suiButton2: TsuiButton;
frPrintGrid1: TfrPrintGrid;
procedure FormShow(Sender: TObject);
procedure suiButton3Click(Sender: TObject);
procedure ADOTable1FilterRecord(DataSet: TDataSet;
var Accept: Boolean);
procedure N6Click(Sender: TObject);
procedure suiButton2Click(Sender: TObject);
procedure N1Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure N3Click(Sender: TObject);
procedure ExCL1Click(Sender: TObject);
procedure N5Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form7: TForm7;
biaoji:integer;
implementation
uses Unit1,ComObj;
{$R *.dfm}
procedure ToExcel(DbGrid:TsuiDBGrid; Tab: TADOTable; ExcelApp:variant);
var
i,j,FieldNum:integer;
begin
with Tab do
begin
DisableControls;
fieldNum := dbgrid.fieldCount;
for i:=1 to fieldNum do //写表头
begin
ExcelApp.Cells[1,i]:=Form7.suiDBGrid1.Columns[i-1].Title.caption;
end;
first;
i:=2;
while not eof do
begin
for j:=1 to fieldNum do
begin
ExcelApp.Cells[i,j]:=fields[j-1].AsString;
end;
inc(i);
if (i mod 20)=0 then
ExcelApp.Cells[i+10,1].Activate;
next;
end;
EnableControls;
end;
end;
procedure TForm7.FormShow(Sender: TObject);
begin
form1.ADOConnection1.Connected:=false;
form1.ADOConnection1.Connected:=true;
ADOTable1.Active:=true;
form1.ADOTable1.Active:=true;
form1.ADOTable2.Active:=true;
form1.ADOTable5.Active:=true;
end;
procedure TForm7.suiButton3Click(Sender: TObject);
begin
if (suedit2.Text='') or (suiedit1.Text ='' ) then
begin
showmessage('请输入要查询的日期段');
end
else
begin
biaoji:=1;
adotable1.Filtered:=false;
adotable1.Filtered:=true;
end;
end;
procedure TForm7.ADOTable1FilterRecord(DataSet: TDataSet;
var Accept: Boolean);
begin
if biaoji =1 then
begin
if (adotable1.fieldbyname('日期').AsDateTime>=strtodate(suedit2.text)) and (adotable1.fieldbyname('日期').AsDateTime<=strtodate(suiedit1.text))then
accept:=true
else
accept:=false;
end;
end;
procedure TForm7.N6Click(Sender: TObject);
begin
if application.messagebox(pchar('你确定要删除当前显示的数据吗?删除后将无法恢复!'),'删除确认',mb_yesno+mb_iconinformation)=IDYES then
begin
adotable1.first;
while not adotable1.eof do
begin
try
adotable1.delete;
adotable1.Next;
adotable1.delete;
except
exit;
end;
end;
end;
end;
procedure TForm7.suiButton2Click(Sender: TObject);
var
jisu:integer;
begin
jisu:=0;
adotable1.first;
while not adotable1.eof do
begin
jisu:=jisu+strtoint(adotable1.fieldbyname('金额').asstring);
suiedit3.text:=inttostr(jisu);
adotable1.Next;
end;
end;
procedure TForm7.N1Click(Sender: TObject);
begin
ADOTable1.Active:=false;
ADOTable1.Active:=true;
end;
procedure TForm7.N2Click(Sender: TObject);
begin
adotable1.Filtered:=false
end;
procedure TForm7.N3Click(Sender: TObject);
begin
if suiedit3.text<>'' then
begin
frprintgrid1.PageHeader.Text:='东莞市长安镇小肥羊火锅店'+suedit2.text+'日到:'+suiedit1.text+'日业务清单,收入:'+suiedit3.text+'元';
frprintgrid1.showReport;
end
else
begin
showmessage('请先统计完总金额再打印');
end;
end;
procedure TForm7.ExCL1Click(Sender: TObject);
var
ExcelApp: variant;
begin
if ADOTable1.RecordCount=0 then
begin
Application.MessageBox('没有数据可导出。', '提示', MB_OK +
MB_ICONINFORMATION + MB_DEFBUTTON2);
Exit;
end;
application.ProcessMessages;
try
ExcelApp:=createoleobject('Excel.application');
except
messageDlg('请先安装MicroSoft Excel',mtError,[mbok],0);
exit;
end;
ExcelApp.Visible := True;
ExcelApp.Caption := '标题:';
ExcelApp.WorkBooks.Add;
ExcelApp.WorkSheets[1].Activate;
ExcelApp.WorkSheets[1].name:='表名';
ExcelApp.ActiveSheet.Rows[1].Font.Bold:= True;
ExcelApp.Columns[1].NumberFormatLocal:='@';
ToExcel(suiDBGrid1,ADOTable1,ExcelApp); //调用输出过程 。
Application.MessageBox('恭喜!' + #13#10#13#10 +
'数据成功导出,请注意数据备份。', '提示', MB_OK + MB_ICONINFORMATION +
MB_DEFBUTTON2);
end;
procedure TForm7.N5Click(Sender: TObject);
begin
if application.messagebox('数据备份需要吗','数据立即备份确认',mb_yesno+mb_iconinformation)=IDYES then
begin
form1.ADOConnection1.Connected:=false;
if FileExists(extractfilepath(application.ExeName)+'备份数据/'+datetostr(now)+'.mdb')=true then
begin
deletefile(pchar(extractfilepath(application.ExeName)+'备份数据/'+datetostr(now)+'.mdb'));
end;
copyfile(pchar(extractfilepath(application.ExeName)+'data\data.mdb'), pchar(extractfilepath(application.ExeName)+'备份数据/'+datetostr(now)+'.mdb'), False);
showmessage('数据备份成功!'+'保存在'+extractfilepath(application.ExeName)+'备份数据/'+datetostr(now)+'.mdb');
showmessage('程序将自动关闭,请从新运行程序');
application.Terminate;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -