T ttl_web Unregistered / Unconfirmed GUEST, unregistred user! 2009-01-21 #1 求购pos软件可管理大华条码秤有意联系 ttl_web@yahoo.com.cn
D data118 Unregistered / Unconfirmed GUEST, unregistred user! 2009-02-15 #3 商业源码开发文档系统(完整版)★★http://www.data118.net/codes.htm
H HNXXCXG Unregistered / Unconfirmed GUEST, unregistred user! 2009-02-17 #4 {*************************************************************}{ }{ 电子条码秤 }{ 作者: 陈新光 }{ }{ Copyright (c) 2006 咏南工作室 }{ }{*************************************************************}{原理: 将电子秤商品导出为文本文件, 再用电子秤的下发程序导入该文本文件. 间接带来灵活, 所以可以处理所有品牌类型的电子秤. 石田在导入Plu文本文件时, 文件格式选择逗号分隔, 品名格式选择逐行品名 顶尖秤导出的文本文件扩展名必须是.txp}unit untDzc;interfaceuses SysUtils, commonFunction, Classes, db, adodb, d1;type Tdzc = class //baseClass protected tf: textFile; fc: Tcf; function formatPrice: string; virtual;//处理顶尖, 石田的单价 (原单价 * 100) procedure output; virtual; public constructor create; destructor destroy; override; end; TsgDzc = class(Tdzc) //寺冈 public procedure output; override; end; TtldDzc = class(Tdzc) //托利多 public procedure output; override; end; TdjDzc = class(Tdzc) //顶尖 public function formatPrice: string; override; procedure output; override; end; TthDzc = class(Tdzc) //太航 public procedure output; override; end; TdhDzc = class(Tdzc) //大华 public procedure output; override; end; TstDzc = class(Tdzc) //石田 public function formatPrice: string; override; procedure output; override; end; implementation{ Tdzc }{ TsgDzc }{ Tdzc }constructor Tdzc.create; begin inherited; fc := Tcf.Create; end; destructor Tdzc.destroy; begin freeandnil(fc); inherited; end; function Tdzc.formatPrice: string; begin end; procedure Tdzc.output; begin end; { TsgDzc }procedure TsgDzc.output;var spbh, dj, temps1, temps2: string; //商品编号, 单价 dzci: integer; //'.'在string中出现的位置begin try inherited; assignfile(tf, 'c:/plu.txt'); rewrite(tf); dm1.adqProduct.First; while not dm1.adqProduct.Eofdo begin //商品编号固定为六位, 不足六位的前面补零 spbh := fc.StrToStrEx(dm1.adqProduct.FieldByName('product_id').asstring, 'front', 6); //单价 dj := dm1.adqProduct.FieldByName('price').AsString; dzci := fc.FindStr('.', dj); if dzci = 0 then //没有小数部分 dj := fc.strtostrex(dj, 'front', 4) + '00' else //有小数部分 begin temps1 := copy(dj, 1, dzci - 1); //小数点左边 temps1 := fc.StrToStrEx(temps1, 'front', 4);//不足四位的前面补0 temps2 := copy(dj, dzci + 1, length(dj) - dzci); //小数点右边 temps2 := fc.StrToStrEx(temps2, 'back', 2); //不足两位的后面补0 dj := temps1 + temps2; end; //6位商品编号+0+6位单价+2位部门+13位条形码+3位保质期+品名+@ @ //条形码=5位商品编号+8个零 writeln(tf, spbh + '0' + dj + '01' + dm1.adqProduct.FieldByName('product_id').Asstring + '00000000' + '000' + dm1.adqProduct.FieldByName('product_name').Asstring + '@ @'); dm1.adqProduct.Next; end; finally close(tf); end; end; { TtldDzc }procedure TtldDzc.output; begin try inherited; assignfile(tf, 'c:/plu.txt'); rewrite(tf); dm1.adqProduct.First; //商品编号,+商品编号,+组号,+单价,+皮重号,+附加信息号,+标签号,+保质日期, //+推荐日期,+固定重量,+0,+0,+0,+商品名称, while not dm1.adqProduct.Eofdo begin writeln(tf, dm1.adqProduct.fieldbyname('product_id').asstring + ',' + dm1.adqProduct.fieldbyname('product_id').asstring + ',' + '0,'
{*************************************************************}{ }{ 电子条码秤 }{ 作者: 陈新光 }{ }{ Copyright (c) 2006 咏南工作室 }{ }{*************************************************************}{原理: 将电子秤商品导出为文本文件, 再用电子秤的下发程序导入该文本文件. 间接带来灵活, 所以可以处理所有品牌类型的电子秤. 石田在导入Plu文本文件时, 文件格式选择逗号分隔, 品名格式选择逐行品名 顶尖秤导出的文本文件扩展名必须是.txp}unit untDzc;interfaceuses SysUtils, commonFunction, Classes, db, adodb, d1;type Tdzc = class //baseClass protected tf: textFile; fc: Tcf; function formatPrice: string; virtual;//处理顶尖, 石田的单价 (原单价 * 100) procedure output; virtual; public constructor create; destructor destroy; override; end; TsgDzc = class(Tdzc) //寺冈 public procedure output; override; end; TtldDzc = class(Tdzc) //托利多 public procedure output; override; end; TdjDzc = class(Tdzc) //顶尖 public function formatPrice: string; override; procedure output; override; end; TthDzc = class(Tdzc) //太航 public procedure output; override; end; TdhDzc = class(Tdzc) //大华 public procedure output; override; end; TstDzc = class(Tdzc) //石田 public function formatPrice: string; override; procedure output; override; end; implementation{ Tdzc }{ TsgDzc }{ Tdzc }constructor Tdzc.create; begin inherited; fc := Tcf.Create; end; destructor Tdzc.destroy; begin freeandnil(fc); inherited; end; function Tdzc.formatPrice: string; begin end; procedure Tdzc.output; begin end; { TsgDzc }procedure TsgDzc.output;var spbh, dj, temps1, temps2: string; //商品编号, 单价 dzci: integer; //'.'在string中出现的位置begin try inherited; assignfile(tf, 'c:/plu.txt'); rewrite(tf); dm1.adqProduct.First; while not dm1.adqProduct.Eofdo begin //商品编号固定为六位, 不足六位的前面补零 spbh := fc.StrToStrEx(dm1.adqProduct.FieldByName('product_id').asstring, 'front', 6); //单价 dj := dm1.adqProduct.FieldByName('price').AsString; dzci := fc.FindStr('.', dj); if dzci = 0 then //没有小数部分 dj := fc.strtostrex(dj, 'front', 4) + '00' else //有小数部分 begin temps1 := copy(dj, 1, dzci - 1); //小数点左边 temps1 := fc.StrToStrEx(temps1, 'front', 4);//不足四位的前面补0 temps2 := copy(dj, dzci + 1, length(dj) - dzci); //小数点右边 temps2 := fc.StrToStrEx(temps2, 'back', 2); //不足两位的后面补0 dj := temps1 + temps2; end; //6位商品编号+0+6位单价+2位部门+13位条形码+3位保质期+品名+@ @ //条形码=5位商品编号+8个零 writeln(tf, spbh + '0' + dj + '01' + dm1.adqProduct.FieldByName('product_id').Asstring + '00000000' + '000' + dm1.adqProduct.FieldByName('product_name').Asstring + '@ @'); dm1.adqProduct.Next; end; finally close(tf); end; end; { TtldDzc }procedure TtldDzc.output; begin try inherited; assignfile(tf, 'c:/plu.txt'); rewrite(tf); dm1.adqProduct.First; //商品编号,+商品编号,+组号,+单价,+皮重号,+附加信息号,+标签号,+保质日期, //+推荐日期,+固定重量,+0,+0,+0,+商品名称, while not dm1.adqProduct.Eofdo begin writeln(tf, dm1.adqProduct.fieldbyname('product_id').asstring + ',' + dm1.adqProduct.fieldbyname('product_id').asstring + ',' + '0,'