📄 readereditfrm.pas
字号:
unit readereditfrm;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, editchildfrm, StdCtrls, Buttons, ExtCtrls, DBCtrls, Mask, Grids,
DBGrids, Menus;
type
TReaderEditForm = class(TEditChildForm)
Label1: TLabel;
DBEdit1: TDBEdit;
Label2: TLabel;
DBEdit2: TDBEdit;
Label3: TLabel;
DBEdit3: TDBEdit;
Label4: TLabel;
DBEdit4: TDBEdit;
Label5: TLabel;
DBEdit5: TDBEdit;
Label6: TLabel;
DBImage1: TDBImage;
DBGreader: TDBGrid;
procedure FormDestroy(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure BBinsertClick(Sender: TObject);
procedure BBeditClick(Sender: TObject);
procedure BBdeleteClick(Sender: TObject);
procedure BBsaveClick(Sender: TObject);
procedure BBfirstClick(Sender: TObject);
procedure BBpriorClick(Sender: TObject);
procedure BBnextClick(Sender: TObject);
procedure BBlastClick(Sender: TObject);
procedure BBcancelClick(Sender: TObject);
procedure DBEdit1KeyPress(Sender: TObject; var Key: Char);
procedure DBEdit3KeyPress(Sender: TObject; var Key: Char);
procedure DBEdit5Exit(Sender: TObject);
procedure BBsearchClick(Sender: TObject);
private
{ Private declarations }
public
procedure seteditReadonly;
procedure SetRNavButtons;
{ Public declarations }
end;
var
ReaderEditForm: TReaderEditForm;
implementation
uses dmfrm, searchfrm;
{$R *.dfm}
var
tmpreaderid:string;
tmpworkno:string;
procedure TReaderEditForm.FormDestroy(Sender: TObject);
begin
inherited;
ReaderEditForm:=nil;
end;
procedure TReaderEditForm.FormShow(Sender: TObject);
begin
inherited;
dmbook.closereader;
dmbook.openreader;
dmbook.readerfirst;
FormMode:=fmBrowse;
seteditReadonly;
end;
procedure TReaderEditForm.BBinsertClick(Sender: TObject);
begin
inherited;
DBGreader.Enabled:=false;
seteditReadonly;
dmbook.readerinsert;
DBEdit1.SetFocus;
end;
procedure TReaderEditForm.BBeditClick(Sender: TObject);
begin
inherited;
if dmbook.getborrowedbook(DBEdit1.Text)<>emptystr then
begin
messagedlg('不能修改这个读者记录,该读者借有书!'+#13#10
+'如果修改了,有可能造成借书记录与读者库不对应!',mtWarning,[mbOK],0);
BBcancelClick(Sender); //回到浏览状态
exit;
end;
DBGreader.Enabled:=false;
seteditReadonly;
dmbook.readeredit;
tmpreaderid:=DBEdit1.Text;
tmpworkno:=DBEdit2.Text;
DBEdit1.SetFocus;
end;
procedure TReaderEditForm.BBdeleteClick(Sender: TObject);
begin
inherited;
if dmbook.getborrowedbook(DBEdit1.Text)<>emptystr then
begin
messagedlg('不能删除这个读者记录,该读者借有书!',mtWarning,[mbOK],0);
exit;
end;
if bookConfirmation('你要删除这个读者记录吗?')=mrYes then
begin
dmbook.readerdelete;
dmbook.readeraccept;
end;
end;
procedure TReaderEditForm.BBsaveClick(Sender: TObject);
begin
if DBEdit1.Text=Emptystr then
begin
bookInformation('请输入借书证号!');
DBEdit1.SetFocus;
exit;
end;
if DBEdit2.Text=Emptystr then
begin
bookInformation('请输入工号!');
DBEdit2.SetFocus;
exit;
end;
if DBEdit3.Text=Emptystr then
begin
bookInformation('请输入姓名!');
DBEdit3.SetFocus;
exit;
end;
if DBEdit4.Text=Emptystr then
begin
bookInformation('请输入单位!');
DBEdit4.SetFocus;
exit;
end;
if DBEdit5.Text=' - - ' then
begin
bookInformation('请输入办证日期!');
DBEdit5.SetFocus;
exit;
end;
if FormMode=fmEdit then
begin
if DBEdit1.text<>tmpreaderid then
if dmbook.ReaderISexists(DBEdit1.text,'0') then
begin
bookInformation('该证号在数据库中已经存在!'+#13+'请重新编号。');
DBEdit1.SetFocus;
exit;
end;
if DBEdit2.text<>tmpworkno then
if dmbook.ReaderISexists(DBEdit1.text,DBEdit2.text) then
begin
bookInformation('他已经办了借书证!');
DBEdit2.SetFocus;
exit;
end;
end
else begin
if dmbook.ReaderISexists(DBEdit1.text,'0') then
begin
bookInformation('该证号在数据库中已经存在!'+#13+'请重新编号。');
DBEdit1.SetFocus;
exit;
end;
if dmbook.ReaderISexists(DBEdit1.text,DBEdit2.text) then
begin
bookInformation('他已经办了借书证!');
DBEdit2.SetFocus;
exit;
end;
end;
inherited;
DBGreader.Enabled:=true;
seteditReadonly;
dmbook.readeraccept;
end;
procedure TReaderEditForm.seteditReadonly;
procedure setBrowseBdedit;
begin
DBEdit1.ReadOnly:=true;
DBEdit2.ReadOnly:=true;
DBEdit3.ReadOnly:=true;
DBEdit4.ReadOnly:=true;
DBEdit5.ReadOnly:=true;
DBImage1.ReadOnly:=true;
end;
procedure setinsertBdedit;
begin
DBEdit1.ReadOnly:=false;
DBEdit2.ReadOnly:=false;
DBEdit3.ReadOnly:=false;
DBEdit4.ReadOnly:=false;
DBEdit5.ReadOnly:=false;
DBImage1.ReadOnly:=true;
end;
begin
case readereditform.FormMode of
fmBrowse:setBrowseBdedit;
fmInsert:setinsertBdedit;
fmEdit:setinsertBdedit;
end;
end;
procedure TReaderEditForm.BBfirstClick(Sender: TObject);
begin
inherited;
dmbook.readerfirst;
SetRNavButtons;
end;
procedure TReaderEditForm.BBpriorClick(Sender: TObject);
begin
inherited;
dmbook.readerprior;
SetRNavButtons;
end;
procedure TReaderEditForm.BBnextClick(Sender: TObject);
begin
inherited;
dmbook.readernext;
SetRNavButtons;
end;
procedure TReaderEditForm.BBlastClick(Sender: TObject);
begin
inherited;
dmbook.readerlast;
SetRNavButtons;
end;
procedure TReaderEditForm.BBcancelClick(Sender: TObject);
begin
inherited;
dmbook.readercancel;
DBGreader.Enabled:=true;
seteditReadonly;
end;
procedure TReaderEditForm.SetRNavButtons;
begin
bbFirst.Enabled := not dmbook.IsFirst('reader');
bbLast.Enabled := not dmbook.IsLast('reader');
bbPrior.Enabled := not dmbook.IsFirst('reader');
bbNext.Enabled := not dmbook.IsLast('reader');
end;
procedure TReaderEditForm.DBEdit1KeyPress(Sender: TObject; var Key: Char);
begin
inherited;
if key=#13 then begin
if TDBEdit(sender)=DBEdit1 then DBEdit2.SetFocus;
if TDBEdit(sender)=DBEdit2 then DBEdit3.SetFocus;
exit;
end;
if not (key in ['0'..'9','.',#8]) then
begin
key:=#0;
beep;
end;
end;
procedure TReaderEditForm.DBEdit3KeyPress(Sender: TObject; var Key: Char);
begin
inherited;
if key=#13 then
begin
if TDBEdit(sender)=DBEdit3 then DBEdit4.SetFocus;
if TDBEdit(sender)=DBEdit4 then DBEdit5.SetFocus;
if TDBEdit(sender)=DBEdit5 then DBImage1.SetFocus;
end;
end;
procedure TReaderEditForm.DBEdit5Exit(Sender: TObject);
begin
inherited;
if DBEdit5.Text=emptystr then DBEdit5.Text:=datetostr(now);
end;
procedure TReaderEditForm.BBsearchClick(Sender: TObject);
begin
inherited;
if not assigned(searchform) then
searchform:=tsearchform.create(self);
try
if searchform.ShowModal=mrOk then
begin
try
if not dmbook.readerfind('reader_id',searchform.Edfind.text) then
bookInformation('没有找到!');
except
end;
end;
finally
searchform.Free;
searchform:=nil;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -