📄 xs.~pas
字号:
begin
ComboBox1.Items.Add(FieldByName('PartName').AsString);
Next;
end;
end;
end;
procedure TxsForm.ComboBox1Change(Sender: TObject);
//2ComboBox1的OnChange事件,主要完成在ComboBox2的Items里添加产品型号的功能
begin
ComboBox2.Text:='请选择';
ComboBox2.Items.Clear;
with DM.ADOStoredProc_PartType do
begin
Close;
Parameters[0].Value:=Trim(Combobox1.Text);
Open;
while not Eof do
begin
ComboBox2.Items.Add(FieldByName('PartType').AsString);
Next;
end;
end;
end;
procedure TxsForm.ComboBox2Change(Sender: TObject);
//3ComboBox2的OnChange事件,主要完成得到PartId(产品编号)的功能
begin
with DM.ADOStoredProc_PartId do
begin
Edit19.Clear;
Close;
Parameters[0].Value:=Trim(Combobox1.Text);
Parameters[1].Value:=Combobox2.Text;
Open;
if RecordCount>0 then
Edit19.Text:=FieldByName('PartId').AsString;
end;
Label133.Visible:=True; Edit19.Visible:=True;
Label4.Visible:=True; DBImage1.Visible:=True;
end;
procedure TxsForm.Button1Click(Sender: TObject);
//4库存查询按钮的OnClick事件,完成显示库存数量的功能
var label5cpt:string;
begin
if (ComboBox1.Text='') or (ComboBox1.Text='请选择') then
showmessage('请选择一种产品!')
else if (ComboBox2.Text='') or (ComboBox2.Text='请选择') then
showmessage('请选择产品的一种型号!')
else
with DM.ADOStoredProc_PartNumber do
begin
Close;
Parameters[0].Value:=Edit19.Text;
Open;
label5cpt:='配件名称:'+Trim(ComboBox1.Text);
label5cpt:=label5cpt+'、'+'配件型号:'+ComboBox2.Text;
label5cpt:=label5cpt+' 库存总数量为';
Label5.Width:=505;
Label5.Caption:=label5cpt+FieldByName('Number').AsString+'!!!!!!!!';
showmessage(label5cpt+FieldByName('Number').AsString);
end;
end;
procedure TxsForm.DBEdit3Exit(Sender: TObject);
//5DBEdit3(产品型号)的OnExit事件,完成对DBEdit1(产品编号)的自动编号
var
partid_auto,tempstr:string;
tempint:Integer;
begin
with DM.ADOStoredProc_PartId do
begin
Close;
Parameters[0].Value:=DBEdit2.Text;
Parameters[1].Value:=DBEdit3.Text;
Open;
end;
if DM.ADOStoredProc_PartId.RecordCount=0 then
if DBEdit2.Text='' then
begin
showmessage('请填写产品名称!');
DBEdit2.SetFocus;
end
else if DBEdit3.Text='' then
begin
showmessage('请填写产品型号!');
DBEdit3.SetFocus;
end
else
begin
DM.ADOQuery_xxxg.Close;
DM.ADOQuery_xxxg.SQL.Clear;
DM.ADOQuery_xxxg.SQL.Add('select * from PartName where PartName=:partname');
DM.ADOQuery_xxxg.SQL.Add('order by PartId desc');
DM.ADOQuery_xxxg.Parameters.ParamByName('partname').Value:=Trim(DBEdit2.Text);
DM.ADOQuery_xxxg.Open;
if DM.ADOQuery_xxxg.RecordCount>0 then
begin
partid_auto:=Copy(DM.ADOQuery_xxxg.FieldByName('PartId').AsString,1,2);
tempstr:=Copy(DM.ADOQuery_xxxg.FieldByName('PartId').AsString,3,3);
tempint:=StrToInt(tempstr);
tempint:=tempint+1;
if tempint<10 then
partid_auto:=partid_auto+'00'+IntToStr(tempint)
else if tempint<100 then
partid_auto:=partid_auto+'0'+IntToStr(tempint)
else if tempint<1000 then
partid_auto:=partid_auto+IntToStr(tempint);
DBEdit1.Text:=partid_auto;
end
else //DM.ADOQuery_xxxg.RecordCount=0
begin
DM.ADOQuery_xxxg.Close;
DM.ADOQuery_xxxg.SQL.Clear;
DM.ADOQuery_xxxg.SQL.Add('select * from PartName');
DM.ADOQuery_xxxg.SQL.Add('order by PartId desc');
DM.ADOQuery_xxxg.Open;
tempstr:=Copy(DM.ADOQuery_xxxg.FieldByName('PartId').AsString,1,2);
tempint:=StrToInt(tempstr);
tempint:=tempint+1;
if tempint<10 then
partid_auto:='0'+IntToStr(tempint)+'001'
else if tempint<100 then
partid_auto:=IntToStr(tempint)+'001';
DBEdit1.Text:=partid_auto;
end;
end;
end;
procedure TxsForm.Label10Click(Sender: TObject);
//8信息修改页面的修改图片LabelOnClick事件
begin
if OpenPictureDialog1.Execute then
begin
DM.XxQuery.Edit;
DBImage2.Picture.LoadFromFile(OpenPictureDialog1.FileName);
DM.XxQuery.Post;
end;
end;
procedure TxsForm.TabSheet3Enter(Sender: TObject);
//9产品报价页面的OnEnter事件
begin
ComboBox11.Items.Clear; ComboBox12.Items.Clear;
ComboBox13.Items.Clear;
ComboBox_cpmc.Items.Clear; ComboBox_cpxh.Items.Clear;
Edit17.Clear; Edit18.Clear;
with DM.ADOStoredProc_PartName do
begin
Close;
Open;
while not Eof do
begin
ComboBox_cpmc.Items.Add(FieldByName('PartName').AsString);
Next;
end;
end;
with DM.CpbjQuery0 do
begin
Close;
SQL.Clear;
SQL.Add('select EmpId from Employee,Department');
SQL.Add('where Employee.DepId=Department.DepId');
SQL.Add('and Department.DepName=:dname001');
Parameters.ParamByName('dname001').Value:='销售部';
Open;
while not Eof do
begin
ComboBox11.Items.Add(FieldByName('EmpId').AsString);
ComboBox13.Items.Add(FieldByName('EmpId').AsString);
Next;
end;
end;
end;
procedure TxsForm.ComboBox_cpmcChange(Sender: TObject);
//10产口报价页面的产品名称ComboBox的OnChange事件
begin
ComboBox_cpxh.Clear;
with DM.ADOStoredProc_PartType do
begin
Close;
Parameters[0].Value:=Trim(ComboBox_cpmc.Text);
Open;
while not Eof do
begin
ComboBox_cpxh.Items.Add(FieldByName('PartType').AsString);
Next;
end;
end;
end;
procedure TxsForm.ComboBox_cpxhChange(Sender: TObject);
//11产口报价页面的产品型号ComboBox的OnChange事件
begin
with DM.ADOStoredProc_PartId do
begin
Close;
Parameters[0].Value:=Trim(ComboBox_cpmc.Text);
Parameters[1].Value:=ComboBox_cpxh.Text;
Open;
if RecordCount>0 then
Edit_cpbh.Text:=FieldByName('PartId').AsString;
end;
end;
procedure TxsForm.BitBtnlurubaojiaClick(Sender: TObject);
//12产品报价页面的录入报价按钮的OnClick事件
var message0:string;
begin
if Trim(ComboBox_cpmc.Text)='' then
//如果产品名称为空
begin
showmessage('产品名称不能为空!');
ComboBox_cpmc.SetFocus;
end
else if Trim(ComboBox_cpxh.Text)='' then
//如果产品型号为空
begin
showmessage('产品型号不能为空!');
ComboBox_cpxh.SetFocus;
end
else if Trim(Edit18.Text)='' then
//如果产品报价为空
begin
showmessage('产品报价不能为空!');
Edit18.SetFocus;
end
else if Trim(ComboBox11.Text)='' then
//如果报价员号为空
begin
showmessage('报价员号不能为空!');
ComboBox11.SetFocus;
end
else
begin
with DM.CpbjQuery0 do
begin
Close;
SQL.Clear;
SQL.Add('select * from BaoJia');
SQL.Add('where PartId=:partid002 and PriceDate=:pricedate002');
Parameters.ParamByName('partid002').Value:=Edit_cpbh.Text;
Parameters.ParamByName('pricedate002').Value:=DateTimePickerbjrq.Date;
Open;
if RecordCount>0 then
//如果已经存在该产品当天的报价记录
begin
message0:='已存在配件编号为'+Edit_cpbh.Text;
message0:=message0+ '报价日期为'+DateToStr(DateTimePickerbjrq.Date)+'的记录!';
showmessage(message0);
end
else
//如果不存在该产品当天的报价记录
begin
Close;
SQL.Clear;
SQL.Add('select * from BaoJia');
Open;
Append;
FieldValues['PartId']:=Edit_cpbh.Text;
FieldValues['PriceDate']:=DateTimePickerbjrq.Date;
FieldValues['BaoPrice']:=Trim(Edit18.Text);
FieldValues['EmpId']:=Trim(ComboBox11.Text);
Post;
showmessage('录入报价成功!');
end;
end;
end;
end;
procedure TxsForm.BitBtn13Click(Sender: TObject);
//14产品报价页面中的开始查询按钮的OnClick事件
begin
with DM.CpbjQuery1 do
begin
Close;
SQL.Clear;
SQL.Add('select PartId as 配件编号,PriceDate as 报价日期,');
SQL.Add('BaoPrice as 配件报价,EmpId as 报价员号 from BaoJia ');
SQL.Add('where Pricedate >= :pricedate2 and Pricedate <= :pricedate3 ');
Parameters.ParamByName('pricedate2').Value:=DateTimePickerBjrq2.Date;
Parameters.ParamByName('pricedate3').Value:=DateTimePickerBjrq3.Date;
//采用两个DateTimePicker控件来提取时间,且报价时间是必不可少的查询条件
if Trim(ComboBox12.Text)<>'' then
//如果产品编号不为空
begin
SQL.Add('and PartId=:partid003 ');
Parameters.ParamByName('partid003').Value:=Trim(ComboBox12.Text);
end;
if Trim(ComboBox13.Text)<>'' then
//如果报价员号不为空
begin
SQL.Add('and EmpId=:empid003 ');
Parameters.ParamByName('empid003').Value:=Trim(ComboBox13.Text);
end;
Open;
if RecordCount=0 then
//如果符合查询条件的记录数为零
showmessage('没有查找到符合条件的记录!');
end;
end;
procedure TxsForm.DBEdit1KeyPress(Sender: TObject; var Key: Char);
begin
key:=#0;//若按键非数字、退格和回车则输入无效
end;
procedure TxsForm.BitBtn1Click(Sender: TObject);
//18顾客资料页面的开始查找按钮的OnClick事件
begin
with DM.GkQuery do
begin
Close;
SQL.Clear;
SQL.Add('Select Customer As 顾客姓名,CustSex As 顾客性别,');
SQL.Add('CustAddress As 顾客地址,CustPhone As 顾客电话,DateTime As 购买日期');
SQL.Add('from Seller where 1=1');
if Trim(Edit1.Text)<>'' then
begin
SQL.Add('and Customer=:cname');
Parameters.ParamByName('cname').Value:=Trim(Edit1.Text);
end;
if Trim(ComboBox4.Text)<>'' then
begin
SQL.Add('and CustSex=:csex');
Parameters.ParamByName('csex').Value:=Trim(ComboBox4.Text);
end;
if Trim(Edit2.Text)<>'' then
begin
SQL.Add('and CustAddress=:caddress');
Parameters.ParamByName('caddress').Value:=Trim(Edit2.Text);
end;
if Trim(Edit3.Text)<>'' then
begin
SQL.Add('and CustPhone=:cphone');
Parameters.ParamByName('cphone').Value:=Trim(Edit3.Text);
end;
Open;
end;
end;
procedure TxsForm.BitBtn2Click(Sender: TObject);
begin
Edit1.Clear;
Edit2.Clear;
Edit3.Clear;
Edit4.Clear;
ComboBox4.Text:='';
DM.GkQuery.Close;
end;
procedure TxsForm.BitBtn3Click(Sender: TObject);
//19顾客资料页面的提交修改按钮的OnClick事件
begin
if DM.GkQuery.Active=True then
begin
if Trim(DBEditCustomer.Text)='' then
begin
showmessage('顾客姓名不能为空!');
DBEditCustomer.SetFocus;
end
else if Trim(DBComboBoxCustSex.Text)='' then
begin
showmessage('顾客性别不能为空!');
DBEditCustomer.SetFocus;
end
else
DM.GkQuery.Post;
end;
end;
procedure TxsForm.BitBtn4Click(Sender: TObject);
begin
DM.GkQuery.Cancel;
end;
procedure TxsForm.Edit3KeyPress(Sender: TObject; var Key: Char);
begin
if not (key in['0'..'9','-',#8,#13]) then
key:=#0;//若按键非数字、间隔符、退格和回车则输入无效
end;
procedure TxsForm.Edit4KeyPress(Sender: TObject; var Key: Char);
begin
if not (key in['0'..'9','-',#8,#13]) then
key:=#0;//若按键非数字、间隔符、退格和回车则输入无效
end;
procedure TxsForm.DBEditCustPhoneKeyPress(Sender: TObject; var Key: Char);
begin
if not (key in['0'..'9','-',#8,#13]) then
key:=#0;//若按键非数字、间隔符、退格和回车则输入无效
end;
procedure TxsForm.DBEditDateTimeKeyPress(Sender: TObject; var Key: Char);
begin
if not (key in['0'..'9','-',#8,#13]) then
key:=#0;//若按键非数字、间隔符、退格和回车则输入无效
end;
procedure TxsForm.TabSheet29Enter(Sender: TObject);
begin
with DM.PjQuery do
begin
Close;
SQL.Clear;
SQL.Add('Select * From PartName where PartName=:pname001');
Parameters.ParamByName('pname001').Value:='品牌机';
Open;
while not Eof do
begin
ComboBoxxh.Items.Add(FieldByName('PartType').AsString);
Next;
end;
end;
end;
procedure TxsForm.TabSheet29Exit(Sender: TObject);
begin
ComboBoxxh.Items.Clear;
end;
procedure TxsForm.TabSheet10Enter(Sender: TObject);
begin
with DM.PjQuery do
begin
Close;
SQL.Clear;
SQL.Add('Select * From PartName where PartName=:pname002');
Parameters.ParamByName('pname002').Value:='CPU';
Open;
while not Eof do
begin
ComboBoxcpuxh.Items.Add(FieldByName('PartType').AsString);
Next;
end;
end;
end;
procedure TxsForm.TabSheet10Exit(Sender: TObject);
begin
ComboBoxcpuxh.Items.Clear;
end;
procedure TxsForm.TabSheet11Enter(Sender: TObject);
begin
with DM.PjQuery do
begin
Close;
SQL.Clear;
SQL.Add('Select * From PartName where PartName=:pname003');
Parameters.ParamByName('pname003').Value:='主板';
Open;
while not Eof do
begin
ComboBoxzbxh.Items.Add(FieldByName('PartType').AsString);
Next;
end;
end;
end;
procedure TxsForm.TabSheet11Exit(Sender: TObject);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -