t7.ReadOnly:=false;Edit7.Text:=‘‘;Edit7.Color:=clWindow; Edit8.ReadOnly:=false;Edit8.Text:=‘‘;Edit8.Color:=clWindow; Edit9.ReadOnly:=false;Edit9.Text:=‘‘;Edit9.Color:=clWindow; Edit10.ReadOnly:=false;Edit10.Text:=‘‘;Edit10.Color:=clWindow; Edit11.ReadOnly:=false;Edit11.Text:=‘‘;Edit11.Color:=clWindow; Edit12.ReadOnly:=false;Edit12.Text:=‘‘;Edit12.Color:=clMenu; Edit25.ReadOnly:=false;Edit25.Text:=‘‘;Edit25.Color:=clWindow; end; procedure Tinoutform.SpeedButton22Click(Sender: TObject); var s:integer; begin file://出库管理确定按钮事件 if (Edit24.Text=‘‘) or (Edit27.Text=‘‘) or (Edit28.Text=‘‘) then begin MessageDlg(‘请输入完整的出库信息!‘,mtInformation,[mbok],0); Edit24.SetFocus; end else begin if Edit27.Text>Edit21.Text file://检查出库数量是否小于库存数量 then begin MessageDlg(‘库存中的图书数量不够!‘,mtInformation,[mbok],0); Edit27.Text:=‘‘;Edit27.SetFocus; end else begin with datamoduleform.OutQuery do begin close; SQL.Clear; SQL.Add(‘insert into OutRecord values(:OutID,:BookID,:EmpID, :Number,:OutTime)‘); file://添加出库记录 Parameters.ParamByName(‘OutID‘).Value:=Edit23.Text; Parameters.ParamByName(‘BookID‘).Value:=Edit14.Text; Parameters.ParamByName(‘EmpID‘).Value:=Edit24.Text; Parameters.ParamByName(‘Number‘).Value:=Edit27.Text; Parameters.ParamByName(‘OutTime‘).Value:=Edit28.Text; execSQL; end; Edit21.ReadOnly:=False; s:=StrToInt(Edit21.Text)-StrToInt(Edit27.Text); file://计算出库后库存图书数量 Edit21.Text:=IntToStr(s); file://显示出库后库存图书数量 Edit21.ReadOnly:=True; with datamoduleform.BookQuery do begin file://修改库存图书数量 close; SQL.Clear; SQL.Add(‘update BookRecord set Number1=:Number where BookID=:BookID‘); Parameters.ParamByName(‘Number‘).Value:=s; Parameters.ParamByName(‘BookID‘).Value:=Edit14.Text; execSQL; end; MessageDlg(‘出库记录添加成功!‘,mtInformation,[mbok],0); Edit14.Text:=‘‘;Edit14.SetFocus; end; end; end; §5.5 查询功能的实现 查询功能包括员工信息查询,供应商信息查询,入库信息查询和出库信息查询。由于每一个功能的实现都差不太多,而且其窗体也差不太多,所以在这里只给出员工信息查询窗体及其源代码。 图5.6 员工信息查询窗体 procedure Tfindempform.SpeedButton1Click(Sender: TObject); Var s1,s2,s3 :String; begin file://员工记录查询窗体查找按钮事件 with datamoduleform.EmpQuery do begin close; SQL.Clear; SQL.Add(‘select * from Employee‘); SQL.Add(‘where EmployeeID Like :EmpID and EmployeeName Like :Name and Grade Like :Grade‘); file://实现模糊查询功能 if Edit1.Text<>‘‘ then s1:=‘%‘+Edit1.Text+‘%‘ else s1:=‘%‘; Parameters.ParamByName(‘EmpID‘).Value:=s1; if Edit2.Text<>‘‘ then s2:=‘%‘+Edit2.Text+‘%‘ else s2:=‘%‘; Parameters.ParamByName(‘Name‘).Value:=s2; if Edit3.Text<>‘‘ then s3:=‘%‘+Edit3.Text+‘%‘ else s3:=‘%‘; Parameters.ParamByName(‘Grade‘).Value:=s3; open; if FieldValues[‘EmployeeID‘]<>NULL then findempform.Close file://在找到记录的情况下关闭查找窗口 else begin MessageDlg(‘没有找到你所需要的记录!‘,mtInformation,[mbOK],0); Edit1.Text:=‘‘;Edit2.Text:=‘‘;Edit3.Text:=‘‘;Edit1.SetFocus; close; SQL.Clear; SQL.Add(‘select * from Employee‘); file://刷新员工信息窗口 open; end; end; end; §5.6 系统登陆窗体模块的实现 由于系统登陆窗体中有一幅彩图,在这里不便给出,而只给出了系统的实现。 var keyname: string; file://定义了一个全局变量,在key2中有调用 procedure Tkeyform.SpeedButton1Click(Sender: TObject); var s:string; file://登陆窗口登陆按钮事件 begin if (Edit1.Text=‘‘) then begin MessageDlg(‘清输入登陆姓名和密码!‘,mtInformation,[mbok],0); Edit1.SetFocus; end else begin datamoduleform.KeyTable.Active:=true; if not datamoduleform.KeyTable.Locate(‘KeyName‘,Edit1.Text,[]) file://判断登陆名是否存在 then begin MessageDlg(‘登陆名错误,请重新输入!‘,mtInformation,[mbok],0); Edit1.Text:=‘‘; Edit1.SetFocus; end else begin with datamoduleform.KeyQuery do begin close; SQL.Clear; SQL.Add(‘select * from Key where KeyName=:KeyName‘); Parameters.ParamByName(‘KeyName‘).Value:=Edit1.Text; open; s:=FieldValues[‘KeyNo‘]; end; if s<>Edit2.Text file://判断登陆密码是否正确 then begin MessageDlg(‘ 上一页 [10] [11] [12] [13] [14] [15] [16] [17] 下一页
Tags:
|