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

📄 pfm_updatespxx.pas

📁 POS收银系统
💻 PAS
字号:
unit pfm_updatespxx;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, Buttons, ExtCtrls, ComCtrls, Db, DBTables, Grids, DBGrids;

type
  Tfm_updatespxx = class(TForm)
    Query3: TQuery;
    Query3spbm: TStringField;
    Query3sptxm: TStringField;
    Query3spmc: TStringField;
    Query3ggxh: TStringField;
    Query3dengji: TStringField;
    Query3zhuangtai: TStringField;
    Query3baozhuangdw: TStringField;
    Query3baozhuangsl: TStringField;
    Query3hh: TStringField;
    Query3gysmc: TStringField;
    Query3cd: TStringField;
    Query3xsfs: TStringField;
    Query3wsjj: TFloatField;
    Query3jhsl: TFloatField;
    Query3wsdj: TFloatField;
    Query3xssl: TFloatField;
    Query3yhl: TFloatField;
    Query3splb: TStringField;
    PageControl1: TPageControl;
    TabSheet1: TTabSheet;
    TabSheet2: TTabSheet;
    GroupBox3: TGroupBox;
    LView1: TListView;
    Panel1: TPanel;
    Label2: TLabel;
    lbltishi: TLabel;
    Edit11: TEdit;
    BBtncancel: TBitBtn;
    BBtnSave: TBitBtn;
    BBtndel: TBitBtn;
    Panel2: TPanel;
    Query1: TQuery;
    DBGrid1: TDBGrid;
    DataSource1: TDataSource;
    BBtnDel2: TBitBtn;
    procedure Edit11KeyPress(Sender: TObject; var Key: Char);
    procedure FormCreate(Sender: TObject);
    procedure BBtnSaveClick(Sender: TObject);
    procedure BBtncancelClick(Sender: TObject);
    procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
    procedure Query1AfterOpen(DataSet: TDataSet);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure BBtnDel2Click(Sender: TObject);
  private
    { Private declarations }
    function GetSpxx(spcode:string):boolean;
  public
    { Public declarations }
  end;

var
  fm_updatespxx: Tfm_updatespxx;

implementation

{$R *.DFM}
var
gridcolname:Tstringlist;
procedure Tfm_updatespxx.Edit11KeyPress(Sender: TObject; var Key: Char);
var
ListItem:Tlistitem;
begin
    //商品编码或条形码
    if key<>#13 then exit;
    if getspxx(edit11.text)=false then
    begin
        edit11.text:='';
        lbltishi.caption:='没有这个商品';
        exit;
    end;
    if not query3.eof then
    begin
        ListItem:=LView1.items.Insert(0);
        ListItem.Caption:=query3.fieldbyname('spbm').asstring;
        LIstItem.SubItems.add(query3.fieldbyname('sptxm').asstring);
        LIstItem.SubItems.add(query3.fieldbyname('spmc').asstring);
        LIstItem.SubItems.add(query3.fieldbyname('wsdj').asstring);//3-无税进价
        ListItem.selected:=true;
        edit11.text:='';
    end
    else
    begin
        edit11.text:='';
        lbltishi.caption:='没有这个商品';
    end;


end;
function Tfm_updatespxx.GetSpxx(spcode:string):boolean;
var
spcodelen:integer;
tmpstr:string;
begin
    spcodelen:=length(spcode);
    if spcodelen<=6 then
    begin
         tmpstr:='000000'+spcode;
         spcode:=copy(tmpstr,spcodelen+1,6);
         spcodelen:=6;
    end
    else if spcodelen<>13 then //输入的编码位数>6但不是13位
    begin
        GetSpxx:=false;
        exit;
    end;
    edit11.text:=spcode;
    query3.close;
    query3.sql.clear;
    if spcodelen=6 then
    begin
        query3.sql.add('select * from t_spxx where spbm='''+spcode+'''');
    end
    else
    begin
        query3.sql.add('select * from t_spxx where sptxm='''+spcode+'''');
    end;
    query3.open;
    GetSpxx:=true;
end;
procedure Tfm_updatespxx.FormCreate(Sender: TObject);
var
i:integer;
lvcol:TListColumn;
begin
    lvcol:=lview1.Columns.Add();
    lvcol.Caption:='商品编码';
    lvcol.width:=70;
    lvcol:=lview1.Columns.Add();
    lvcol.Caption:='商品条形码';
    lvcol.width:=110;
    lvcol:=lview1.Columns.Add();
    lvcol.Caption:='商品名称';
    lvcol.width:=120;
    lvcol:=lview1.Columns.Add();
    lvcol.Caption:='进货单价';
    lvcol.width:=80;
    gridcolname:=tstringlist.create;
  gridcolname.Add('spbm=商品代码');
  gridcolname.Add('sptxm=商品条形码');
  gridcolname.Add('spmc=商品名称');
  gridcolname.Add('ggxh=规格型号');
  gridcolname.Add('dengji=等级');
  gridcolname.Add('zhuangtai=商品状态');
  gridcolname.Add('baozhuangdw=包装单位');
  gridcolname.Add('baozhuangsl=包装数量');
  gridcolname.add('wsdj=销售单价');
  gridcolname.add('id=自动编号');
  query1.active:=true;
end;

procedure Tfm_updatespxx.BBtnSaveClick(Sender: TObject);
var
i:integer;
spbm:string;
begin
    if lview1.items.count<1 then
    begin
        exit;
    end;
    query3.Active:=false;


    for i:=0 to lview1.Items.count-1 do
    begin
        spbm:=lview1.items[i].caption;
        query3.SQL.Clear;
        if length(spbm)=6 then
        begin
            query3.sql.Add('insert into tab_updatespmx(spbm) values('''+spbm+''')');
            query3.ExecSQL;
        end;
    end;
    lview1.Items.Clear;
    query1.active:=false;
    query1.active:=true;
    
end;
procedure Tfm_updatespxx.BBtncancelClick(Sender: TObject);
begin
    close;
end;

procedure Tfm_updatespxx.FormCloseQuery(Sender: TObject;
  var CanClose: Boolean);
begin
    if lview1.items.count<1 then
    begin
        exit;
    end;
    if application.MessageBox(pchar('还没有保存,是否退出?'),pchar('注意'),MB_YESNO)<>IDYES then
    begin
        canclose:=true;
    end;
end;

procedure Tfm_updatespxx.Query1AfterOpen(DataSet: TDataSet);
var
i:integer;
begin
    for i:=0 to dbgrid1.columns.count -1 do
    begin
        dbgrid1.columns[i].title.caption:=gridcolname.values[dbgrid1.Columns[i].FieldName];
    end;
end;

procedure Tfm_updatespxx.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
    gridcolname.free;
end;

procedure Tfm_updatespxx.BBtnDel2Click(Sender: TObject);
var
spbm:string;
begin
    if query1.Active=false then
    begin
        exit;
    end;
    spbm:=query1.fieldbyname('spbm').asstring;
    query3.Active:=false;
    query3.sql.clear;
    query3.sql.Add('delete from tab_updatespmx where spbm='''+spbm+'''');
    query3.execsql;
    query1.active:=false;
    query1.active:=true;


end;

end.

⌨️ 快捷键说明

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