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

📄 mainform.pas

📁 基于SQL数据库,实现所有图书馆基本功能 可以按图书类别系别班别等信息自动生成书号或学号
💻 PAS
📖 第 1 页 / 共 4 页
字号:
unit MainForm;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Grids, DBGrids, DB, ADODB, StdCtrls, ComCtrls, Buttons, ExtCtrls,dateutils,
  Menus,LoginForm,DataModule,SetupForm,AboutForm, TeeShape, TeEngine, Series, TeeProcs, Chart;
      function  Clear_Chinese(Str:string):string;
type
  TForm_main = class(TForm)
    PageControl1: TPageControl;
    TabSheet1: TTabSheet;
    TabSheet2: TTabSheet;
    TabSheet3: TTabSheet;
    TabSheet4: TTabSheet;
    DBGrid2: TDBGrid;
    Group_BookiInfo: TGroupBox;
    Lab_BName: TLabel;
    Lab_BID: TLabel;
    Lab_Bool: TLabel;
    Lab_BStu: TLabel;
    Lab_BType: TLabel;
    Group_BookFind: TGroupBox;
    Radio_BName: TRadioButton;
    Radio_BID: TRadioButton;
    Radio_BType: TRadioButton;
    ED_Find: TEdit;
    BitBtn1: TBitBtn;
    Lab_BMoney: TLabel;
    Lab_BDays: TLabel;
    Lab_BStuID: TLabel;
    Lab_BODay: TLabel;
    Lab_BLendDate: TLabel;
    Panel1: TPanel;
    Panel2: TPanel;
    Panel3: TPanel;
    StatusBar1: TStatusBar;
    MainMenu1: TMainMenu;
    menu_setup: TMenuItem;
    Timer1: TTimer;
    Radio_LendBool: TRadioButton;
    Radio_StuID: TRadioButton;
    Radio_StuName: TRadioButton;
    Radio_BDays: TRadioButton;
    Radio_BMoney: TRadioButton;
    Radio_LendDay: TRadioButton;
    Radio_BODay: TRadioButton;
    BitBtn2: TBitBtn;
    PageControl3: TPageControl;
    TabSheet7: TTabSheet;
    TabSheet8: TTabSheet;
    GroupBox1: TGroupBox;
    Label2: TLabel;
    Label3: TLabel;
    Label20: TLabel;
    ED_BName: TEdit;
    ED_BID: TEdit;
    Label4: TLabel;
    Label10: TLabel;
    ED_BPrice: TEdit;
    ED_BPress: TEdit;
    CB_BType: TComboBox;
    Label21: TLabel;
    ED_BDate: TEdit;
    BTN_insert: TBitBtn;
    Label1: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    Label9: TLabel;
    Label11: TLabel;
    Label12: TLabel;
    Label18: TLabel;
    Label19: TLabel;
    Label22: TLabel;
    Label23: TLabel;
    Lab_BPress: TLabel;
    Lab_BPrice: TLabel;
    Label24: TLabel;
    Lab_BWriter: TLabel;
    Radio_BWriter: TRadioButton;
    Lab_Find: TLabel;
    Bit_ShowAll: TBitBtn;
    Label25: TLabel;
    ED_BWriter: TEdit;
    Label26: TLabel;
    Label27: TLabel;
    Lab_StuClass: TLabel;
    menu_about: TMenuItem;
    Panel4: TPanel;
    Panel5: TPanel;
    DBGrid1: TDBGrid;
    PageControl2: TPageControl;
    TabSheet9: TTabSheet;
    TabSheet10: TTabSheet;
    GroupBox2: TGroupBox;
    Label13: TLabel;
    Label14: TLabel;
    Label15: TLabel;
    Label16: TLabel;
    Label17: TLabel;
    Lab_StuName: TLabel;
    Lab_StuID: TLabel;
    Lab_ClassInfo: TLabel;
    Lab_Series: TLabel;
    Lab_Grade: TLabel;
    Lab_class: TLabel;
    Label34: TLabel;
    Label35: TLabel;
    Label36: TLabel;
    Label37: TLabel;
    Label38: TLabel;
    Lab_Sex: TLabel;
    Lab_booknum: TLabel;
    Lab_SType: TLabel;
    Lab_Num: TLabel;
    GroupBox3: TGroupBox;
    Memo1: TMemo;
    Panel6: TPanel;
    GroupBox5: TGroupBox;
    Label59: TLabel;
    Label60: TLabel;
    Label61: TLabel;
    Label62: TLabel;
    Label63: TLabel;
    Lab_return_price: TLabel;
    Lab_return_writer: TLabel;
    Lab_return_Press: TLabel;
    Lab_return_BType: TLabel;
    ED_return_BID: TEdit;
    Label68: TLabel;
    Label69: TLabel;
    Label70: TLabel;
    Label71: TLabel;
    Label72: TLabel;
    ED_return_StuID: TEdit;
    Lab_return_StuName: TLabel;
    Lab_return_StuSex: TLabel;
    Lab_return_classinfo: TLabel;
    Lab_return_StuBook: TLabel;
    Bit_return: TBitBtn;
    Label46: TLabel;
    Lab_return_BName: TLabel;
    Bit_loss: TBitBtn;
    Panel7: TPanel;
    GroupBox4: TGroupBox;
    Label41: TLabel;
    Label42: TLabel;
    Label43: TLabel;
    Lab_lend_BType: TLabel;
    Label45: TLabel;
    Lab_lend_press: TLabel;
    Label47: TLabel;
    Lab_lend_writer: TLabel;
    Label49: TLabel;
    Lab_lend_price: TLabel;
    Label51: TLabel;
    Lab_lend_StuName: TLabel;
    Label53: TLabel;
    Lab_lend_Classinfo: TLabel;
    Label55: TLabel;
    Lab_lend_StuBook: TLabel;
    Label57: TLabel;
    Lab_lend_StuSex: TLabel;
    Label44: TLabel;
    Lab_lend_BName: TLabel;
    ED_lend_BID: TEdit;
    ED_lend_stuID: TEdit;
    Bit_lend: TBitBtn;
    BitBtn6: TBitBtn;
    Chart1: TChart;
    Series1: TPieSeries;
    Chart2: TChart;
    Series2: THorizBarSeries;
    DBGrid3: TDBGrid;
    DBGrid4: TDBGrid;
    Timer2: TTimer;
    GroupBox6: TGroupBox;
    Label29: TLabel;
    Lab_Insert_StuID: TLabel;
    ED_stu_name: TEdit;
    Label28: TLabel;
    CB_Sex: TComboBox;
    Label30: TLabel;
    CB_Grade: TComboBox;
    Label31: TLabel;
    CB_SeriesType: TComboBox;
    Label32: TLabel;
    BTN_stu_insert: TBitBtn;
    ED_Num: TEdit;
    CB_Class: TComboBox;
    CB_BranchType: TComboBox;
    Label33: TLabel;
    Label39: TLabel;
    Label40: TLabel;
    BitBtn3: TBitBtn;
    BitBtn4: TBitBtn;
    ED_ED_Bname: TEdit;
    ED_ED_BPress: TEdit;
    ED_ED_BWriter: TEdit;
    ED_ED_BPrice: TEdit;
    BitBtn7: TBitBtn;
    ED_ED_name: TEdit;
    CB_ED_sex: TComboBox;
    CB_ED_grade: TComboBox;
    CB_ED_series: TComboBox;
    CB_ED_branch: TComboBox;
    CB_ED_class: TComboBox;
    BitBtn5: TBitBtn;
    ED_ED_num: TEdit;
    procedure DBGrid2CellClick(Column: TColumn);
    procedure BitBtn1Click(Sender: TObject);
    procedure TabSheet2Show(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure Timer1Timer(Sender: TObject);
    procedure TabSheet1Show(Sender: TObject);
    procedure ED_clear();
    procedure Lab_FindSet(Sender: TObject);
    Procedure DBGridLenght();
    procedure DBGrid2DrawDataCell(Sender: TObject; const Rect: TRect;

      Field: TField; State: TGridDrawState);
    procedure BitBtn2Click(Sender: TObject);
    procedure Bit_ShowAllClick(Sender: TObject);
    procedure BTN_insertClick(Sender: TObject);
    procedure Bit_lendClick(Sender: TObject);
    procedure menu_setupClick(Sender: TObject);
    procedure TabSheet8Show(Sender: TObject);
    procedure CB_BTypeChange(Sender: TObject);
    procedure DBGrid1CellClick(Column: TColumn);
    Procedure DBGrid1Lenght();
    procedure TabSheet10Show(Sender: TObject);
    procedure CB_GradeChange(Sender: TObject);
    procedure CB_SeriesTypeChange(Sender: TObject);
    procedure CB_BranchTypeChange(Sender: TObject);
    procedure ED_NumKeyPress(Sender: TObject; var Key: Char);
    procedure ED_NumChange(Sender: TObject);
    procedure CB_ClassChange(Sender: TObject);
    procedure ED_lend_BIDKeyPress(Sender: TObject; var Key: Char);
    procedure ED_lend_BIDChange(Sender: TObject);
    procedure ED_return_BIDKeyPress(Sender: TObject; var Key: Char);
    procedure ED_return_BIDChange(Sender: TObject);
    procedure ED_lend_stuIDChange(Sender: TObject);
    procedure ED_lend_stuIDKeyPress(Sender: TObject; var Key: Char);
    procedure ED_return_StuIDKeyPress(Sender: TObject; var Key: Char);
    procedure ED_return_StuIDChange(Sender: TObject);
    procedure BTN_stu_insertClick(Sender: TObject);
    procedure CB_SexChange(Sender: TObject);
    procedure Bit_returnClick(Sender: TObject);
    procedure Bit_lossClick(Sender: TObject);
    procedure TabSheet3Show(Sender: TObject);
    procedure chart_date();
    procedure BitBtn6Click(Sender: TObject);
    procedure Timer2Timer(Sender: TObject);
    procedure TabSheet4Show(Sender: TObject);
    procedure TabSheet4Hide(Sender: TObject);
    procedure BitBtn3Click(Sender: TObject);
    procedure BitBtn4Click(Sender: TObject);
    procedure ED_ED_BnameChange(Sender: TObject);
    procedure ED_ED_BPressChange(Sender: TObject);
    procedure ED_ED_BWriterChange(Sender: TObject);
    procedure ED_ED_BPriceChange(Sender: TObject);
    procedure BitBtn5Click(Sender: TObject);
    procedure CB_ED_gradeChange(Sender: TObject);
    procedure CB_ED_seriesChange(Sender: TObject);
    procedure CB_ED_branchChange(Sender: TObject);
    procedure CB_ED_classChange(Sender: TObject);
    procedure BitBtn7Click(Sender: TObject);
    procedure ED_ED_nameChange(Sender: TObject);
    procedure CB_ED_sexChange(Sender: TObject);
    procedure ED_ED_numChange(Sender: TObject);
    procedure menu_aboutClick(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure FormCreate(Sender: TObject);

 
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form_main: TForm_main;
    dd:String;
    d_Now:TDateTime;
    d_Book:TDateTime;
    d_Days:Integer;
    d_ODays:TDateTime;
    BTypeNum:Integer;
    str_Grade:string;
    str_SType:string;
    str_BRtype:string;
    str_class:string;
    str_Num:string;
    int_Sex:Integer;
    bool_return_bookid:Boolean;
    bool_return_stuid:Boolean;
    bool_lend_bookid:Boolean;
    bool_lend_stuid:Boolean;
    bool_bit:Boolean;
    BTypeList:array [0..10] of string;
implementation

uses StrUtils;

{$R *.dfm}

procedure TForm_main.DBGrid2CellClick(Column: TColumn);
var days:Integer;


begin
ED_clear;

Lab_BName.Caption:=DM.ADOQuery1.FieldByName('BName').AsString;
Lab_BID.Caption:=DM.ADOQuery1.FieldByName('BID').AsString;
Lab_BType.Caption:=DM.ADOQuery1.FieldByName('BType').AsString;
Lab_BPress.Caption:=DM.ADOQuery1.FieldByName('BPress').AsString;
Lab_BPrice.Caption:=DM.ADOQuery1.FieldByName('BPrice').AsString;
Lab_BWriter.Caption:=DM.ADOQuery1.FieldByName('BWriter').AsString;

ED_ED_Bname.Text:=DM.ADOQuery1.FieldByName('BName').AsString;
ED_ED_BWriter.Text:=DM.ADOQuery1.FieldByName('BWriter').AsString;
ED_ED_BPress.Text:=DM.ADOQuery1.FieldByName('BPress').AsString;
ED_ED_BPrice.Text:=DM.ADOQuery1.FieldByName('BPrice').AsString;

Lab_Bool.Caption:=DM.ADOQuery1.FieldByName('BBool').AsString;
if DM.ADOQuery1.FieldByName('BBool').AsString='True' then
begin
Lab_Bool.Caption:='是';
Label8.Font.Color:=clGrayText;
Label9.Font.Color:=clGrayText;
Label11.Font.Color:=clGrayText;
Label12.Font.Color:=clGrayText;
Label18.Font.Color:=clGrayText;
Label19.Font.Color:=clGrayText;
//DBGrid2.Canvas.Brush.Color:=clBlue;

end
else
Lab_Bool.Caption:='否';
Label8.Font.Color:=clBlack;
Label9.Font.Color:=clBlack;
Label11.Font.Color:=clBlack;
Label12.Font.Color:=clBlack;
Label18.Font.Color:=clBlack;
Label19.Font.Color:=clBlack;
begin

end;

Lab_BStu.Caption:=DM.ADOQuery1.FieldByName('StuName').AsString;
Lab_BStuID.Caption:=DM.ADOQuery1.FieldByName('StuID').AsString;
Lab_BODay.Caption:=DM.ADOQuery1.FieldByName('BODay').AsString;
Lab_BLendDate.Caption:=DM.ADOQuery1.FieldByName('BLendDate').AsString;
Lab_StuClass.Caption:=DM.ADOQuery1.FieldByName('ClassInfo').AsString;

if DM.ADOQuery1.FieldByName('BDays').AsString<>'' then
begin
days:=strtoint(DM.ADOQuery1.FieldByName('BDays').AsString);
if days>0 then
begin
Lab_BDays.Caption:=inttostr(days)+'天';
Lab_BMoney.Caption:='';
Lab_BDays.Font.Color:=clBlue;
Lab_BMoney.Font.Color:=clBlue;
end
else
begin
Lab_BDays.Caption:=inttostr(days)+'天';
Lab_BMoney.Caption:=floattostr(days*0.1*-1)+'元';
Lab_BDays.Font.Color:=clRed;
Lab_BMoney.Font.Color:=clRed;
end;
  end;
 // DBGrid2.Columns[0].Color:=clBlue;

end;

procedure TForm_main.BitBtn1Click(Sender: TObject);
begin
DM.ADOQuery1.SQL.Clear;
with DM.ADOQuery1 do
begin

if Radio_BName.Checked=True then
DM.ADOQuery1.SQL.Add('select * from BookInfo where BName='+QuotedStr(ED_Find.Text));

if Radio_BID.Checked=True then
DM.ADOQuery1.SQL.Add('select * from BookInfo where BID='+QuotedStr(ED_Find.Text));

if Radio_BType.Checked=True then
DM.ADOQuery1.SQL.Add('select * from BookInfo where BType='+QuotedStr(ED_Find.Text));

if Radio_LendBool.Checked=True then
if ED_Find.Text='是' then
 begin
 DM.ADOQuery1.SQL.Add('select * from BookInfo where BBool='+QuotedStr('1'));
 end
 else
 begin
 DM.ADOQuery1.SQL.Add('select * from BookInfo where BBool='+QuotedStr('0'));
 end;

if Radio_StuID.Checked=True then                                                        //学号
DM.ADOQuery1.SQL.Add('select * from BookInfo where StuID='+QuotedStr(ED_Find.Text));

if Radio_StuName.Checked=True then                                                       //姓名
DM.ADOQuery1.SQL.Add('select * from BookInfo where StuName='+QuotedStr(ED_Find.Text));

if Radio_BDays.Checked=True then                                                         //剩余天数
DM.ADOQuery1.SQL.Add('select * from BookInfo where BDays='+QuotedStr(Clear_Chinese(ED_Find.Text)));

if Radio_LendDay.Checked=True then                                                      //借出日期
DM.ADOQuery1.SQL.Add('select * from BookInfo where BLendDate='+QuotedStr(ED_Find.Text));

if Radio_BODay.Checked=True then                                                        //过期日期
DM.ADOQuery1.SQL.Add('select * from BookInfo where BODay='+QuotedStr(ED_Find.Text));

if Radio_BWriter.Checked=True then                                                      //作者
DM.ADOQuery1.SQL.Add('select * from BookInfo where BWriter='+QuotedStr(ED_Find.Text));

if Radio_BMoney.Checked=True then                                                           //赔偿
DM.ADOQuery1.SQL.Add('select * from BookInfo where Money='+QuotedStr(Clear_Chinese(ED_Find.Text)));


   DM.ADOQuery1.Open;
   ED_clear;
   DBGridLenght;
end;
end;

procedure TForm_main.TabSheet2Show(Sender: TObject);
begin
DM.ADOQuery1.SQL.Clear;
DM.ADOQuery1.SQL.Add('select * from StuInfo');
DM.ADOQuery1.Open;
DBGrid1Lenght;
end;

procedure TForm_main.FormClose(Sender: TObject; var Action: TCloseAction);
begin
 application.Terminate;
end;

procedure TForm_main.Timer1Timer(Sender: TObject);
begin
//statusbar1.Panels[0].Text:='当前操作员:'+unit2.UserName;
statusbar1.Panels[1].Text:=DateToStr(date)+' '+TimeToStr(now);

end;

procedure TForm_main.TabSheet1Show(Sender: TObject);
begin
 DM.ADOQuery1.SQL.Clear;
DM.ADOQuery1.SQL.Add('select * from BookInfo order by BID,BType');
DM.ADOQuery1.Open;
 DBGridLenght;
end;



procedure TForm_main.ED_clear();
begin


Lab_BName.Caption:='';
Lab_BID.Caption:='';
Lab_Bool.Caption:='';
Lab_BStu.Caption:='';
Lab_BType.Caption:='';
Lab_BMoney.Caption:='';
Lab_BDays.Caption:='';
Lab_BStuID.Caption:='';
Lab_BODay.Caption:='';
Lab_BLendDate.Caption:='';
Lab_BPrice.Caption:='';
Lab_BPress.Caption:='';
Lab_BWriter.Caption:='';
Lab_StuClass.Caption:='';


end;
procedure TForm_main.DBGrid2DrawDataCell(Sender: TObject; const Rect: TRect;
  Field: TField; State: TGridDrawState);
begin
if DM.ADOQuery1.FieldByName('BBool').AsString='True' then
begin
if strtoint(DM.ADOQuery1.FieldByName('BDays').AsString)>0 then
begin
DBGrid2.Canvas.Brush.Color:=clMoneyGreen;
end
else
DBGrid2.Canvas.Brush.Color:=RGB(140,100,100);
end;
DBGrid2.Canvas.FillRect(Rect);
DbGrid2.Canvas.TextOut(Rect.Left,Rect.Top,Field.AsString);



end;



procedure TForm_main.Lab_FindSet(Sender: TObject);
begin

⌨️ 快捷键说明

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