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

📄 unit13.pas

📁 PosEasy收银系统源码,Pos机前后台管理代码
💻 PAS
字号:
unit Unit13;

interface

uses
  Classes,Messages,SysUtils,Dialogs,Windows;

type
  TloadThread = class(TThread)
  private
    { Private declarations }
  protected
    procedure Execute; override;
  public
    constructor Create(CreateSuspended:Boolean);  
  end;

implementation
uses unit1;
{ Important: Methods and properties of objects in VCL can only be used in a
  method called using Synchronize, for example,

      Synchronize(UpdateCaption);

  and UpdateCaption could look like,

    procedure TloadThread.UpdateCaption;
    begin
      Form1.Caption := 'Updated in a thread';
    end; }

{ TloadThread }

constructor TloadThread.Create(CreateSuspended: Boolean);
begin
  inherited create(false);
  freeonterminate:=true;
end;

procedure TloadThread.Execute;
var
 tmpsql:string;
 pinming,paihao,tiaoma,guige,fenlei,dengji,changjia,xiaoshoubumen,wujiayuan,lastdate,jingshouren,beizhu:string;
 jinjia,shoujia,zhekou:real;
 clerkname,clerkcode,clerkpass,depcode,clerklevel:string;
begin
  { Place thread code here }
  //事物开始
 form1.database2.StartTransaction;
 try
  begin

 //清除本地机的老信息
  with form1.querypricepos do
  begin
   tmpsql:='delete from pricebase';
   close;
   sql.Clear;
   sql.add(tmpsql);
   prepare;
   try
    execsql;
   except
    messagebox(form1.handle,'数据下载失败','警告',MB_OK+MB_ICONERROR);
    exit;
   end;
  end;
  with form1.querypricepos do
  begin
   tmpsql:='delete from clerkbase';
   close;
   sql.Clear;
   sql.add(tmpsql);
   prepare;
   try
    execsql;
   except
    messagebox(form1.handle,'数据下载失败','警告',MB_OK+MB_ICONERROR);
    exit;
   end;
  end;

  //下载价格库信息
  with form1.querypriceserver do
  begin
   tmpsql:='select * from  pricebase';
   close;
   sql.clear;
   sql.add(tmpsql);
   prepare;
   try
    open;
   except
    messagebox(form1.handle,'数据下载失败','警告',MB_OK+MB_ICONERROR);
    exit;
   end;
  end;
  while not form1.querypriceserver.eof do
   begin
     pinming:=form1.querypriceserver['品名'];
     if trim(form1.querypriceserver['牌号'])=null then
        paihao:='无'
     else
        paihao:=form1.querypriceserver['牌号'];
     tiaoma:=form1.querypriceserver['条码'];
     if trim(form1.querypriceserver['规格'])=null then
       guige:='无'
     else
       guige:=form1.querypriceserver['规格'];
     if trim(form1.querypriceserver['分类'])=null then
       fenlei:='无'
     else
       fenlei:=form1.querypriceserver['分类'];
     if trim(form1.querypriceserver['等级'])='' then
      dengji:='无'
     else
     dengji:=form1.querypriceserver['等级'];

     if trim(form1.querypriceserver['厂家'])=null then
       changjia:='无'
     else
       changjia:=form1.querypriceserver['厂家'];

     if form1.querypriceserver['进价']=null then
        jinjia:=0
     else
        jinjia:=form1.querypriceserver['进价'];

     shoujia:=form1.querypriceserver['售价'];
     if trim(form1.querypriceserver['销售部门'])=null then
        xiaoshoubumen:='无'
     else
        xiaoshoubumen:=form1.querypriceserver['销售部门'];
     if trim(form1.querypriceserver['物价员'])=null then
        wujiayuan:='无'
     else
        wujiayuan:=form1.querypriceserver['物价员'];
     lastdate:=form1.querypriceserver['最后更新日期'];
     if trim(form1.querypriceserver['经手人'])=null then
       jingshouren:='无'
     else
       jingshouren:=form1.querypriceserver['经手人'];
    if form1.querypriceserver['备注']=null then
     beizhu:='无'
    else
     beizhu:=form1.querypriceserver['备注'];
    if form1.querypriceserver['折扣']=null then
     zhekou:=0
    else
     zhekou:=form1.querypriceserver['折扣'];
    with form1.querypricepos do
     begin
      tmpsql:='Insert into pricebase(品名,牌号,条码,规格,分类,等级,厂家,进价,售价,销售部门,物价员,最后更新日期,经手人,备注,折扣)';
      tmpsql:=tmpsql+' values('''+pinming+''','''+paihao+''','''+tiaoma+''','''+guige+''','''+fenlei+''',';
      tmpsql:=tmpsql+''''+dengji+''','''+changjia+''','+floattostr(jinjia)+','+floattostr(shoujia)+','''+xiaoshoubumen+''','''+wujiayuan+''','''+lastdate+''','''+jingshouren+''','''+beizhu+''','+floattostr(zhekou)+')';
      close;
      sql.clear;
      sql.add(tmpsql);
      prepare;
      try
       execsql;
      except
       messagebox(form1.handle,'数据下载失败','警告',MB_OK+MB_ICONERROR);
       exit;
      end;
     end;



    form1.querypriceserver.Next;

   end;
   //下载收银员库信息
  with form1.querypriceserver do
  begin
   tmpsql:='select * from  clerkbase';
   close;
   sql.clear;
   sql.add(tmpsql);
   prepare;
   try
    open;
   except
    messagebox(form1.handle,'数据下载失败','警告',MB_OK+MB_ICONERROR);
    exit;
   end;
  end;
  while not form1.querypriceserver.eof do
   begin
     if form1.querypriceserver['cname']=null then
       clerkname:='无'
     else
       clerkname:=form1.querypriceserver['cname'];
     if form1.querypriceserver['ccode']=null then
       clerkcode:='无'
     else
       clerkcode:=form1.querypriceserver['ccode'];
     if form1.querypriceserver['cpass']=null then
       clerkpass:='无'
     else
       clerkpass:=form1.querypriceserver['cpass'];
     if form1.querypriceserver['depcode']=null then
        depcode:='无'
     else
        depcode:=form1.querypriceserver['depcode'];
     if form1.querypriceserver['clevel']=null then
        clerklevel:='无'
     else
        clerklevel:=form1.querypriceserver['clevel'];
     with form1.querypricepos do
     begin
      tmpsql:='Insert into clerkbase(cname,ccode,cpass,depcode,clevel)';
      tmpsql:=tmpsql+' values('''+clerkname+''','''+clerkcode+''','''+clerkpass+''','''+depcode+''','''+clerklevel+''')';
      close;
      sql.clear;
      sql.add(tmpsql);
      prepare;
      try
       execsql;
      except
       messagebox(form1.handle,'数据下载失败','警告',MB_OK+MB_ICONERROR);
       exit;
      end;
     end;
    form1.querypriceserver.Next;

   end;
   //事物提交
    form1.database2.Commit;
  end
 except
   //事物恢复
   form1.database2.Rollback;
   messagebox(form1.handle,'数据下载失败','警告',MB_OK+MB_ICONINFORMATION);

   exit;
 end;

end;

end.

⌨️ 快捷键说明

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