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

📄 readerinfof.pas

📁 图书管理系统:包括借书、还书、查询、添加、统计等功能。
💻 PAS
字号:
unit readerinfoF;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ADODB, DB, ImgList, Grids, DBGrids, ComCtrls,
  ToolWin, StdCtrls, Buttons, ExtCtrls, DBCtrls, Mask,inheritF;

type
  Treaderinfo = class(Tinherit)
    DBEdit1: TDBEdit;
    DBEdit2: TDBEdit;
    DBEdit3: TDBEdit;
    Label6: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    DBComboBox1: TDBComboBox;
    Label9: TLabel;
    Label10: TLabel;
    ADOQuery2: TADOQuery;
    Label11: TLabel;
    DBEdit4: TDBEdit;
    Label12: TLabel;
    DBComboBox3: TDBComboBox;
    Label13: TLabel;
    Label14: TLabel;
    DBComboBox5: TDBComboBox;
    MonthCalendar1: TMonthCalendar;
    Label15: TLabel;
    Label16: TLabel;
    DBEdit5: TDBEdit;
    Label17: TLabel;
    DBEdit7: TDBEdit;
    Label19: TLabel;
    DBCheckBox1: TDBCheckBox;
    Label20: TLabel;
    DBMemo1: TDBMemo;
    DBComboBox6: TDBComboBox;
    DBComboBox7: TDBComboBox;
    DBEdit8: TDBEdit;
    DBComboBox2: TDBComboBox;
    procedure FormActivate(Sender: TObject);
    procedure DBComboBox5DropDown(Sender: TObject);
    procedure DBComboBox5Exit(Sender: TObject);
    procedure DBComboBox6DropDown(Sender: TObject);
    procedure DBComboBox6Exit(Sender: TObject);
    procedure DBComboBox7Exit(Sender: TObject);
    procedure DBComboBox7DropDown(Sender: TObject);
    procedure MonthCalendar1DblClick(Sender: TObject);
    procedure ToolButton6Click(Sender: TObject);
    procedure DBCheckBox1Click(Sender: TObject);
    procedure ToolButton10Click(Sender: TObject);
    procedure DataSource1DataChange(Sender: TObject; Field: TField);
    procedure ToolButton7Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
    
  end;

var
  readerinfo: Treaderinfo;
  isChecked:integer;

implementation

{$R *.dfm}
uses dataconnect;
//根据读者类型表中的数据更新本窗体中【类型】的下拉列表框
procedure Treaderinfo.FormActivate(Sender: TObject);
var
 name:string;
begin
  inherited;
//获得读者类型表中【类型】字段的信息
adoquery2.Close;
adoquery2.SQL.Clear;
adoquery2.SQL.Add('select distinct 类型 from 读者类型');
adoquery2.Open;
//清空本窗体中的【类型】下拉列表框的内容
dbcombobox2.Items.Clear;
//根据查询到的信息重新添加下拉列表框选项
while not adoquery2.Eof do
 begin
  name:=adoquery2.fieldbyname('类型').AsString;
  dbcombobox2.Items.Add(name);
  adoquery2.Next;
 end;

end;
//根据数据设置显示的日历
procedure Treaderinfo.DBComboBox5DropDown(Sender: TObject);
begin
  inherited;
 monthcalendar1.Date:=strtodate(dbcombobox5.Text);
 monthcalendar1.Top:=dbcombobox5.Top+panel2.Top-monthcalendar1.Height;
 monthcalendar1.Left:=dbcombobox5.Left;
 monthcalendar1.Visible:=true;
end;
//关闭日历显示
procedure Treaderinfo.DBComboBox5Exit(Sender: TObject);
begin
  inherited;
monthcalendar1.Visible:=false;

end;

procedure Treaderinfo.DBComboBox6DropDown(Sender: TObject);
begin
  inherited;
  monthcalendar1.Date:=strtodate(dbcombobox6.Text);
 monthcalendar1.Top:=dbcombobox6.Top+panel2.Top-monthcalendar1.Height;
 monthcalendar1.Left:=dbcombobox6.Left;
 monthcalendar1.Visible:=true;
end;

procedure Treaderinfo.DBComboBox6Exit(Sender: TObject);
begin
  inherited;
  monthcalendar1.Visible:=false;
end;



procedure Treaderinfo.DBComboBox7DropDown(Sender: TObject);
begin
  inherited;
  monthcalendar1.Date:=strtodate(dbcombobox7.Text);
 monthcalendar1.Top:=dbcombobox7.Top+panel2.Top-monthcalendar1.Height;
 monthcalendar1.Left:=dbcombobox7.Left;
 monthcalendar1.Visible:=true;
end;
procedure Treaderinfo.DBComboBox7Exit(Sender: TObject);
begin
  inherited;
  monthcalendar1.Visible:=false;
end;
//双击日历控件时选择日期
procedure Treaderinfo.MonthCalendar1DblClick(Sender: TObject);
begin
  inherited;
  if (panel2.Enabled=true) then
   begin
   //判断是由那个下来列表框调用的日历控件,以便更新其值
     if dbcombobox5.Focused then
      dbcombobox5.Text:=datetostr(monthcalendar1.date);
     if dbcombobox6.Focused then
      dbcombobox6.Text:=datetostr(monthcalendar1.date);
     if dbcombobox6.Focused then
      dbcombobox6.Text:=datetostr(monthcalendar1.date);
   monthcalendar1.Visible:=false;
   end;
end;

procedure Treaderinfo.ToolButton6Click(Sender: TObject);
var
maxnum:integer;
newnum:string;
begin
  inherited;
//将三个显示时间的下拉列表框设置为当前时间
dbcombobox5.Text:=datetostr(date);
dbcombobox6.Text:=datetostr(date);
dbcombobox7.Text:=datetostr(date);
//----------以下是在新增记录时的默认输入值-----------
//标识用户是否选择了【是否挂失】单选框
isChecked:=0;
//自动确定新用户编号
adoquery2.Close;
adoquery2.SQL.Clear;
adoquery2.SQL.Add('select max(编号) 最大编号 from 读者信息');
adoquery2.Open;
maxnum:=adoquery2.FieldByName('最大编号').AsInteger;
maxnum:=maxnum+1;
newnum:=inttostr(maxnum);
if length(newnum)=1 then
 dbedit2.Text:='000'+newnum;
if length(newnum)=2 then
 dbedit2.Text:='00'+newnum;
if length(newnum)=3 then
 dbedit2.Text:='0'+newnum;
//确定默认的类型
dbcombobox2.SelText:=dbcombobox2.Items.Strings[0];



end;

procedure Treaderinfo.DBCheckBox1Click(Sender: TObject);
begin
  inherited;
isChecked:=(isChecked)or(1);//表示已经选择了是否挂失
end;

procedure Treaderinfo.ToolButton10Click(Sender: TObject);
begin
 if isChecked=0 then
  begin
   showmessage('未选择是否挂失,请重新选择');
   exit;
  end;
  inherited;
  ischecked:=0;

end;

procedure Treaderinfo.DataSource1DataChange(Sender: TObject; Field: TField);
begin
  inherited;
  //设置表格的长宽
  dbgrid1.Columns[0].Width:=96;
  dbgrid1.Columns[1].Width:=48;
  dbgrid1.Columns[2].Width:=48;
  dbgrid1.Columns[3].Width:=32;
  dbgrid1.Columns[4].Width:=64;
  dbgrid1.Columns[5].Width:=64;
  dbgrid1.Columns[6].Width:=64;
  dbgrid1.Columns[7].Width:=80;
  dbgrid1.Columns[8].Width:=80;
  dbgrid1.Columns[9].Width:=80;
  dbgrid1.Columns[10].Width:=80;
  dbgrid1.Columns[11].Width:=80;
  dbgrid1.Columns[12].Width:=64;
  dbgrid1.Columns[13].Width:=64;
  dbgrid1.Columns[14].Width:=64;



end;

procedure Treaderinfo.ToolButton7Click(Sender: TObject);
begin
  inherited;
  //不需要判断是否选择挂失
  ischecked:=1;

end;

end.

⌨️ 快捷键说明

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