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

📄 uxsd.~pas

📁 商场销售信息系统只要用于小商场的销售管理
💻 ~PAS
字号:
unit UXsd;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, BusinessSkinForm, bsSkinCtrls,
  StdCtrls, bsSkinBoxCtrls, Mask, ComCtrls;

type
  TfrmXsd = class(TForm)
    bsBusinessSkinForm1: TbsBusinessSkinForm;
    bsSkinPanel1: TbsSkinPanel;
    scrH: TbsSkinScrollBar;
    scrV: TbsSkinScrollBar;
    bsSkinLabel5: TbsSkinLabel;
    edtYS: TbsSkinEdit;
    bsSkinLabel6: TbsSkinLabel;
    bsSkinLabel7: TbsSkinLabel;
    edtSX: TbsSkinEdit;
    edtZS: TbsSkinEdit;
    cbSpMC: TbsSkinComboBox;
    bsSkinLabel8: TbsSkinLabel;
    bsSkinLabel9: TbsSkinLabel;
    lvSplist: TbsSkinListView;
    edtSl: TbsSkinEdit;
    edtAdd: TbsSkinButton;
    edtDel: TbsSkinButton;
    edtSK: TbsSkinButton;
    edtExit: TbsSkinButton;
    lbNow: TbsSkinLabel;
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure edtSKClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure edtSlKeyPress(Sender: TObject; var Key: Char);
    procedure edtSXKeyPress(Sender: TObject; var Key: Char);
    procedure edtAddClick(Sender: TObject);
    procedure edtExitClick(Sender: TObject);
    procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
    procedure edtSlKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure edtDelClick(Sender: TObject);
    procedure edtSXChange(Sender: TObject);
    procedure edtYSChange(Sender: TObject);

  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  frmXsd: TfrmXsd;
  fCount:integer;
  fJine:double;
  fSK:boolean;
  fYS:double;
  spMlr:Tstringlist;
implementation
uses upublic,comobj,umain;
{$R *.dfm}

procedure TfrmXsd.FormClose(Sender: TObject; var Action: TCloseAction);
begin
spMlr.free;
action:=cafree;
frmXsd:=nil;
end;

//收款
procedure TfrmXsd.edtSKClick(Sender: TObject);
var
  i:integer;
begin
if lvSplist.Items.Count=0 then exit;
if strtofloat(edtZS.text)<0 then
begin
  frmmain.bsmessage.MessageDlg('请输入收款金额!',mtInformation,mbOKCancel,0);
  edtSX.SetFocus;
  exit;
end;
if frmmain.bsmessage.MessageDlg('真的要进行收款操作?',mtInformation,mbOKCancel,0)=idok then
begin
  rs:=CreateOleObject('ADODB.Recordset');
  rs.open('select * from txiaoshou order by id',conn,1,3);
  for i:=0 to lvSplist.Items.Count -1 do
  begin
    rs.addnew;
    rs.fields.Item['sptm'].value:=lvSpList.Items[i].Caption;
    rs.fields.Item['spmc'].value:=lvSpList.Items[i].SubItems[0];
    rs.fields.Item['spclass'].value:=lvSpList.Items[i].SubItems[1];
    rs.fields.Item['spdj'].value:=lvSpList.Items[i].SubItems[2];
    rs.fields.Item['xssl'].value:=lvSpList.Items[i].SubItems[3];
    rs.fields.Item['spje'].value:=lvSpList.Items[i].SubItems[4];
    rs.fields.Item['gtdm'].value:=userInfoA.Gtdm;
    rs.fields.Item['mlr'].value:=strtofloat(lvSpList.Items[i].SubItems[4])-strtofloat(spmlr.Strings[i])*strtofloat(lvSpList.Items[i].SubItems[3]);
    rs.update;
    application.ProcessMessages;
  end;
  fSK:=true;
  rs.close;
  rs:=unassigned;
  lvSpList.Clear;
  fYS:=0;
  edtSX.text:='0';
  edtsl.text:='0';
  edtZS.text:='0';
  edtys.text:='0';
  cbSpMC.Text:='';
  fSK:=false;
end;
end;

procedure TfrmXsd.FormCreate(Sender: TObject);
begin
spMlr:=tstringlist.Create;
lbNow.Caption:='当前时间: '+DateTimetostr(now)+'  柜台代码: '+inttostr(userinfoa.gtdm);
rs:=CreateOleObject('ADODB.Recordset');
rs.open('select * from tShangpin order by spid',conn,1,1);
if not rs.eof then
begin
  rs.movefirst;
  repeat
    cbSpMC.Items.Add(rs.fields.Item['sptm'].value);
    rs.movenext;
  until rs.eof;
end;
rs.close;
rs:=unassigned;
//cbSpMC
end;

procedure TfrmXsd.edtSlKeyPress(Sender: TObject; var Key: Char);
begin
MxFormatEditKeyPress(sender as TbsSkinEdit ,key,2,0);
end;

procedure TfrmXsd.edtSXKeyPress(Sender: TObject; var Key: Char);
begin
MxFormatEditKeyPress(sender as TbsSkinEdit ,key,3,2);
end;

//增加
procedure TfrmXsd.edtAddClick(Sender: TObject);

begin
if (trim(cbSpMC.Text)='') or (trim(edtsl.Text)='') then exit;
rs:=CreateOleObject('ADODB.Recordset');
rs.open('select * from tShangpin where sptm='+yinhao+trim(cbSpMC.Text)+yinhao,conn,1,1);
if rs.eof then
begin
  frmmain.bsmessage.MessageDlg('此商品不存在!',mtWarning,[mbok],0);
  exit;
end
else
begin
  with lvSplist.Items.Add do
  begin
    caption:=rs.fields.Item['sptm'].value;
    subitems.Add(rs.fields.Item['spmc'].value);
    subitems.Add(rs.fields.Item['class'].value);
    subitems.Add(FloatToStr(rs.fields.Item['spdj'].value));
    subitems.Add(trim(edtsl.text));
    fJine:=rs.fields.Item['spdj'].value * strtoint(edtsl.text);
    subitems.Add(FloatToStr(fJine));
    spMlr.Add(rs.fields.Item['jhjg'].value);//进货价格
  end;
end;
rs.close;
rs:=unassigned;
FYS:=fYS+fJine;
edtYS.Text:=FloatToStr(FYS);
end;

procedure TfrmXsd.edtExitClick(Sender: TObject);
begin
close;
end;

procedure TfrmXsd.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
if lvSplist.Items.Count=0 then
begin
  CanClose:=true;
  exit;
end;
if (not fSK)  then
begin
   frmmain.bsmessage.MessageDlg('此销售单尚未入帐,请单击【收款按钮】进行入帐',mtInformation,[mbOK],0);
   CanClose:=false;
end;

end;

procedure TfrmXsd.edtSlKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
if key=13 then
edtadd.SetFocus;
end;

//删除
procedure TfrmXsd.edtDelClick(Sender: TObject);
begin
if lvSplist.Selected=nil then exit;
if frmmain.bsmessage.MessageDlg('真的要删除所选行?',mtInformation,mbOKCancel,0)=idok then
begin
  FYS:=FYS-strtoFloat(lvSplist.Selected.SubItems[4]);
  lvSplist.Selected.Delete;
  edtYS.Text:=FloatToStr(FYS);
end;
end;

procedure TfrmXsd.edtSXChange(Sender: TObject);
begin
if length(edtSX.text)>0 then
  edtZS.text:=floattostr(strtoFloat(edtSX.text)-FYS);
end;

procedure TfrmXsd.edtYSChange(Sender: TObject);
begin
  edtZS.text:=floattostr(strtoFloat(edtSX.text)-FYS);
end;

end.

⌨️ 快捷键说明

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