⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 xs.~pas

📁 电脑公司销售、财务管理子系统 本文重点研究的是电脑公司管理信息系统
💻 ~PAS
📖 第 1 页 / 共 4 页
字号:
    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 + -