📄 newbook.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 + -