📄 bookinunit.pas
字号:
unit BookInUnit;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, ADODB, StdCtrls, Buttons, Mask;
type
TfrmBookIn = class(TForm)
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Label9: TLabel;
Label10: TLabel;
Label11: TLabel;
Label12: TLabel;
Label13: TLabel;
Label14: TLabel;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Edit4: TEdit;
MaskEdit1: TMaskEdit;
ComboBox1: TComboBox;
Edit5: TEdit;
Edit6: TEdit;
Edit7: TEdit;
Edit8: TEdit;
Edit9: TEdit;
Edit10: TEdit;
MaskEdit2: TMaskEdit;
Edit11: TEdit;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
Label15: TLabel;
MaskEdit3: TMaskEdit;
procedure FormCreate(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure MaskEdit3Exit(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure Edit7Exit(Sender: TObject);
private
procedure initializtionfrm();
public
{ Public declarations }
end;
var
frmBookIn: TfrmBookIn;
Dep,Book:TADOTable;
BookIn:TADOStoredProc;
ISExists:boolean;
implementation
uses DataModuleUnit, MainUnit;
{$R *.dfm}
//清空输入的数据
procedure TfrmBookIn.initializtionfrm();
var
i:integer;
begin
for i:=0 to self.ComponentCount-1 do
begin
if self.Components[i] is TEdit then
(self.Components[i] as TEdit).Text:='' //清空Edit内容
else
if self.Components[i] is TMaskEdit then
(self.Components[i] as TMaskEdit).Text:=''//清空MaskEdit内容
else
if self.Components[i] is TCheckBox then
(self.Components[i] as TCheckBox).Checked:=false//清空CheckBox内容
else
if self.Components[i] is TCombobox then
(self.Components[i] as TCombobox).Text:='';//清空Combobox内容
end;
end;
procedure TfrmBookIn.FormCreate(Sender: TObject);
var
i:integer;
begin
//初始化存储过程
BookIn:=TADOStoredProc.Create(nil);
With BookIn do
begin
Connection:=frmDataModule.Connection;
end;
//初始化教材表
Book:=TADOTable.Create(nil);//教材表
with Book do
begin
Connection:=frmDataModule.Connection;
TableName:='Books';
Active:=true;
end;
Dep:=TADOTable.Create(nil); //班级表
with Dep do
begin
Connection:=frmDataModule.Connection;
TableName:='Departments';
Active:=true;
combobox1.Items.Add('请选择订书单位!');
for i:=0 to RecordCount-1 do
begin
comboBox1.Items.Add(Fields[0].Value);
Next;
end;
close;
Dep.Free;
Combobox1.ItemIndex:=0;
end;
end;
procedure TfrmBookIn.BitBtn2Click(Sender: TObject);
begin
close;
end;
//查询是输入的ISBN号是否存在
procedure TfrmBookIn.MaskEdit3Exit(Sender: TObject);
begin
with Book do
begin
ISExists:=Locate('ISBN',MaskEdit3.Text,[loCaseInsensitive]);
if ISExists then
begin
Edit1.Text:=FieldByName('BookName').Value;
Edit2.Text:=FieldByName('press').Value; //出版社
Edit3.Text:=FieldByName('Author').Value;//作者
Edit4.Text:=FieldByName('Price').Value;//单价
MaskEdit1.Text:=FieldByName('PublishDate').Value;//出版日期
Combobox1.Text:=FieldByName('OrderDepartmentName').Value;//订书单位
Edit5.Text:=FieldByName('Handler').Value;//经办人
Edit6.Text:=FieldByName('BookAmount').Value;//原有数量
//Edit7.Text:=FieldByName('press').Value; //本次数量
//Edit8.Text:=FieldByName('press').Value; //总数量
Edit9.Text:=FieldByName('Award').Value; //获奖情况
Edit10.Text:=FieldByName('UsingWay').Value;//使用说明
MaskEdit2.Text:=FormatDateTime('yyyy-mm-dd',FieldByName('EnterDate').Value);//FormatDateTime('YYYY-MM-DD',FieldByName('EnterDate').Value);//入库日期
Edit11.Text:=FieldByName('About').Value;//说明
end
else
begin
Combobox1.ItemIndex:=0;
Edit5.Text:=frmMain.OperatorInfo.OperatorName; //经办人
Edit6.Text:='0';//原有数量
MaskEdit2.Text:=DateTimetostr(now);//入库日期
Edit11.Text:='-'; //说明
Edit10.Text:='学生教材';//使用说明
end;
//S := FormatDateTime('"The meeting is on " dddd, mmmm d, yyyy, " at " hh:mm AM/PM', Now + 0.125);
end;
end;
//添加或修改教材信息
procedure TfrmBookIn.BitBtn1Click(Sender: TObject);
begin
//检查本次数量的合法性
if (strtoIntDef(Edit7.Text,0)<=0) then
begin
Application.MessageBox('"本次数量有误",请重新输入!','出错提示',mb_ok);
Edit7.SetFocus;
abort;
end;
//检查是否选择了订书单位
if Combobox1.ItemIndex=0 then
begin
Application.MessageBox('请选择"订书单位"!','出错提示',mb_ok);
Combobox1.SetFocus;
abort;
end;
with BookIn do
begin
Parameters.Clear;
//Parameters.CreateParameter('@ISBN_2',ftstring,pdinput,13,MaskEdit3.Text);
//Parameters.CreateParameter('@BookAmount_2',ftinteger,pdinput,4,StrToInt(Edit8.Text));
if not ISExists then
begin
ProcedureName:='insert_Books_1';
Parameters.CreateParameter('@ISBN_2',ftstring,pdinput,13,MaskEdit3.Text);
Parameters.CreateParameter('@bookName_1',ftstring,pdinput,50,MaskEdit3.Text);
Parameters.CreateParameter('@Press_2',ftString,pdinput,50,Edit1.Text);
Parameters.CreateParameter('@Author_3',ftstring,pdinput,8,Edit3.Text);
Parameters.CreateParameter('@Award_4',ftstring,pdinput,50,Edit9.Text);
Parameters.CreateParameter('@publishDate_5',ftDateTime,pdinput,8,MaskEdit1.Text);
Parameters.CreateParameter('@OrderDepartmentName_6',ftstring,pdinput,20,Combobox1.Text);
Parameters.CreateParameter('@handler_7',ftstring,pdinput,8,Edit5.Text);
Parameters.CreateParameter('@BookAmount_2',ftinteger,pdinput,4,Strtoint(Edit8.Text));
Parameters.CreateParameter('@Price_9',ftfloat,pdinput,4,StrTofloat(Edit4.Text));
Parameters.CreateParameter('@UsingWay_10',ftstring,pdinput,50,Edit10.Text);
Parameters.CreateParameter('@About_12',ftstring,pdinput,50,Edit11.Text);
Parameters.CreateParameter('@OperatorID_13',ftstring,pdinput,8,frmMain.OperatorInfo.OperatorID);
end
else
begin
ProcedureName:='update_Books_1';
Parameters.CreateParameter('@ISBN_2',ftstring,pdinput,13,MaskEdit3.Text);
Parameters.CreateParameter('@BookAmount_2',ftinteger,pdinput,4,StrToInt(Edit8.Text));
end;
try
ExecProc;
Application.MessageBox('教材信息添加成功!','提示',mb_ok);
bitbtn1.Enabled:=false;
self.initializtionfrm;
// MaskEdit3.EditMask:='0\-000\-00000\-A;1;_';
except
Application.MessageBox('教材信息添加失败!','出错提示',mb_ok);
end;
end;
end;
procedure TfrmBookIn.Edit7Exit(Sender: TObject);
var
totalAmount,Amount,NowAmount:integer;
begin
Amount:=StrToIntDef(Edit6.Text,0); //原有数量
if StrToIntDef(Edit7.Text,0)<=0 then
begin
Application.MessageBox('你输入数值有误,或为0!','出错提示',mb_ok);
Edit7.SetFocus;
abort;
end;
NowAmount:=StrToIntDef(Edit7.Text,0); //本次数量
TotalAmount:=Amount+NowAmount;//总数量
Edit8.Text:=IntToStr(TotalAmount);
bitbtn1.Enabled:=true;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -