关于嵌入式零售系统小结

来源:互联网 发布:虚拟机软件有哪些 编辑:程序博客网 时间:2024/06/05 01:14

项目简介:这是基于WinCE6.0系统的嵌入式开发,宿主机器是本公司自主开发一款小型智能终端。本程序主要解决小商户的分销管理。这也是一款定制系统。为了方便总部对代理商户的管理以及货物的调剂。项目分为前台和后台,前台部署在宿主机上,后台部署在总部服务器通过Web浏览。

功能简介:机器注册、系统自动更新、与服务器数据同步。前台功能:销售开单打印小票、销售退货、查询统计、订货、退货、盘点、会员管理、信息通知、系统管理、联机操作等。后台功能:订单管理、销售统计、设备注册、系统设置。当然这都是总部对各个门店的管理。详细功能不再讨论。

功能实现详解——公司代码不好透露,给出某个知识点的应用

机器注册:通过注册表与后台数据库进行注册。

       RegistryKey rkLocalM =Registry.LocalMachine;

string strSubKey = @"\Init\BootVars";//根路径

    RegistryKey rkSub =rkLocalM.OpenSubKey(strSubKey, true);//打开注册表

    rkSub.SetValue("MaeID",this.textBox1.Text, RegistryValueKind.String);

系统自动更新:在程序运行时会进行版本号判断,版本过低就进行更新,更新方式:下载程序包,进行替换然后启动程序。

Web service获取版本号,进行对比。

通过Web service进行程序获取。

文件的压缩与解压缩公共类分享

销售开单打印小票:此功能的实现主要是流程分析,及通过串口对扫描枪、打印机的操作。

//定义一个委托

        delegate void HandleInterfaceGetBarcodeDelegate(stringdata);

        //读取扫描抢返回值。

        HandleInterfaceGetBarcodeDelegate interfaceGetBarcodeDelegate;

//实例化委托对象

            interfaceGetBarcodeDelegate = new HandleInterfaceGetBarcodeDelegate(GetBarCode);

//控件的接受数据事件。

        private void serialPort1_DataReceived(objectsender, System.IO.Ports.SerialDataReceivedEventArgs e)

        {

            try

            {

                //延时毫秒以避免一个条码读成两段的情况。

                System.Threading.Thread.Sleep(50);

                this.BeginInvoke(interfaceGetBarcodeDelegate,new string[] { serialPort1.ReadExisting() });

            }

            catch { }

        }

//委托的方法。

        private void GetBarCode(string txt)

        {

            try

            {

                string barcode = txt.Replace("\r\n","").Replace("\r", "").Replace("\n", "");

                if (barcode != "TimeOut"&& barcode != "")

                {

                    this.lblName.Focus();

                    this.ShowAddGoods(barcode,false);

                    SaleForm_KeyDown(null, new KeyEventArgs(Keys.Enter));//如果是通过条码扫描,直接添加到商品列表。

                }

            }

            catch { }

        }

此类软件最关键的不是使用技术的难易,而是对业务流程的了解程度,是否可能满足用户的需求,不要做出一个功能强大但不符合客户需求的软件。而且要注意代码的封装重用性。


原创粉丝点击