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

📄 unit1.pas

📁 图书管理系统 简介 随着科学技术的飞速发展
💻 PAS
📖 第 1 页 / 共 5 页
字号:
    procedure N29Click(Sender: TObject);
    procedure ToolButton15Click(Sender: TObject);
    procedure SpeedButton5Click(Sender: TObject);
    procedure N39Click(Sender: TObject);
    procedure Button32Click(Sender: TObject);
    procedure CheckBox3Click(Sender: TObject);
    procedure N24Click(Sender: TObject);
    procedure N25Click(Sender: TObject);
    procedure N40Click(Sender: TObject);
    procedure CheckBox2Click(Sender: TObject);
    procedure RadioButton5Click(Sender: TObject);
    procedure RadioButton6Click(Sender: TObject);
    procedure RadioButton7Click(Sender: TObject);
    procedure Button33Click(Sender: TObject);
    procedure N42Click(Sender: TObject);
    procedure N30Click(Sender: TObject);
    procedure ToolButton13Click(Sender: TObject);
  private
    { Private declarations }
    str_bookclassid:string;     //图书类别编号
    str_bookpublishid:string;   //出版社编号
    procedure emp_YN_null();
    procedure emp_refrish();      //员工信息刷新
    procedure pas_refrish();      //客户信息刷新
    procedure book_refrish();     //图书信息刷新
  public
    { Public declarations }
    int_human:integer;
    procedure form_panel4Click(); //PANEL4的设置
    procedure mainfrom_human_control(selec,update,delete,insert : boolean);
    procedure Menu_enable();
  end;

var
  Form1: TForm1;
  ADOQuery_pub:TADOQuery;
  DataSource_pub: TDataSource;
  Pic_pub:TPicture;

implementation
uses unit2, shellapi, Unit4, Unit6, Myjiami, Unit3, Unit7, registry, Unit8;

{$R *.dfm}
//一个自定义的过程
procedure TForm1.Panel2Click(Sender: TObject);
begin
    Panel2.Align:=alTop;           //设置PANEL的对齐方式
    Panel2.Cursor:=crDefault;      //设置鼠标效果
    Panel4.Cursor:=crHandPoint;    //设置鼠标效果
    ScrollBox1.Visible:=false;     //设置组件是否可见
    PageControl1.ActivePageIndex:=0;
end;

procedure TForm1.SpeedButton4Click(Sender: TObject);
begin
  PageControl1.ActivePageIndex:=1;
  if int_human<>1 then
  begin
    MessageDlg('无权使用!!',mtWarning, [mbYes],0);
    exit;
  end;
  if form2.fm_bool then
  begin
    form2.Close;
  end;
  form2.Dock(Panel3,BoundsRect);   //窗体的停靠
  form2.Button2.Enabled:=false;
  form2.Clear_edit_and_checkbox;
  Form2.Show;                      //窗体显示
end;

procedure TForm1.Panel4Click(Sender: TObject);
begin
  Panel2.Align:=alBottom;          //设置PANEL的对齐方式
  Panel2.Cursor:=crHandPoint;      //设置鼠标效果
  Panel4.Cursor:=crDefault;        //设置鼠标效果
  ScrollBox1.Visible:=true;        //设置组件是否可见
  PageControl1.ActivePageIndex:=1;
  if form2.fm_bool then
  begin
    form2.Close;
  end;
end;

procedure TForm1.FormShow(Sender: TObject);
var
  INIFile1:TINIFile;
  Textfile1:Textfile;
  int_dabk:integer;
  str_datapath:string;
  str_databupath:string;
  s:string;
  str_fmtitle:string;
  reg:Tregistry;
  result:string;
begin
  IniFile1 := TIniFile.Create (ExtractFilePath (Application.ExeName) + 'login.ini');    //创建一个INI文件
  int_dabk:=IniFile1.ReadInteger('DATABK','data',int_dabk);
  IniFile1.free;
  if int_dabk=0 then
  begin
    form1.N24.Enabled:=false;
    form3.Timer1.Enabled:=true;
    form3.Label1.Caption:='正在备份数据,请稍候. . . . . .          ';
    form3.int_databackup:=3;
    form3.Update;
    str_datapath:=extractfilepath(application.ExeName)+'DATA\db_booksys.mdb';
    str_databupath:=extractfilepath(application.ExeName)+'DATABU\'+Formatdatetime('yyyy/mm/dd hh-mm-ss',now)+'buckup.mdb';
    form3.Show;
    form3.Update;
    form3.my_databk_ProgressBar(str_datapath,str_databupath);
  end;
  if int_dabk=1 then
  begin
    if FileExists(extractfilepath(application.ExeName)+'DATABU\'+Formatdatetime('yyyy/mm/dd',now)+'buckup.mdb') then
    else
    begin
      form1.N24.Enabled:=false;
      form3.Timer1.Enabled:=true;
      form3.Label1.Caption:='正在备份数据,请稍候. . . . . .          ';
      form3.int_databackup:=3;
      form3.Update;
      str_datapath:=extractfilepath(application.ExeName)+'DATA\db_booksys.mdb';
      str_databupath:=extractfilepath(application.ExeName)+'DATABU\'+Formatdatetime('yyyy/mm/dd',now)+'buckup.mdb';
      form3.Show;
      form3.Update;
      form3.my_databk_ProgressBar(str_datapath,str_databupath);
    end;
  end;
  if int_dabk=1 then
  begin
    form1.N24.Enabled:=true;
  end;
//-----------读取文本文件-------------
  AssignFile(Textfile1, 'sys.txt');
  reset(Textfile1);       //打开文件
  while not eof (Textfile1) do
  begin
    readln(Textfile1, str_fmtitle);
  end;
  form1.Caption:=str_fmtitle;
  closefile(Textfile1);
//-----------读取文本文件-------------
  result:='';
  reg:=Tregistry.create;
  with reg do
  begin
    rootkey:=HKEY_LOCAL_MACHINE;
    OPENKEY('Software\Microsoft\Windows\CurrentVersion',false);
    result:=readstring('ProductID');
  end;
  reg.free;
  result:=copy(result,1,5)+copy(result,7,3)+copy(result,11,7)+copy(result,19,5);
  if not FileExists(extractfilepath(application.ExeName)+'regsys.dat') then
  begin
    AssignFile(Textfile1, 'regsys.dat');
    Rewrite(Textfile1);
    writeln(Textfile1, '');  //写入注册码
    closefile(Textfile1);
  end;   //如果文件不存在就创建
  AssignFile(Textfile1, 'regsys.dat');
  reset(Textfile1);       //打开文件
  while not eof (Textfile1) do
  begin
    readln(Textfile1, s);
  end;
  if s=result then
  begin
    N40.Visible:=false;
  end
  else
  begin
    form1.Caption:=form1.Caption+'【未注册】';
  end;
  closefile(Textfile1);




  form4.ShowModal;   //显示登陆窗体
end;

procedure TForm1.FormCreate(Sender: TObject);
var
  i:integer;
  ADOQuery1:TADOQuery;
  Pic:TPicture;     //BMP图片类
begin
//--------------创建全局ADOQUERY
  ADOQuery_pub:=TADOQuery.Create(SELF);
  DataSource_pub:= TDataSource.Create(self);
  Pic_pub:=TPicture.Create();
  image2.Picture:=nil;
  DataSource_pub.DataSet:=ADOQuery_pub;
  ADOQuery_1.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+
                               extractfilepath(application.ExeName)+
                               'DATA\db_booksys.mdb;Persist Security Info=False';   //连接字符串
  ADOQuery2.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+
                               extractfilepath(application.ExeName)+
                               'DATA\db_booksys.mdb;Persist Security Info=False';   //连接字符串
  ADOQuery_pub.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+
                                 extractfilepath(application.ExeName)+
                                 'DATA\db_booksys.mdb;Persist Security Info=False';   //连接字符串
//--------------图片设置--------
  Pic:=TPicture.Create;//利用TPicture的对象转换bitmap与JPEG
  //如果不是位图则直接载入JPEG对象
  Pic.LoadFromFile(extractfilepath(application.ExeName)+'RES\bmp1.bmp');
  image1.Picture.Assign(Pic.Bitmap);
  image1.stretch:=true;
  image1.Enabled:=true;
  Pic.Free;
//-------------向树中添加内容----
  ADOQuery1:=TADOQuery.create(self);
  ADOQuery1.connectionstring:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+
                              extractfilepath(application.ExeName)+
                              'DATA\db_booksys.mdb;Persist Security Info=False';   //连接字符串
  adoquery1.Close;
  adoquery1.SQL.Clear;
  adoquery1.SQL.Add('select * from tab_bookclassinfo');
  adoquery1.Open;       //从数据库中选择类别
  //node[]:=TreeView1.Items.Add(nil,'类别');  //对TREEVIEW的结点付值
  for i:=0 to (adoquery1.RecordCount-1) do    //将数据库中的类别添加到TREEVIEW中
  begin
    treeview1.Items.Add(nil,adoquery1.FieldByName('bookclass_name').asstring);
    adoquery1.Next;
  end;
//--------------初始化COMBOBOX---------
  ADOQuery1.Close;
  ADOQuery1.SQL.Clear;
  ADOQuery1.SQL.Add('select bookclass_name from tab_bookclassinfo');
  ADOQuery1.Open;
  combobox1.Items.Clear;
  for i:=0 to (adoquery1.RecordCount-1) do
  begin
    Combobox1.Items.Add(ADOQuery1.FieldValues['bookclass_name']);
    ADOQuery1.Next;
  end;
  ADOQuery1.Close;
  ADOQuery1.SQL.Clear;
  ADOQuery1.SQL.Add('select book_publishname from tab_bookpublish');
  ADOQuery1.Open;
  combobox2.Items.Clear;
  for i:=0 to (adoquery1.RecordCount-1) do
  begin
    Combobox2.Items.Add(ADOQuery1.FieldValues['book_publishname']);
    Combobox7.Items.Add(ADOQuery1.FieldValues['book_publishname']);
    ADOQuery1.Next;
  end;

  adoquery1.Free;
  edit3.Text:=formatdatetime('yyyy/mm/dd',now);
end;

procedure TForm1.N20Click(Sender: TObject);
begin
  form6.Panel1.Visible := true;
  form6.Panel2.Visible := false;
  form6.Panel3.Visible := false;
  form6.Caption:='创建系统新用户';
  form6.clear_checkbox;
  form6.Button9.Enabled:=false;
  form6.ShowModal;
end;

procedure TForm1.N21Click(Sender: TObject);
begin
  form6.Panel1.Visible := false;
  form6.Panel2.Visible := true;
  form6.Panel3.Visible := false;
  form6.Caption:='修改系统用户';
  form6.clear_checkbox;
  form6.Button9.Enabled:=false;
  form6.ShowModal;
end;

procedure TForm1.N22Click(Sender: TObject);
begin
  form6.Panel1.Visible := false;
  form6.Panel2.Visible := false;
  form6.Panel3.Visible := true;
  form6.Caption:='删除系统用户';
  form6.clear_checkbox;
  form6.Button9.Enabled:=false;
  form6.ShowModal;
end;

procedure TForm1.N2Click(Sender: TObject);
begin
  form4.Edit1.Text:='';
  form4.Edit2.Text:='';
  form4.ShowModal;
end;

procedure TForm1.TreeView1Click(Sender: TObject);
var
  ADOQuery:TADOQuery;
begin
  ADOQuery:=TADOQuery.Create(self);
  ADOQuery.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+
                              extractfilepath(application.ExeName)+
                              'DATA\db_booksys.mdb;Persist Security Info=False';   //连接字符串
  if  TreeView1.Selected.Owner <> nil then
  begin
    AdoQuery.Close;
    AdoQuery.SQL.Clear;
    AdoQuery.SQL.Add('select bookclass_id from tab_bookclassinfo where bookclass_name=:A');
    AdoQuery.Parameters.ParamByName('A').Value:=TreeView1.Selected.Text; //得到当前所选的内容
    AdoQuery.Open;             //从书籍类别表中选择类别编号
    //TreeView1.Selected.Parent.Text;   //得到上一级内容
    ADOQuery2.Close;
    ADOQuery2.SQL.Clear;
    ADOQuery2.SQL.Add('select * from tab_bookinfo where book_classid=:S');
    ADOQuery2.Parameters.ParamByName('S').Value:=AdoQuery.FieldValues['bookclass_id'];
    ADOQuery2.Open;   //以上一个类别编号选择图书
    DBGrid1.DataSource:=dataSource2;
    DBGrid1.Columns.Items[0].FieldName:='book_id';
    DBGrid1.Columns.Items[1].FieldName:='book_name';
    DBGrid1.Columns.Items[2].FieldName:='book_writer';
    DBGrid1.Columns.Items[3].FieldName:='book_pub_times';
    DBGrid1.Columns.Items[4].FieldName:='book_information';
  end;
  ADOQuery.Free;
end;

procedure TForm1.SpeedButton2Click(Sender: TObject);
var
  Pic:TPicture;     //BMP图片类
begin
  if int_human<1 then
  begin
    MessageDlg('无权使用!!',mtWarning, [mbYes],0);
    exit;
  end;     
  pic:=TPicture.Create;
  pic.LoadFromFile(extractfilepath(application.ExeName)+'RES\bmp2.bmp');
  image1.Picture:=nil;
  image1.Picture.Assign(pic);
  CheckBox1.Checked:=true;
  PageControl1.ActivePageIndex:=2;
  button2.Enabled:=true;
  button1.Enabled:=false;
  edit1.Text:='';
  edit2.Text:='';
  edit4.Text:='';
  edit3.Text:=formatdatetime('yyyy/mm/dd', now);
  pic.Free;
end;

procedure TForm1.SpeedButton1Click(Sender: TObject);
var
  Pic:TPicture;     //BMP图片类
begin
  if int_human<1 then
  begin
    MessageDlg('无权使用!!',mtWarning, [mbYes],0);
    exit;
  end;
  Pic:=TPicture.Create;
  pic.LoadFromFile(extractfilepath(application.ExeName)+'RES\bmp1.bmp');
  image1.Picture:=nil;
  image1.Picture.Assign(pic.Bitmap);
  CheckBox1.Checked:=false;
  PageControl1.ActivePageIndex:=2;
  button2.Enabled:=false;
  button1.Enabled:=true;
  edit1.Text:='';
  edit2.Text:='';
  edit4.Text:='';
  edit3.Text:=formatdatetime('yyyy/mm/dd', now);
  pic.Free;
end;
//借书操作
procedure TForm1.Button1Click(Sender: TObject);
var
  ADOQuery:TADOQuery;
begin
  ADOQuery:=TADOQuery.Create(self);
  ADOQuery.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+
                              extractfilepath(application.ExeName)+
                              'DATA\db_booksys.mdb;Persist Security Info=False';   //连接字符串
  if (edit1.Text='') or (edit2.Text='') then
  begin
    MessageDlg('书证编号或图书编号不能为空!!', mtInformation, [mbYes],0);
    ADOQuery.Free;
    exit;
  end;
  ADOQuery.Close;
  ADOQuery.SQL.Clear;

⌨️ 快捷键说明

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