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

📄 stockbooku.pas

📁 图书管理系统
💻 PAS
字号:
unit StockBookU;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ComCtrls, StdCtrls, Buttons,ADODB,DB, ImgList;

type
  TStockBookF = class(TForm)
    BitBtn2: TBitBtn;
    PageControl1: TPageControl;
    TabSheet1: TTabSheet;
    ListView2: TListView;
    BitBtn6: TBitBtn;
    Edit3: TEdit;
    Edit4: TEdit;
    Edit5: TEdit;
    StaticText6: TStaticText;
    StaticText7: TStaticText;
    StaticText8: TStaticText;
    StaticText5: TStaticText;
    StaticText3: TStaticText;
    TabSheet2: TTabSheet;
    GroupBox3: TGroupBox;
    BitBtn3: TBitBtn;
    GroupBox2: TGroupBox;
    RadioButton1: TRadioButton;
    RadioButton2: TRadioButton;
    RadioButton3: TRadioButton;
    BitBtn1: TBitBtn;
    GroupBox1: TGroupBox;
    StaticText1: TStaticText;
    Edit1: TEdit;
    StaticText2: TStaticText;
    Edit2: TEdit;
    ListView1: TListView;
    procedure RadioButton1Click(Sender: TObject);
    procedure RadioButton2Click(Sender: TObject);
    procedure ListView1Click(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
    procedure BitBtn3Click(Sender: TObject);
    procedure RadioButton3Click(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure ListView2Click(Sender: TObject);
    procedure BitBtn6Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure BitBtn5Click(Sender: TObject);

  private
    { Private declarations }
    procedure WMNCPaint(var Msg : TWMNCPaint); message WM_NCPAINT;
  public
    { Public declarations }
    check:boolean;  //判断是否为 第一次创建
    procedure CInitListView;

  end;

var
  StockBookF: TStockBookF;

implementation

uses DataModule, ExportExcelU, MainU,ShareU;
{$R *.dfm}

procedure TStockBookF.WMNCPaint(var Msg: TWMNCPaint);
begin
    inherited;
    draw(StockBookF);
end;

procedure TStockBookF.CInitListView;
begin
    dm.ADODataSetBookType.Connection:=dm.ADOConnection1;
    dm.ADODataSetBookType.CommandType:=cmdtext;
    if (pagecontrol1.ActivePage = tabsheet1) or (check=false) then
    begin
      listview2.Items.Clear;
      if dm.adodatasetbooktype.State=dsOpening then dm.ADODataSetBookType.Close;
      dm.ADODataSetBookType.CommandText:='select bookid,bookname from book_info';
      dm.ADODataSetBookType.Open;
      dm.ADODataSetBookType.First;
      while not dm.ADODataSetBookType.Eof do
      begin
        with ListView2.Items.Add do
        begin
          Caption:=dm.ADODataSetBookType.FieldValues['bookid'];
          SubItems.Add(dm.ADODataSetBookType.FieldValues['bookname']);
          Subitems.add(inttostr(dm.GetStockBookNum(
                                 dm.ADODataSetBookType.FieldValues['bookid'])));
        end;
        dm.ADODataSetBookType.Next;
        end;
      end;
      if (pagecontrol1.ActivePage = tabsheet2) or (check=false) then
      begin
          listview1.Items.Clear;
          dm.ADODataSetBookType.Close;
          dm.ADODataSetBookType.CommandText:='select * from book_type';
          dm.ADODataSetBookType.Open;
          dm.ADODataSetBookType.First;
          while not dm.ADODataSetBookType.Eof do
          begin
            with ListView1.Items.Add do
            begin
              Caption:=dm.ADODataSetBookType.FieldValues['booktypeid'];
              SubItems.Add(dm.ADODataSetBookType.FieldValues['typename']);
              Subitems.add(inttostr(dm.GetBookTypeNum(
                             dm.ADODataSetBookType.FieldValues['booktypeid'])));
            end;
            dm.ADODataSetBookType.Next;
          end;
      end;
      dm.ADODataSetBookType.Close;
      StaticText3.Caption:= inttostr(dm.GetAllBookNum)+'本';
end;

procedure TStockBookF.RadioButton1Click(Sender: TObject);
begin
    if Radiobutton1.Checked then      //添加
    begin
        edit1.Text:='';
        edit2.Text:='';
        edit1.SetFocus;
        bitbtn3.Enabled:=false;
    end;
end;

procedure TStockBookF.RadioButton2Click(Sender: TObject);
begin
  if radiobutton2.Checked then
  begin
      bitbtn3.Enabled:=false;
  end;
end;

procedure TStockBookF.ListView1Click(Sender: TObject);
begin
    if listview1.Selected<> nil then
    begin
        edit1.Text:=listview1.Selected.Caption;
        edit2.Text:=listview1.Selected.SubItems.Strings[0];
    end;
end;

procedure TStockBookF.BitBtn1Click(Sender: TObject);
begin
    if (edit1.Text ='') or (edit2.text='') then exit;

    if dm.CCheckID('select booktypeid from book_type where typename='''+
                    trim(edit2.Text)+'''') then
        begin
          messagedlg('已有此类型名称!!',mtinformation,[mbyes],0);
          edit2.SetFocus;
          edit2.SelectAll;
          exit;
        end;
   
    if radiobutton1.Checked then   //添加
    begin
        if dm.CCheckID('select booktypeid from book_type where booktypeid='''+
                    trim(edit1.Text)+'''') then
        begin
          messagedlg('已有此类型号!!',mtinformation,[mbyes],0);
          edit1.SetFocus;
          edit1.SelectAll;
          exit;
        end;

         if dm.InsertBookType(trim(edit1.Text),trim(edit2.Text)) then
            Cinitlistview
         else
           messagedlg('添加失败!!',mterror,[mbyes],0);
    end
    else if radiobutton2.Checked then  //修改
    begin
         if dm.UpdateBookType(trim(edit1.Text),trim(edit2.Text)) then
           Cinitlistview
         else
            messagedlg('更新失败!!',mterror,[mbyes],0);
    end
    else
        messagedlg('请选择编辑方式!!',mtinformation,[mbyes],0);
end;

procedure TStockBookF.BitBtn3Click(Sender: TObject);
begin
   if edit1.Text='' then exit;
   if dm.DeleteBookType(trim(edit1.Text)) then
   begin
     Cinitlistview;
     edit1.Text:='';
     edit2.Text:='';
     bitbtn3.enabled:=false;
   end
   else
     bitbtn3.enabled:=true;
end;

procedure TStockBookF.RadioButton3Click(Sender: TObject);
begin
    bitbtn3.Enabled:=true;
end;

procedure TStockBookF.BitBtn2Click(Sender: TObject);
begin
    close;
end;

procedure TStockBookF.FormClose(Sender: TObject; var Action: TCloseAction);
begin
    StockBookF:=nil;
    action:=cafree;
end;

procedure TStockBookF.ListView2Click(Sender: TObject);
begin
    if listview2.Selected <>nil then
    begin
        edit3.Text:=listview2.Selected.Caption;
        edit4.Text:=listview2.Selected.SubItems.Strings[0];
        edit5.Text:=listview2.Selected.SubItems.Strings[1];
        if listview2.Selected.SubItems.Strings[1]='0' then
          bitbtn6.Enabled:=true
        else
          bitbtn6.Enabled:=false;
    end;
end;

procedure TStockBookF.BitBtn6Click(Sender: TObject);
begin
    if DM.DeleteBook(trim(edit3.Text)) then
    begin
      application.Messagebox('删除成功!','提示!');
      bitbtn6.Enabled:=false;
      edit3.Text:='';
      edit4.Text:='';
      edit5.Text:='';
      Cinitlistview;
    end
    else
        application.Messagebox('删除失败!','提示!');
end;

procedure TStockBookF.FormCreate(Sender: TObject);
begin
    caption:='图书整理';
    Icon:=mainf.Icon;
    Cinitlistview;
    check:=true;
end;

procedure TStockBookF.BitBtn5Click(Sender: TObject);
begin
    if tabsheet1.Showing=true then
        ExportExcelListView:=listview2.Name
    else if tabsheet2.Showing=true then
        ExportExcelListView:=listview1.name;
    OpenForm(TExportExcelF,ExportExcelF,StockBookF,true);
end;

end.

⌨️ 快捷键说明

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