📄 mainform.pas
字号:
unit MainForm;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, ADODB, Grids, DBGrids, StdCtrls, DBCtrls, Mask, Menus, jpeg,
ExtCtrls, GoodClassManage, GoodManage, SellInfoAdd, Introduction;
type
TSellMainForm = class(TForm)
DBGrid1: TDBGrid;
ADOQuery1: TADOQuery;
DataSource1: TDataSource;
GroupBox1: TGroupBox;
Label1: TLabel;
Label2: TLabel;
DBCB_goodClassName: TDBComboBox;
DBEdt_goodName: TDBEdit;
GroupBox2: TGroupBox;
Label3: TLabel;
DBEdt_sellWay: TDBEdit;
Label4: TLabel;
DBCB_Year: TDBComboBox;
DBCB_Day: TDBComboBox;
DBCB_Month: TDBComboBox;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
DBEdt_sellMoney: TDBEdit;
Label9: TLabel;
GroupBox3: TGroupBox;
DBEdt_customerName: TDBEdit;
Label11: TLabel;
DBEdt_customerTelephone: TDBEdit;
Label12: TLabel;
DBEdt_customerQQ: TDBEdit;
Label10: TLabel;
Label13: TLabel;
DBEdt_customerAddress: TDBEdit;
Label14: TLabel;
DBEdt_customerEmail: TDBEdit;
Label15: TLabel;
Label16: TLabel;
LabelTotalMoney: TLabel;
Label17: TLabel;
DBMemo: TDBMemo;
GroupBox4: TGroupBox;
Btn_Update: TButton;
Btn_Delete: TButton;
GroupBox5: TGroupBox;
CheckBox_goodName: TCheckBox;
Edt_SearchGoodName: TEdit;
CB_SearchGoodClassName: TComboBox;
CheckBox_goodClassName: TCheckBox;
CheckBox_Year: TCheckBox;
CB_SearchYear: TComboBox;
CheckBox_Month: TCheckBox;
CB_SearchMonth: TComboBox;
CheckBox_Day: TCheckBox;
CB_SearchDay: TComboBox;
CheckBox_Address: TCheckBox;
Edt_SearchAddress: TEdit;
Btn_Search: TButton;
GoodClassADOQuery: TADOQuery;
MainMenu1: TMainMenu;
S1: TMenuItem;
X1: TMenuItem;
S2: TMenuItem;
S3: TMenuItem;
L1: TMenuItem;
I1: TMenuItem;
I2: TMenuItem;
Image1: TImage;
H1: TMenuItem;
Btn_Add: TButton;
procedure Btn_AddClick(Sender: TObject);
procedure H1Click(Sender: TObject);
procedure Btn_DeleteClick(Sender: TObject);
procedure Btn_UpdateClick(Sender: TObject);
procedure CheckBox_MonthClick(Sender: TObject);
procedure I2Click(Sender: TObject);
procedure I1Click(Sender: TObject);
procedure L1Click(Sender: TObject);
procedure X1Click(Sender: TObject);
procedure Btn_SearchClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure CheckBox_AddressClick(Sender: TObject);
procedure CheckBox_DayClick(Sender: TObject);
procedure CheckBox_goodClassNameClick(Sender: TObject);
procedure CheckBox_YearClick(Sender: TObject);
procedure CheckBox_goodNameClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
procedure CalulateTotalMoney;
procedure Init;
end;
var
SellMainForm: TSellMainForm;
implementation
{$R *.dfm}
procedure TSellMainForm.CheckBox_AddressClick(Sender: TObject);
begin
self.Edt_SearchAddress.Enabled := self.CheckBox_Address.Checked;
end;
procedure TSellMainForm.CheckBox_DayClick(Sender: TObject);
begin
self.CB_SearchDay.Enabled := self.CheckBox_Day.Checked;
end;
procedure TSellMainForm.CheckBox_goodClassNameClick(Sender: TObject);
begin
self.CB_SearchGoodClassName.Enabled := self.CheckBox_goodClassName.Checked;
end;
procedure TSellMainForm.CheckBox_goodNameClick(Sender: TObject);
begin
self.Edt_SearchGoodName.Enabled := self.CheckBox_goodName.Checked;
end;
procedure TSellMainForm.CheckBox_MonthClick(Sender: TObject);
begin
self.CB_SearchMonth.Enabled := self.CheckBox_Month.Checked;
end;
procedure TSellMainForm.CheckBox_YearClick(Sender: TObject);
begin
self.CB_SearchYear.Enabled := self.CheckBox_Year.Checked;
end;
procedure TSellMainForm.FormShow(Sender: TObject);
begin
self.Init;
self.CalulateTotalMoney;
end;
procedure TSellMainForm.H1Click(Sender: TObject);
var introductionForm: TIntroductionForm;
begin
introductionForm := TIntroductionForm.Create(self);
introductionForm.ShowModal;
end;
procedure TSellMainForm.Btn_AddClick(Sender: TObject);
begin
self.I2Click(Sender);
end;
procedure TSellMainForm.Btn_DeleteClick(Sender: TObject);
begin
if(IDYES = MessageBox(self.Handle,'确认删除当前销售信息吗?','删除提示',MB_YESNO)) then
begin
try
self.ADOQuery1.Delete;
showMessage('销售信息删除成功!');
self.CalulateTotalMoney;
except
showMessage('销售信息删除时发生错误!');
end;
end;
end;
procedure TSellMainForm.Btn_SearchClick(Sender: TObject);
var sqlString: string;
var searchFlag: bool;
begin
sqlString := 'select * from sellInfo ';
searchFlag := False;
if self.CheckBox_goodName.Checked then
begin
sqlString := sqlString + 'where goodName like ''%' + self.Edt_SearchGoodName.Text + '%''';
searchFlag := True;
end;
if self.CheckBox_Year.Checked then
begin
if not(searchFlag) then
begin
sqlString := sqlString + 'where sellYear = ' + self.CB_SearchYear.Text;
searchFlag := True;
end
else
sqlString := sqlString + ' and sellYear = ' + self.CB_SearchYear.Text;
end;
if self.CheckBox_Month.Checked then
begin
if not(searchFlag) then
begin
sqlString := sqlString + 'where sellMonth = ' + self.CB_SearchMonth.Text;
searchFlag := True;
end
else
sqlString := sqlString + ' and sellMonth = ' + self.CB_SearchMonth.Text;
end;
if self.CheckBox_Day.Checked then
begin
if not(searchFlag) then
begin
sqlString := sqlString + 'where sellDay = ' + self.CB_SearchDay.Text;
searchFlag := True;
end
else
sqlString := sqlString + ' and sellDay = ' + self.CB_SearchDay.Text;
end;
if self.CheckBox_goodClassName.Checked then
begin
if not(searchFlag) then
begin
sqlString := sqlString + 'where goodClassName like ''%' + self.CB_SearchGoodClassName.Text + '%''';
searchFlag := True;
end
else
sqlString := sqlString + ' and goodClassName like ''%' + self.CB_SearchGoodClassName.Text + '%''';
end;
if self.CheckBox_Address.Checked then
begin
if not(searchFlag) then
begin
sqlString := sqlString + 'where customerAddress like ''%' + self.Edt_SearchAddress.Text + '%''';
end
else
sqlString := sqlString + ' and customerAddress like ''%' + self.Edt_SearchAddress.Text + '%''';
end;
self.ADOQuery1.SQL.Clear;
self.ADOQuery1.SQL.Add(sqlString);
if self.ADOQuery1.Active then
self.ADOQuery1.Close;
self.ADOQuery1.Open;
self.CalulateTotalMoney;
end;
procedure TSellMainForm.Btn_UpdateClick(Sender: TObject);
begin
if (IDYES = MessageBox(self.Handle,'确认更新当前记录信息吗?','更新提示',MB_YESNO)) then
begin
self.ADOQuery1.Edit;
self.ADOQuery1.FieldByName('goodName').AsString := self.DBEdt_goodName.Text;
self.ADOQuery1.FieldByName('goodClassName').AsString := self.DBCB_goodClassName.Text;
self.ADOQuery1.FieldByName('customerName').AsString := self.DBEdt_customerName.Text;
self.ADOQuery1.FieldByName('customerAddress').AsString := self.DBEdt_customerAddress.Text;
self.ADOQuery1.FieldByName('customerTelephone').AsString := self.DBEdt_customerTelephone.Text;
self.ADOQuery1.FieldByName('customerQQ').AsString := self.DBEdt_customerQQ.Text;
self.ADOQuery1.FieldByName('customerEmail').AsString := self.DBEdt_customerEmail.Text;
self.ADOQuery1.FieldByName('sellWay').AsString := self.DBEdt_sellWay.Text;
self.ADOQuery1.FieldByName('sellYear').AsInteger := StrToInt(self.DBCB_Year.Text);
self.ADOQuery1.FieldByName('sellMonth').AsInteger := StrToInt(self.DBCB_Month.Text);
self.ADOQuery1.FieldByName('sellDay').AsInteger := StrToInt(self.DBCB_Day.Text);
self.ADOQuery1.FieldByName('sellMoney').AsFloat := StrToFloat(self.DBEdt_sellMoney.Text);
self.ADOQuery1.FieldByName('memo').AsString := self.DBMemo.Text;
self.ADOQuery1.Post;
showMessage('销售信息更新成功!');
self.CalulateTotalMoney;
end;
end;
procedure TSellMainForm.CalulateTotalMoney;
var totalMoney: Single;
begin
totalMoney := 0.0;
self.ADOQuery1.First;
while (not self.ADOQuery1.Eof) do
begin
totalMoney := totalMoney + self.ADOQuery1.FieldByName('sellMoney').AsFloat;
self.ADOQuery1.Next;
end;
self.LabelTotalMoney.Caption := FloatToStr(totalMoney);
self.ADOQuery1.First;
end;
procedure TSellMainForm.I1Click(Sender: TObject);
var goodManageForm: TGoodManageForm;
begin
goodManageForm := TGoodManageForm.Create(self);
goodManageForm.ShowModal;
end;
procedure TSellMainForm.I2Click(Sender: TObject);
var sellInfoAddForm: TSellInfoAddForm;
begin
sellInfoAddForm := TSellInfoAddForm.Create(self);
sellInfoAddForm.ShowModal;
end;
procedure TSellMainForm.Init;
var i: Integer;
begin
self.Left := Trunc((screen.Width - self.Width)/2);
self.Top := Trunc((screen.Height - self.Height)/2);
for i := 2007 to 2020 do
begin
self.DBCB_Year.Items.Add(IntToStr(i));
self.CB_SearchYear.Items.Add(IntToStr(i));
end;
self.CB_SearchYear.ItemIndex := 0;
for i := 1 to 12 do
begin
self.DBCB_Month.Items.Add(IntToStr(i));
self.CB_SearchMonth.Items.Add(inttostr(i));
end;
self.CB_SearchMonth.ItemIndex := 0;
for i := 1 to 31 do
begin
self.DBCB_Day.Items.Add(inttostr(i));
self.CB_SearchDay.Items.Add(inttostr(i));
end;
self.CB_SearchDay.ItemIndex := 0;
self.GoodClassADOQuery.SQL.Clear;
self.GoodClassADOQuery.SQL.Add('select goodClassName from goodClassInfo');
if self.GoodClassADOQuery.Active then
self.GoodClassADOQuery.Close;
self.GoodClassADOQuery.Open;
while not(self.GoodClassADOQuery.Eof) do
begin
self.DBCB_goodClassName.Items.Add(self.GoodClassADOQuery.FieldByName('goodClassName').AsString);
self.CB_SearchGoodClassName.Items.Add(self.GoodClassADOQuery.FieldByName('goodClassName').AsString);
self.GoodClassADOQuery.Next;
end;
self.CB_SearchGoodClassName.ItemIndex := 0;
end;
procedure TSellMainForm.L1Click(Sender: TObject);
var goodClassManageForm: TGoodClassManageForm;
begin
goodClassManageForm := TGoodClassManageForm.Create(nil);
goodClassManageForm.ShowModal;
end;
procedure TSellMainForm.X1Click(Sender: TObject);
begin
Application.Terminate;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -