delrec.pas
来自「好多上载非界面和非WEB源码」· PAS 代码 · 共 209 行
PAS
209 行
unit delrec;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, ComCtrls, ExtCtrls,dbtables;
type
Tdelfrm = class(TForm)
page1: TPageControl;
ts1: TTabSheet;
ts2: TTabSheet;
Panel1: TPanel;
Panel2: TPanel;
Panel3: TPanel;
r1: TRadioButton;
Label1: TLabel;
Edit1: TEdit;
r2: TRadioButton;
ListView1: TListView;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
Label2: TLabel;
Panel4: TPanel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Edit2: TEdit;
Edit3: TEdit;
Edit4: TEdit;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
ListView2: TListView;
procedure r1Click(Sender: TObject);
procedure r2Click(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure ts1Show(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure ts2Show(Sender: TObject);
private
function checkbookno(b_no:string) :boolean;
procedure delbook(b_no:string);
procedure listallbooks;
procedure booksumup;
{ Private declarations }
public
{ Public declarations }
end;
var
delfrm: Tdelfrm;
result: boolean;
implementation
uses global;
{$R *.dfm}
procedure Tdelfrm.r1Click(Sender: TObject);
begin
if r1.Checked then
begin
edit1.Enabled:=true;
edit1.Color:=clwindow;
r2.Checked:=false;
listview1.Enabled:=false;
listview1.Color:=clbtnface;
end;
end;
procedure Tdelfrm.r2Click(Sender: TObject);
begin
if r2.Checked then
begin
r1.Checked:=false;
edit1.Enabled:=false;
edit1.Color:=clinfobk;
listview1.Enabled:=true;
listview1.Color:=clwindow;
end;
end;
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.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.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.BitBtn1Click(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);
edit1.Clear;
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.ts1Show(Sender: TObject);
begin
listallbooks;
end;
procedure Tdelfrm.BitBtn2Click(Sender: TObject);
begin
close;
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(q.fieldbyname('藏书总数').AsString);
end;
q.Next;
end;
q.Close;
q.Free;
end;
procedure Tdelfrm.ts2Show(Sender: TObject);
begin
booksumup;
end;
end.
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?