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

📄 mainunt.pas

📁 商品销售系统完全的功能SQL和JAVA
💻 PAS
📖 第 1 页 / 共 3 页
字号:
          append;
          fieldbyname('销售编号').asstring :=sellno; //编号的计算
          fieldbyname('销售日期').AsDateTime :=date();
          fieldbyname('销售时间').AsDateTime :=time();
          fieldbyname('员工编号').asstring :=trim(edit8.text);
          fieldbyname('商品数量').asstring :=trim(edit13.Text);
          if strtofloatdef(trim(edit2.Text),0)<strtofloat(trim(edit12.Text)) then
             fieldbyname('商品金额').AsFloat :=round(strtofloatdef(trim(edit2.Text),0))
          else
          fieldbyname('商品金额').AsFloat :=round((strtofloatdef(trim(edit2.Text),0)-strtofloatdef(edit12.Text,0))*strtofloatdef(edit11.Text,0)+strtofloatdef(edit12.Text,0));
          post;
       end;
       //从表数据插入
       with Dataman.xsQuery do
         begin
         open;
         for k:=1 to 12 do
         begin
         if  trim(stringgrid1.Cells[1,k])='' then break;
          Append;
          FieldByName('销售编号').AsString :=sellno;
          fieldbyname('货物条形码').AsString :=trim(stringgrid1.Cells[1,k]);
          fieldbyname('销售价格').AsString :=trim(stringgrid1.Cells[3,k]);
          fieldbyname('数量').AsString :=trim(stringgrid1.Cells[2,k]);
          fieldbyname('折扣').AsString :=trim(stringgrid1.Cells[4,k]);
          fieldbyname('总额').AsString :=trim(stringgrid1.Cells[5,k]);
          post;
       end;
       end;
           //  库存数据修改
        with Dataman.kcQuery do
          begin
             close;
             sql.Clear;
            for k:=1 to 12 do
              begin
                if  trim(stringgrid1.Cells[1,k])='' then break;
                 sql.Add('update kc set 库存数量=库存数量-:gnunb where 货物条形码 =:gno');
                 parameters.ParamByName('gnunb').Value:=trim(stringgrid1.Cells[2,k]);
                 parameters.ParamByName('gno').Value:=trim(stringgrid1.Cells[1,k]);
                 execsql;
              end;
          end;
        Dataman.xsmQuery.UpdateBatch();
        Dataman.xsQuery.UpdateBatch();
        Dataman.ADOCon.CommitTrans;
    except
      begin
       Dataman.ADOCon.RollbackTrans;
       showmessage('交易没有成功!');
       exit;
      end;
    end;
    Dataman.xsmquery.close;
    Dataman.xsquery.close;
    dataman.kcQuery.Close;
    //结算界面显示
    IF jswcfrm=nil THEN Application.CreateForm(Tjswcfrm,jswcfrm);
    if  strtofloatdef(trim(edit2.Text),0) < strtofloat(trim(edit12.Text)) then
       jswcfrm.Label2.Caption :=trim(edit2.Text)
     else
    jswcfrm.Label2.Caption :=floattostr(round((strtofloatdef(trim(edit2.Text),0)-strtofloatdef(edit12.Text,0))*strtofloatdef(edit11.Text,0)+strtofloatdef(edit12.Text,0)));
    jswcfrm.showmodal;
    timer1.Enabled:=true;

end;

procedure Tmain.Action9Execute(Sender: TObject);
var
 i:integer;
begin
if stringgrid1.Cells[1,1]='' then exit;
   if tempgrid.Cells[1,1]='' then
      begin
        if edit4.Text<>'' then
           begin
               tempgrid.Cells[1,0]:=edit4.Text;
               tempgrid.Cells[2,0]:=edit5.Text;
               tempgrid.Cells[3,0]:=edit6.Text;
               tempgrid.Cells[4,0]:=edit7.Text;
          end;
   //if edit3.Text<>'' then
   //  tempgrid.cells[5,0]:=edit3.text;
     tempgrid.Tag:=sno;
       for i:=1 to 12 do
        begin
        if trim(stringgrid1.Cells[1,i])='' then break;
          tempgrid.rows[i].text:=stringgrid1.Rows[i].Text;
          stringgrid1.Rows[i].clear;
        end;
     vat_ini;
   end;
  bitbtn15.Enabled :=false;
  bitbtn5.Enabled :=true;
  edit1.SetFocus;
end;

procedure Tmain.Action10Execute(Sender: TObject);
var
  i,target,del_rec :integer;
begin
 if  edit1.Text='' then exit;
 if sno<1 then
   begin
    messagedlg('对不起!已经没有数据可删的了!',mtinformation,[mbOk],0);
    exit;
   end;
  del_rec :=strtointdef(edit1.Text,-1);
  target:=stringgrid1.Row;
  if (strtointdef(edit1.Text,-1)>=0) then target:=del_rec;
  if (target<=0) or (trim(stringgrid1.Cells[1,1])='') then
    begin
       edit1.SetFocus;
       exit;
    end;
  stringgrid1.Rows[del_rec].Clear;
  dec(sno);
  for i:=del_rec to 12 do
    begin
    if trim(stringgrid1.Cells[1,i+1])='' then break;
    stringgrid1.Rows[i].Text:=stringgrid1.Rows[i+1].Text;
    stringgrid1.Rows[i+1].Text:='';
    end;
    stringgrid1.Row:=sno+1;
  edit1.Text:='';
  edit1.SetFocus;
end;

procedure Tmain.Action12Execute(Sender: TObject);
var
  i:integer;
begin
   if stringgrid1.Cells[1,1]='' then
      begin
        if edit4.Text='' then
           begin
               edit4.Text :=trim(tempgrid.Cells[1,0]);
               edit5.Text :=trim(tempgrid.Cells[2,0]);
               edit6.Text :=trim(tempgrid.Cells[3,0]);
               edit7.Text :=trim(tempgrid.Cells[4,0]);
          end;
        {if tempgrid.cells[5,0]<>'' then
         edit3.Text:=trim(tempgrid.Cells[5,0])
        else
         edit3.Text:='0';   }
       for i:=1 to 12 do
        begin
        if trim(tempgrid.Cells[1,i])='' then break;
          stringgrid1.rows[i].text:=tempgrid.Rows[i].Text;
          tempgrid.Rows[i].clear;
        end;
        tempgrid.rows[0].clear;
   end;
   sno:=tempgrid.Tag;
   tempgrid.tag:=0;
  bitbtn15.Enabled :=true;
  bitbtn5.Enabled :=false;
  edit1.SetFocus;
end;

procedure Tmain.Action13Execute(Sender: TObject);
begin
edit5.SetFocus;
end;

procedure Tmain.Panel1Resize(Sender: TObject);
begin
edit9.Text:=datetostr(date());
stringgrid1.Cells[1,0]:='货物条形码';
stringgrid1.Cells[2,0]:='数量';
stringgrid1.Cells[3,0]:='价格';
stringgrid1.Cells[4,0]:='折扣';
stringgrid1.Cells[5,0]:='总额';
bitbtn5.Enabled:=false;
sno:=1;
edit1.Text:='';
edit1.SelectAll;
edit1.SetFocus;
edit12.text:=ini_load_dzjejs('销售参数','0');
edit11.text:=ini_load_dzbl('销售参数','0');
edit8.Text :=usrname;
end;

procedure Tmain.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
  Rect: TRect; State: TGridDrawState);
var
 s:string;
 r:TRect;
begin
 with StringGrid1 do
   begin
     Canvas.FillRect(Rect);
     if ACol = 5 then
       begin
        Canvas.Font.Color := clred;
        canvas.Font.Style:=[fsBold];
       end;
     s:=Cells[ACol,ARow];
     r:=Rect;
     DrawText(Canvas.Handle,PChar(s),Length(s),r,DT_CENTER or DT_SINGLELINE or DT_VCENTER);
  end;
end;

procedure Tmain.mxOutlookBarPro1Headers0Buttons0Click(Sender: TObject);
begin
  psmf:='xpsz';
 if not premission(usrname,psmf) then
    showmessage('你没有此权限!')
    else
    begin
     IF printsetupfrm=nil THEN Application.CreateForm(Tprintsetupfrm,printsetupfrm);
      printsetupfrm.showmodal;
    end;
end;

procedure Tmain.mxOutlookBarPro1Headers0Buttons1Click(Sender: TObject);
begin
 psmf:='qxsz';
 if not premission(usrname,psmf) then
    showmessage('你没有此权限!')
    else
    begin
    IF hyszfrm=nil THEN Application.CreateForm(Thyszfrm,hyszfrm);
      hyszfrm.showmodal;
    end;
end;

procedure Tmain.mxOutlookBarPro1Headers0Buttons2Click(Sender: TObject);
begin
 psmf:='dyzlwh';
 if not premission(usrname,psmf) then
    showmessage('你没有此权限!')
    else
    begin
      IF pswfrm=nil THEN Application.CreateForm(Tpswfrm,pswfrm);
      pswfrm.showmodal;
    end;
end;

procedure Tmain.mxOutlookBarPro1Headers0Buttons4Click(Sender: TObject);
begin
 psmf:='xscssz';
 if not premission(usrname,psmf) then
    showmessage('你没有此权限!')
    else
    begin
     IF xtszfrm=nil THEN Application.CreateForm(Txtszfrm,xtszfrm);
       xtszfrm.showmodal;
    end;
end;

procedure Tmain.mxOutlookBarPro1Headers2Buttons1Click(Sender: TObject);
begin
 psmf:='thyywh';
 if not premission(usrname,psmf) then
    showmessage('你没有此权限!')
    else
    begin
     IF thfrm=nil THEN Application.CreateForm(Tthfrm,thfrm);
     thfrm.showmodal;
    end;
end;

procedure Tmain.mxOutlookBarPro1Headers2Buttons0Click(Sender: TObject);
begin
 psmf:='vipzlwh';
 if not premission(usrname,psmf) then
    showmessage('你没有此权限!')
    else
    begin
     IF hyfrm=nil THEN Application.CreateForm(Thyfrm,hyfrm);
     hyfrm.showmodal;
    end;
end;

procedure Tmain.mxOutlookBarPro1Headers3Buttons0Click(Sender: TObject);
begin
  psmf:='bddr';
 if not premission(usrname,psmf) then
    showmessage('你没有此权限!')
    else
    begin
     IF drmainfrm=nil THEN Application.CreateForm(Tdrmainfrm,drmainfrm);
    drmainfrm.showmodal;
    end;
end;

procedure Tmain.mxOutlookBarPro1Headers6Buttons0Click(Sender: TObject);
begin
WinExec('calc.exe',sw_normal);
end;

procedure Tmain.mxOutlookBarPro1Headers6Buttons1Click(Sender: TObject);
begin
IF rlfrm=nil THEN Application.CreateForm(Trlfrm,rlfrm);
rlfrm.showmodal;
end;

procedure Tmain.Edit1KeyPress(Sender: TObject; var Key: Char);
var
i:integer;
begin
if not(key in ['0'..'9',#8,#39,#13] ) then
begin
 key:=#0;
// MessageBeep(-1);
end;
if key=#13 then
begin
 if (trim(edit1.Text)='') then exit;
 //第一条记录时的操作
 if stringgrid1.Cells[1,1]='' then
  begin
   with dataman.jbQuery do
    begin
      close;
      sql.Clear;
      sql.Add('select DISTINCT 单价 from kc where 货物条形码 =:gno');
      parameters.ParamByName('gno').Value :=trim(edit1.Text);
      prepared;
      open;
      stringgrid1.Cells[2,sno] :='1';
      if fields.Fields[0].Value=null then
      stringgrid1.Cells[3,sno] :='0'
      else
      stringgrid1.Cells[3,sno] :=dataman.jbQuery.Fields.Fields[0].Value;
      if edit5.Text<>'' then
       stringgrid1.Cells[4,sno]:=edit7.Text
       else
      stringgrid1.Cells[4,sno] :='1';
    end;
  stringgrid1.Cells[1,sno] :=edit1.Text;
  sno:=sno+1;
  edit1.Text:='';
 end
 //不是第一条时操作
 else
  begin
   for i:=12 downto 1  do
    begin
       // if stringgrid1.Cells[1,i]='' then break;
        if (trim(edit1.text)=trim(stringgrid1.Cells[1,i])) then
         begin
           stringgrid1.Cells[2,i]:=inttostr(strtoint(stringgrid1.Cells[2,i])+1);
           edit1.Text:='';
           break;
           exit;
         end;
       end;
   for i:=12 downto 1 do
     begin
        if (trim(edit1.text)<>trim(stringgrid1.Cells[1,i])) then
         begin
             stringgrid1.Cells[1,sno] :=trim(edit1.Text);
            with dataman.jbQuery do
              begin
                close;
                sql.Clear;
                sql.Add('select 单价 from kc where 货物条形码 =:gno');
                parameters.ParamByName('gno').Value :=trim(edit1.Text);
                prepared;
                open;
                stringgrid1.Cells[2,sno] :='1';
                if fields.Fields[0].Value=null then
                stringgrid1.Cells[3,sno] :='0'
                else
                stringgrid1.Cells[3,sno] :=dataman.jbQuery.Fields.Fields[0].Value;
                if edit5.Text<>'' then
                stringgrid1.Cells[4,sno]:=edit7.Text
                else
                stringgrid1.Cells[4,sno] :='1';
             end;
             sno:=sno+1;
             edit1.Text:='';
             break;
             exit;
         end;
         break;
     end;
 end;
end;
end;

procedure Tmain.Edit5KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
 begin
 if stringgrid1.Cells[1,1]<>'' then
  begin
   messagedlg('对不起!请先取消交易,再刷会员卡',mtinformation,[mbOK],0);
   exit;
  end;
  with dataman.vipQuery do
   begin
      close;
      sql.Clear;
      sql.Add('select menber.会员姓名,menber.打折比例 from menber where menber.VIP卡号 =:kh');
      parameters.ParamByName('kh').Value:=trim(edit5.Text);
      prepared;
      open;
   end;
   if dataman.vipQuery.IsEmpty then
   begin

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -