📄 delrec.pas
字号:
unit delrec;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, StdCtrls, ExtCtrls, Buttons,dbtables;
type
Tdelfrm = class(TForm)
PageControl1: TPageControl;
TabSheet1: TTabSheet;
TabSheet2: TTabSheet;
BitBtn1: TBitBtn;
GroupBox1: TGroupBox;
r1: TRadioButton;
r2: TRadioButton;
Bevel1: TBevel;
Label1: TLabel;
Edit1: TEdit;
ListView1: TListView;
BitBtn2: TBitBtn;
Label2: TLabel;
GroupBox2: TGroupBox;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Edit2: TEdit;
Edit3: TEdit;
Edit4: TEdit;
Label7: TLabel;
Label8: TLabel;
Label6: TLabel;
Bevel2: TBevel;
ListView2: TListView;
procedure BitBtn1Click(Sender: TObject);
procedure r1Click(Sender: TObject);
procedure r2Click(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure TabSheet2Show(Sender: TObject);
private
{ Private declarations }
function checkbookno(b_no:string):boolean;//检查图书是否存在
procedure listallbooks;//显示所有图书
procedure delbook(b_no:string);//删除图书
procedure booksumup;
public
{ Public declarations }
end;
var
delfrm: Tdelfrm;
implementation
uses main,global,newbook;
{$R *.dfm}
function Tdelfrm.checkbookno(b_no:string):boolean;
var t:Ttable;
begin
t:=Ttable.Create(nil);
t.DatabaseName :=dbname ;
t.TableName :='book_info.db';
t.Open;
t.SetKey ;
t.FieldByName('图书编号').AsString :=b_no ;
if t.GotoKey then result:=true else result:=false;
t.Close;
t.Free ;
end;
procedure tdelfrm.listallbooks ;
var q:tquery;
begin
q:=tquery.Create(nil);
q.DatabaseName :=dbname ;
q.SQL.Add('select * from book_info');
q.Open;
listview1.Items.Clear ;
while not q.Eof do
begin
with listview1.Items.Add do
begin
caption:=q.fieldbyname('图书编号').AsString ;
subitems.Add(q.fieldbyname('书名').AsString);
subitems.Add(q.fieldbyname('作者').AsString);
subitems.Add(q.fieldbyname('出版社').AsString);
subitems.Add(datetostr(q.fieldbyname('出版时间').AsDateTime));
subitems.Add(q.fieldbyname('类别').AsString);
if isborrowed(caption) then subitems.Add('是') else subitems.Add('否');
end;
q.Next ;
end;
label2.Caption :='共'+inttostr(listview1.Items.Count)+'本';
q.Close;
q.Free;
end;
procedure tdelfrm.delbook(b_no:string);
var q:tquery;
begin
q:=tquery.Create(nil);
q.DatabaseName :=dbname ;
q.SQL.Add('delete from book_info where 图书编号=:book_no');
q.ParamByName('book_no').AsString :=b_no;
q.ExecSQL ;
messagedlg('成功删除!',mtinformation,[mbYes],0);
q.Close;
q.Free;
end;
procedure tdelfrm.booksumup ;
var q:tquery;
begin
q:=tquery.Create(nil);
q.DatabaseName :=dbname ;
q.SQL.Add('select * from book_info');
q.open ;
edit2.Text :=inttostr(q.RecordCount);
q.Close ;
q.SQL.Clear ;
q.SQL.Add('select * from borrow_info');
q.open ;
edit3.Text :=inttostr(q.RecordCount);
edit4.Text :=inttostr(strtoint(edit2.Text)-strtoint(edit3.Text));
q.Close;
q.SQL.Clear ;
q.SQL.Add('select 类别,count(类别) as 藏书总数 from book_info group by 类别');
q.Open ;
listview2.Items.Clear ;
while not q.Eof do
begin
with listview2.Items.Add do
begin
caption:=q.fieldbyname('类别').AsString ;
subitems.Add(inttostr(q.fieldbyname('藏书总数').AsInteger));
end;
q.Next ;
end;
q.Close;
q.Free ;
end;
procedure Tdelfrm.BitBtn1Click(Sender: TObject);
begin
close;
end;
procedure Tdelfrm.r1Click(Sender: TObject);
begin
if r1.Checked then
begin
edit1.Enabled :=true;
edit1.Color :=clwindow;
listview1.Enabled :=false;
listview1.Color :=clbtnface;
end;
end;
procedure Tdelfrm.r2Click(Sender: TObject);
begin
if r2.Checked then
begin
edit1.Enabled :=false;
edit1.Color :=clinfobk;
listview1.Enabled :=true;
listview1.Color :=clwindow;
end;
end;
procedure Tdelfrm.FormShow(Sender: TObject);
begin
listallbooks;
end;
procedure Tdelfrm.BitBtn2Click(Sender: TObject);
var b_no:string;
ch:integer;
begin
if r1.Checked then
if checkbookno(edit1.Text) then b_no:=edit1.Text
else
begin
messagedlg('图书不存在!',mtError,[mbYes],0);
exit;
end;
if r2.Checked then
if listview1.Selected=nil then exit
else b_no:=listview1.Selected.Caption ;
if isborrowed(b_no)then
begin
messagedlg('该图书处于借出状态,不能删除!',mtWarning,[mbYes],0);
exit;
end;
ch:=messagedlg('确认删除图书吗?',mtconfirmation,[mbYes,mbNo],0);
if ch=mrNo then exit;
delbook(b_no);
listallbooks;//更新列表
end;
procedure Tdelfrm.TabSheet2Show(Sender: TObject);
begin
booksumup;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -