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

📄 frmoptionsu.pas

📁 图书借阅管理系统含源代码
💻 PAS
📖 第 1 页 / 共 2 页
字号:
unit frmOptionsU;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ComCtrls, StdCtrls, Buttons, cxStyles, cxCustomData, cxGraphics,
  cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData, cxGridLevel,
  cxClasses, cxControls, cxGridCustomView, cxGridCustomTableView,
  cxGridTableView, cxGridDBTableView, cxGrid, ExtCtrls;

type
  TfrmOptions = class(TForm)
    bitCLose: TBitBtn;
    pagc1: TPageControl;
    TabSheet1: TTabSheet;
    TabSheet2: TTabSheet;
    TabSheet3: TTabSheet;
    TabSheet4: TTabSheet;
    GroupBox1: TGroupBox;
    Label1: TLabel;
    edBConcernID: TEdit;
    Label2: TLabel;
    edConName: TEdit;
    Label3: TLabel;
    edAddress: TEdit;
    Label4: TLabel;
    edPostalcode: TEdit;
    Label5: TLabel;
    edPhoneNO: TEdit;
    Label6: TLabel;
    edLinkman: TEdit;
    GroupBox2: TGroupBox;
    cxStyleRepository1: TcxStyleRepository;
    cxStyle1: TcxStyle;
    cxStyle2: TcxStyle;
    cxStyle3: TcxStyle;
    cxGridBConcern: TcxGrid;
    cxGridBConcernLevel1: TcxGridLevel;
    cxGridBookCase: TcxGrid;
    cxGridDBTableView1: TcxGridDBTableView;
    cxGridLevel1: TcxGridLevel;
    cxGridDBTableView2: TcxGridDBTableView;
    datsBConcern: TDataSource;
    datsBookCase: TDataSource;
    cxGridDBTableView2DBColumn2: TcxGridDBColumn;
    cxGridDBTableView2DBColumn3: TcxGridDBColumn;
    cxGridDBTableView2DBColumn4: TcxGridDBColumn;
    cxGridDBTableView2DBColumn5: TcxGridDBColumn;
    cxGridDBTableView2DBColumn6: TcxGridDBColumn;
    bitAdd: TBitBtn;
    bitEdit: TBitBtn;
    bitDel: TBitBtn;
    bitSave: TBitBtn;
    bitCancel: TBitBtn;
    cxGridDBTableView1DBColumn2: TcxGridDBColumn;
    cxGridDBTableView1DBColumn3: TcxGridDBColumn;
    Panel1: TPanel;
    BitBtn1: TBitBtn;
    Label7: TLabel;
    edBookCaseName: TEdit;
    Label8: TLabel;
    meoLocation: TMemo;
    Label9: TLabel;
    edLoanTerm: TEdit;
    Label10: TLabel;
    Label11: TLabel;
    edMaxArrearage: TEdit;
    Label12: TLabel;
    Label13: TLabel;
    edLoanCost: TEdit;
    Label14: TLabel;
    Label15: TLabel;
    edOverstepTermHire: TEdit;
    Label16: TLabel;
    Label17: TLabel;
    edOverstepTermHire2: TEdit;
    Label18: TLabel;
    Label19: TLabel;
    edMaxLoanHow: TEdit;
    Label20: TLabel;
    GroupBox3: TGroupBox;
    cxClass: TcxGrid;
    cxGridDBTableView3: TcxGridDBTableView;
    cxGridLevel2: TcxGridLevel;
    datasClass: TDataSource;
    cxGridDBTableView3DBColumn1: TcxGridDBColumn;
    Label21: TLabel;
    edClass: TEdit;
    Label22: TLabel;
    edBagMonthMoney: TEdit;
    Label23: TLabel;
    edPressGold: TEdit;
    Label24: TLabel;
    Label25: TLabel;
    procedure bitCLoseClick(Sender: TObject);
    procedure pagc1Change(Sender: TObject);
    procedure cxGridDBTableView2CellClick(Sender: TcxCustomGridTableView;
      ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
      AShift: TShiftState; var AHandled: Boolean);
    procedure bitAddClick(Sender: TObject);
    procedure bitEditClick(Sender: TObject);
    procedure bitSaveClick(Sender: TObject);
    procedure bitCancelClick(Sender: TObject);
    procedure bitDelClick(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure edLoanTermKeyPress(Sender: TObject; var Key: Char);
    procedure edMaxArrearageKeyPress(Sender: TObject; var Key: Char);
    procedure edLoanCostKeyPress(Sender: TObject; var Key: Char);
    procedure edOverstepTermHireKeyPress(Sender: TObject; var Key: Char);
    procedure edOverstepTermHire2KeyPress(Sender: TObject; var Key: Char);
    procedure edMaxLoanHowKeyPress(Sender: TObject; var Key: Char);
    procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
    procedure edBagMonthMoneyKeyPress(Sender: TObject; var Key: Char);
    procedure edPressGoldKeyPress(Sender: TObject; var Key: Char);
    procedure cxGridDBTableView1CellClick(Sender: TcxCustomGridTableView;
      ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
      AShift: TShiftState; var AHandled: Boolean);
    procedure cxGridDBTableView3CellClick(Sender: TcxCustomGridTableView;
      ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
      AShift: TShiftState; var AHandled: Boolean);
    procedure cxGridDBTableView3KeyUp(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure cxGridDBTableView1KeyUp(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure cxGridDBTableView2KeyUp(Sender: TObject; var Key: Word;
      Shift: TShiftState);
  private
    { Private declarations }
    procedure BookCase();
    procedure choice();
    procedure BConcern();
    procedure LoanOption();
    Procedure myClass();
    procedure ClsText1();
    procedure ClsText2();
    procedure ClsText3();
    procedure ClsText4();
    procedure TextEnable1(enb:Boolean);
    procedure TextEnable2(enb:Boolean);
    procedure TextEnable3(enb:Boolean);
    procedure TextEnable4(enb:Boolean);
    procedure tf(eng:Boolean;add:Boolean);
    procedure AddEdit(input :Boolean);
    procedure BConcernPost();
    procedure BookCasePost();
    procedure ClassPost();
    procedure PagcBitEnable();
  public
    { Public declarations }
  end;

var
  frmOptions: TfrmOptions;

implementation

uses DMU, frmInquireU, frmBokInformU;

{$R *.dfm}
var
  aeBoo:Boolean;

procedure TfrmOptions.BConcern;
begin
  DM.adoBConcern.Close;
  DM.adoBConcern.SQL.Clear;
  DM.adoBConcern.SQL.Text:='select * from BConcern Order By boConName';
  DM.adoBconcern.Active:=True;
end;

procedure TfrmOptions.bitCLoseClick(Sender: TObject);
begin
  DM.adoBookCase.Close;
  DM.adoBConcern.Close;
  if Dm.adoInquire.Active then
    frmInquire.ComBoxInit();
  if Dm.adoBokInform.Active then
    frmBokInform.comBoxInit();
  Close();
  Dm.adoTemp.Close;
  Dm.adoTemp.SQL.Clear;
  Dm.adoTemp.SQL.Text:='select * from LoanOption';
  Dm.adoTemp.Open;
  if Dm.adoTemp.RecordCount=0 then
  begin
    MessageBox(0,'请先设置好借书设置','提示',MB_OK+MB_TASKMODAL+MB_ICONEXCLAMATION);
    Application.CreateForm(TfrmOptions, frmOptions);
    frmOptions.pagc1.ActivePageIndex:=2;
    frmOptions.ShowModal;
  end;
  Dm.adoTemp.Close;
end;

procedure TfrmOptions.BookCase;
begin
  DM.adoBookCase.Close;
  DM.adoBookCase.SQL.Clear;
  DM.adoBookCase.SQL.Text:='select * from BookCase Order By BookCaseName';
  DM.adoBookCase.Active:=True;
end;

procedure TfrmOptions.choice;
begin
  BConcern();
  BookCase();
  myClass();
  LoanOption();
  TextEnable1(False);
  TextEnable2(False);
  TextEnable3(False);
  TextEnable4(False);
  PagcBitEnable();
end;

procedure TfrmOptions.pagc1Change(Sender: TObject);
begin
  case pagc1.ActivePageIndex of
    0,1,3:
    begin
      if not Dm.LP('LP1')then
        Close;
    end;
    2:
    begin
      if not DM.LP('LP2')then
        close;
    end;
  end;
  choice();
  BConcernPost();
  BookCasePost();
  ClassPost();
end;

procedure TfrmOptions.cxGridDBTableView2CellClick(
  Sender: TcxCustomGridTableView;
  ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
  AShift: TShiftState; var AHandled: Boolean);
begin
  BConcernPost();
end;

procedure TfrmOptions.ClsText1;
begin
  edBConcernID.Text:='自动编号';
  edConName.Clear;
  edAddress.Clear;
  edPostalcode.Clear;
  edPhoneNo.Clear;
  edLinkman.Clear;
end;

procedure TfrmOptions.TextEnable1(enb:Boolean);
begin
  edConName.Enabled:=enb;
  edAddress.Enabled:=enb;
  edPostalcode.Enabled:=enb;
  edPhoneNo.Enabled:=enb;
  edLinkman.Enabled:=enb;
  cxGridBConcern.Enabled:=not enb;
end;

procedure TfrmOptions.bitAddClick(Sender: TObject);
begin
  if bitbtn1.Caption='<' then
    bitbtn1.Click();
  aeBoo:=True;
  tf(true,true);
  AddEdit(true);
end;

procedure TfrmOptions.bitEditClick(Sender: TObject);
begin
  if bitbtn1.Caption='<' then
    bitbtn1.Click();
  aeBoo:=False;
  tf(True,False);
  AddEdit(true);
end;

procedure TfrmOptions.tf(eng: Boolean; add: Boolean);
begin
  case pagc1.ActivePageIndex of
    0:TextEnable1(eng);
    1:TextEnable2(eng);
    2:TextEnable3(eng);
    3:TextEnable4(eng);
    4:;
  end;
  if add then
  begin
    ClsText1();
    CLsText2();
    ClsText3();
    ClsText4();
  end;
end;

procedure TfrmOptions.bitSaveClick(Sender: TObject);
begin
//===============ADD SAVE DATA=============
  if aeBoo then
    case pagc1.ActivePageIndex of
      0://保存出版社信息
      begin
        if trim(edConName.Text)=''then
        begin
           MessageBox(0,'出版社名称不能为空','提示',mb_ok+MB_ICONEXCLAMATION+MB_TASKMODAL);
           exit;
        end;
        Dm.adoBConcern.Append;
        Dm.adoBConcern.FieldByName('boConName').AsString:=Trim(edConName.Text);
        Dm.adoBConcern.FieldByName('Address').AsString:=Trim(edAddress.Text );
        Dm.adoBConcern.FieldByName('Postalcode').AsString:=Trim(edPostalcode.Text);
        Dm.adoBConcern.FieldByName('PhoneNO').AsString:=Trim(edPhoneNO.Text);
        Dm.adoBConcern.FieldByName('Linkman').AsString:=Trim(edLinkman.Text);
      end;
      1://保存书架信息
      begin
        if trim(edBookCaseName.Text)='' then
        begin
          MessageBox(0,'书架名称不能为空','提示',mb_ok+MB_ICONEXCLAMATION+MB_TASKMODAL);
          exit;
        end;
        Dm.adoBookCase.Append;
        Dm.adoBookCase.FieldByName('BookCaseName').AsString:=Trim(edBookCaseName.Text);
        Dm.adoBookCase.FieldByName('Location').AsString:=Trim(meoLocation.Lines.Text);
      end;
      2://保存借书设置
      begin
        if  (Trim(edLoanTerm.Text)='')
          or(Trim(edMaxArrearage.Text)='')
          or(Trim(edLoanCost.Text)='')
          or(Trim(edOverstepTermHire.Text)='')
          or(Trim(edOverstepTermHire2.Text)='')
          or(Trim(edBagMonthMoney.Text)='')
          or(Trim(edPressGold.Text)='')
          then
        begin
          MessageBox(0,'借书设置的各项内容不能为空,请填入各项设置内容。','提示',mb_ok+MB_ICONEXCLAMATION+MB_TASKMODAL);
          exit;
        end;
        Dm.adoLoanOption.Append;
        Dm.adoLoanOption.FieldByName('LoanTerm').AsString:=edLoanTerm.Text;
        Dm.adoLoanOption.FieldByName('MaxArrearage').AsString:=edMaxArrearage.Text;
        Dm.adoLoanOption.FieldByName('LoanCost').AsString:=edLoanCost.Text;
        Dm.adoLoanOption.FieldByName('OverstepTermHire').AsString:=edOverstepTermHire.Text;
        Dm.adoLoanOption.FieldByName('OverstepTermHire2').AsString:=edOverstepTermHire2.Text;
        Dm.adoLoanOption.FieldByName('MaxLoanHow').AsInteger:=StrToInt(edMaxLoanHow.Text);
        Dm.adoLoanOption.FieldByName('BagMonthMoney').AsString:=edBagMonthMoney.Text;
        Dm.adoLoanOption.FieldByName('PressGold').AsString:=edPressGold.Text;
      end;
      3://保存图书分类设置
      begin
        if Trim(edClass.Text)='' then
        begin
          MessageBox(0,'图书分类名不能为空,请输入图书分类名。','提示',mb_ok+MB_ICONEXCLAMATION+MB_TASKMODAL);
          exit;
        end;
        Dm.adoClass.Append;
        Dm.adoClass.FieldByName('Class').AsString:=Trim(edClass.Text);
      end;
    end;
  //if结束
  
//==============EDIT SAVE DATA=========
   if not aeBoo then
    case pagc1.ActivePageIndex of
      0://保存出版社信息
      begin
        if trim(edConName.Text)=''then
        begin
           MessageBox(0,'出版社名称不能为空','提示',mb_ok+MB_ICONEXCLAMATION+MB_TASKMODAL);
           exit;
        end;
        Dm.adoBConcern.Edit;
        Dm.adoBConcern.FieldByName('boConName').AsString:=Trim(edConName.Text);
        Dm.adoBConcern.FieldByName('Address').AsString:=Trim(edAddress.Text );
        Dm.adoBConcern.FieldByName('Postalcode').AsString:=Trim(edPostalcode.Text);
        Dm.adoBConcern.FieldByName('PhoneNO').AsString:=Trim(edPhoneNO.Text);
        Dm.adoBConcern.FieldByName('Linkman').AsString:=Trim(edLinkman.Text);
      end;

⌨️ 快捷键说明

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