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

📄 newbook.pas

📁 蛮不错的图书管理系统,大家可以载着试试看啊
💻 PAS
字号:
unit newbook;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Buttons, ComCtrls, jpeg, ExtCtrls, DB, DBTables, Mask;

type
  Tnewfrm = class(TForm)
    Panel1: TPanel;
    Image1: TImage;
    Panel2: TPanel;
    Label1: TLabel;
    namee: TEdit;
    Label2: TLabel;
    typee: TComboBox;
    Label3: TLabel;
    noe: TEdit;
    authore: TEdit;
    Label4: TLabel;
    Label5: TLabel;
    publishe: TEdit;
    Label6: TLabel;
    datee: TDateTimePicker;
    Label7: TLabel;
    idatee: TEdit;
    Label8: TLabel;
    borrowe: TEdit;
    memo1: TMemo;
    GroupBox1: TGroupBox;
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    BitBtn3: TBitBtn;
    Label9: TLabel;
    Label10: TLabel;
    Query1: TQuery;
    DataSource1: TDataSource;
    Label11: TLabel;
    c1: TComboBox;
    m1: TMaskEdit;
    procedure BitBtn1Click(Sender: TObject);
    procedure typeeChange(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
    procedure BitBtn3Click(Sender: TObject);
  private
    { Private declarations }
    procedure autono(const style: string);
    function  nextbookno(const str:string):string;
    procedure inbook;
  public
    { Public declarations }

  end;

var
  newfrm: Tnewfrm;
  tag:integer;
  bookname:string;

implementation

{$R *.dfm}

procedure Tnewfrm.autono(const style:string);
var s,s1:string;
    i:integer;

begin
   query1.sql.clear;
   query1.SQL.Add('select 图书编号 from book_info where 类别='''+style+''''+' order by 图书编号');
   query1.Open;
   query1.Last;
   s:=query1.fieldbyname('图书编号').AsString;
   bookname:=s;
   query1.Close;
   //query1.Free;
   for i:=1 to length(s) do
   begin
      if s[i]='b' then tag:=i;
   end ;
   s1:=copy(s,1,tag-1);
  // s2:=copy(s,tag,length(s)-tag+1);
   s1:=nextbookno(s1);
   //s2:=nextbookno(s2);
   noe.Text:=s1;
  // noe.Text:=s1+s2;
end;

function  Tnewfrm.nextbookno(const str:string):string;
var s,s1:string;
    i,j,k:integer;
begin
     s:=str;
     s1:=copy(s,1,1);
     delete(s,1,1);
     i:=length(s);
     j:=length(inttostr(strtoint(s)));
     for k:=1 to i-j do s1:=s1+'0';
     result:=s1+inttostr(strtoint(s)+1);

end;

procedure Tnewfrm.BitBtn1Click(Sender: TObject);
begin
  FormShow(self);
end;

procedure Tnewfrm.typeeChange(Sender: TObject);
begin
 autono(typee.Text);
end;

procedure Tnewfrm.FormCreate(Sender: TObject);
begin
    idatee.Text:=datetostr(date);
end;

procedure Tnewfrm.FormShow(Sender: TObject);
begin
  //autono(typee.Text);
  namee.Clear;
  authore.Clear;
  publishe.Clear;
  m1.Clear;
  memo1.lines.Clear;
  namee.SetFocus;
end;

procedure Tnewfrm.BitBtn2Click(Sender: TObject);
var i,j:integer;
     s,s1:string;
begin
  if messagedlg('确定入库吗?',mtconfirmation,[mbyes,mbno],0)=mryes then
     begin
     i:=strtoint(c1.Items[c1.itemindex]);
     //s:=copy(bookname,1,tag-1);
     s:=noe.Text;
     s1:=copy(bookname,tag,length(bookname)-tag+1);
      for j:=1 to i do
         begin
          if j<>1 then s1:=nextbookno(s1);
          bookname:=s+s1;

          inbook;
          end;
      messagedlg('新书'+namee.text+'已经成功入库!',mtconfirmation,[mbyes],0);
      newfrm.FormShow(self);
     end;
end;

procedure  Tnewfrm.inbook;
begin
  query1.sql.Clear;
  query1.Sql.Add('insert into book_info (图书编号,书名,作者,出版社,出版时间,书价,类别,备注,入库时间,借阅次数) values(:b_no,:b_name,:b_author,:b_publisher,:b_ptime,:b_price,:b_type,:b_memo,:b_idate,:b_btime)');
  query1.ParamByName('b_no').AsString:=bookname;
  query1.ParamByName('b_name').AsString:=namee.Text;
  query1.ParamByName('b_author').AsString:=authore.Text;
  query1.ParamByName('b_publisher').AsString:=publishe.Text;
  query1.ParamByName('b_ptime').AsDatetime:=datee.Datetime;
  query1.ParamByName('b_type').AsString:=typee.Text;
  query1.ParamByName('b_memo').AsString:=memo1.Lines.GetText;
  query1.ParamByName('b_price').AsFloat:=strtofloat(m1.text);
  query1.ParamByName('b_btime').AsInteger:=strtoint(borrowe.Text);
  query1.ParamByName('b_idate').AsDatetime:=strtodate(idatee.Text);
  query1.ExecSQL;

  query1.close;
  //query1.free;

end;

procedure Tnewfrm.BitBtn3Click(Sender: TObject);
begin
close;
end;

end.

⌨️ 快捷键说明

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