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

📄 main1.pas

📁 思微POS连锁超市管理系统 (商业代码),几年前的东西了
💻 PAS
📖 第 1 页 / 共 3 页
字号:
                sss := '(促销)';
              end;
            end;
            if StatusBar1.Panels[9].Text = '会员' then
            begin
              if Query1.fieldbyname('hyj').asfloat > 0 then
              begin
                Edit3.Text := floattostr(Query1.fieldbyname('hyj').asfloat);
                hyyh.Text := floattostr(strtofloat(hyyh.text) + (Query1.fieldbyname('lsj').asfloat - Query1.fieldbyname('hyj').asfloat));
              end
              else
              begin
                Edit3.Text := floattostr(Query1.fieldbyname('lsj').asfloat);
              end;
            end;
            RxCalcEdit1.Text := copy(Trim(RxCalcEdit1.text), 8, 2) + '.' + copy(Trim(RxCalcEdit1.text), 10, 3);
            Edit1.text := Query1.fieldbyname('code').asstring;
            Edit2.text := Query1.fieldbyname('name').asstring;
            Edit4.Text := Query1.fieldbyname('jldw').asstring;
            RxCalcEdit1.SetFocus;
            RxCalcEdit1.SelectAll;
            try
              if sss = '(促销)' then
                Table1.AppendRecord([Edit1.text, Edit2.text, Edit4.text, Edit3.text, RxCalcEdit1.text, round(strtofloat(Edit3.text) * RxCalcEdit1.Value * 10) / 10, 0, 0, nil, '是'])
              else
                Table1.AppendRecord([Edit1.text, Edit2.text, Edit4.text, Edit3.text, RxCalcEdit1.text, round(strtofloat(Edit3.text) * RxCalcEdit1.Value * 10) / 10, 0, 0, nil, nil])
            except
            end;
            Table1.close;
            Table1.open;
            Table1.Last;
            pnt.Edit3.Text := Table1.Fields[0].Text;
            pnt.Edit4.Text := Table1.Fields[1].Text + sss;
            pnt.Edit5.Text := Table1.Fields[3].Text;
            pnt.Edit6.Text := Table1.Fields[4].Text;
            pnt.Edit7.Text := Table1.Fields[5].Text;
            pnt.Button14.Click;
            sss := '';
            Edit1.Text := '';
            Edit1.SetFocus;
            Edit2.Clear;
            Edit3.Clear;
            Edit4.Clear;
            RxCalcEdit1.Text := '0';
          end
          else
          begin
            Edit1.Clear;
            Edit2.Clear;
            Edit3.Clear;
            Edit4.Clear;
            RxCalcEdit1.Text := '0';
            Edit1.SetFocus;
          end;
        end
        else
        begin
          Edit1.Clear;
          Edit2.Clear;
          Edit3.Clear;
          Edit4.Clear;
          RxCalcEdit1.Text := '0';
          Edit1.SetFocus;
        end;
      end;
    end
    else
    begin
      try
        if sss = '(促销)' then
          Table1.AppendRecord([Edit1.text, Edit2.text, Edit4.text, Edit3.text, RxCalcEdit1.text, round(strtofloat(Edit3.text) * RxCalcEdit1.Value * 10) / 10, 0, 0, nil, '是'])
        else
          Table1.AppendRecord([Edit1.text, Edit2.text, Edit4.text, Edit3.text, RxCalcEdit1.text, round(strtofloat(Edit3.text) * RxCalcEdit1.Value * 10) / 10, 0, 0, nil, nil])
      except
      end;
      Table1.close;
      Table1.open;
      Table1.Last;
      pnt.Edit3.Text := Table1.Fields[0].Text;
      pnt.Edit4.Text := Table1.Fields[1].Text + sss;
      pnt.Edit5.Text := Table1.Fields[3].Text;
      pnt.Edit6.Text := Table1.Fields[4].Text;
      pnt.Edit7.Text := Table1.Fields[5].Text;
      pnt.Button14.Click;
      sss := '';
      Edit1.Text := '';
      Edit1.SetFocus;
      Edit3.text := '';
      Edit4.text := '';
      RxCalcEdit1.Text := '';
    end;
    if key = 120 then N15.Click;
  end;
end;

procedure TMain.N11Click(Sender: TObject);
begin
  if Table1.RecordCount > 0 then
  begin
    if Application.MessageBox(Pchar('是否删除商品:' + Table1.fieldbyname('spname').asstring), '提示', MB_YESNO + MB_ICONQUESTION) = IDYES then
    begin
      if StatusBar1.Panels[9].Text = '会员' then
      begin
        Query1.close;
        Query1.sql.clear;
        Query1.sql.add('select * from spda where code=:code');
        Query1.ParamByName('code').asfloat := Table1.fieldbyname('spcode').asfloat;
        Query1.open;
        hyyh.Text := floattostr(strtofloat(hyyh.text) - (Query1.fieldbyname('lsj').asfloat - Query1.fieldbyname('hyj').asfloat));
      end;
      Query1.close;
      Query1.sql.clear;
      Query1.sql.add('delete from spxs_t where id=:id');
      Query1.ParamByName('id').asfloat := Table1.fieldbyname('id').asfloat;
      Query1.ExecSQL;
      pnt.Edit3.Text := Table1.Fields[0].Text;
      pnt.Edit4.Text := Table1.Fields[1].Text + '[删除]';
      pnt.Edit5.Text := Table1.Fields[3].Text;
      pnt.Edit6.Text := Table1.Fields[4].Text;
      pnt.Edit7.Text := Table1.Fields[5].Text;
      pnt.Button14.Click;
      Table1.close;
      Table1.open;
      Table1.Last;
    end;
  end;
end;

procedure TMain.N8Click(Sender: TObject);
var dh: integer;
begin
  if Table1.RecordCount = 0 then
  begin
    Application.MessageBox('没有输入商品,不能挂单!', '提示', MB_OK + MB_ICONWARNING);
    exit;
  end;
  if Application.MessageBox('是否挂起本次交易?', '提示', MB_YESNO + MB_ICONQUESTION) = IDYES then
  begin
    Query1.close;
    Query1.sql.clear;
    Query1.sql.add('select max(gdh) from spxs_g');
    Query1.open;
    if Query1.fields[0].AsInteger = 0 then
    begin
      dh := 1;
    end
    else
    begin
      dh := Query1.fields[0].asinteger + 1;
    end;
    Table1.First;
    while not Table1.Eof do
    begin
      Table2.AppendRecord([Table1.fields[0].asstring,
        Table1.fields[1].asstring,
          Table1.fields[2].asstring,
          Table1.fields[3].asstring,
          Table1.fields[4].asstring,
          Table1.fields[5].asstring,
          Table1.fields[6].asstring,
          Table1.fields[7].asstring, dh, now]);
      Table1.Next;
    end;
    pnt.Edit1.Text := ' 挂单号: ' + inttostr(dh);
    pnt.Button17.Click; ;
    CheckBox1.Checked := true;
    pnt.Button18.Click;
    Table1.close;
    Table1.EmptyTable;
    Table1.open;
  end;
end;

procedure TMain.N9Click(Sender: TObject);
begin
  if Table1.RecordCount > 0 then
  begin
    Application.MessageBox('请先完成当前交易!', '提示', MB_OK + MB_ICONWARNING);
    exit;
  end;
  if Table2.RecordCount < 0 then
  begin
    Application.MessageBox('目前没有挂起的单据!', '提示', MB_OK + MB_ICONWARNING);
    exit;
  end;
  Application.CreateForm(Thfgd, hfgd);
  hfgd.show;
end;

procedure TMain.N14Click(Sender: TObject);
begin
  if Table1.RecordCount = 0 then exit;
  if Application.MessageBox('是否取消本次交易?', '提示', MB_YESNO + MB_ICONQUESTION) = IDYES then
  begin
    Table1.close;
    Table1.EmptyTable;
    Table1.open;
    Edit1.SetFocus;
    //取消交易
    pnt.Edit1.Text := '   取消本次交易';
    pnt.Button17.Click;
    pnt.Button18.Click;
    StatusBar1.Panels[9].Text := '普通';
    hyyh.text := '0';
    CheckBox1.Checked := true;
  end;
end;

procedure TMain.N15Click(Sender: TObject);
begin
  if Table1.RecordCount = 0 then
  begin
    Application.MessageBox('没有交易!', '提示', MB_OK + MB_ICONWARNING);
    exit;
  end;
  Application.CreateForm(Tsyjk, syjk);
  syjk.Table1.close;
  syjk.Table1.EmptyTable;
  syjk.Query1.close;
  syjk.Query1.sql.clear;
  syjk.Query1.sql.add('insert into syfk_t(fkfsid,fkfsname,yn_ce)');
  syjk.Query1.sql.add('select code,name,yn_ce from fkfs');
  syjk.Query1.ExecSQL;
  syjk.Table1.open;
  syjk.Query1.close;
  syjk.Query1.sql.clear;
  syjk.Query1.sql.add('select sum(je),sum(zkje) from spxs_t');
  syjk.Query1.open;
  syjk.Label2.Caption := floattostr(round(syjk.Query1.Fields[0].asfloat * 10) / 10);
  syjk.Label10.Caption := floattostr(round(syjk.Query1.Fields[1].asfloat * 10) / 10);
  syjk.Label4.Caption := '0.00';
  syjk.Label8.Caption := '0.00';
  if strtofloat(syjk.Label2.Caption) > 0 then syjk.Label8.Caption := floattostr(round(syjk.Query1.Fields[0].asfloat * 10) / 10);
  if strtofloat(syjk.Label2.Caption) < 0 then syjk.Label4.Caption := floattostr(round(syjk.Query1.Fields[0].asfloat * 10) / 10 * -1);
  syjk.Label7.Caption := '0.00';
  syjk.ShowModal;
end;

procedure TMain.N7Click(Sender: TObject);
var
  formTop, formLeft: Integer;
  Ctrl: TControl;
  DisplayForm: TForm;
begin
  formTop := Top;
  formLeft := Left;
  try
    DisplayForm := pass;
    ctrl := RxCalcEdit1;
    repeat
      formTop := formTop + ctrl.Top;
      formLeft := formLeft + ctrl.Left;
      ctrl := ctrl.Parent;
    until (ctrl is TForm);
    DisplayForm.Position := poScreenCenter;
    DisplayForm.ShowModal;
  finally
    DisplayForm.hide;
  end;
  if pass.Label2.Caption = 'no' then exit;
  if RxCalcEdit1.Focused = true then
  begin
    if Application.MessageBox('是否将此商品进行退货?', '提示', MB_YESNO + MB_ICONQUESTION) = IDYES then
    begin
      if CheckBox1.Checked then Main.pringbt(Sender);
      try
        if sss = '(促销)' then
          Table1.AppendRecord([Edit1.text, Edit2.text, Edit4.text, Edit3.text, '-' + RxCalcEdit1.text, strtofloat(Edit3.text) * -RxCalcEdit1.Value, 0, 0, nil, '是'])
        else
          Table1.AppendRecord([Edit1.text, Edit2.text, Edit4.text, Edit3.text, '-' + RxCalcEdit1.text, strtofloat(Edit3.text) * -RxCalcEdit1.Value, 0, 0, nil, nil])
      except
      end;
      Table1.close;
      Table1.open;
      Table1.Last;
      pnt.Edit3.Text := Table1.Fields[0].Text;
      pnt.Edit4.Text := Table1.Fields[1].Text + '[退货]';
      pnt.Edit5.Text := Table1.Fields[3].Text;
      pnt.Edit6.Text := Table1.Fields[4].Text;
      pnt.Edit7.Text := Table1.Fields[5].Text;
      pnt.Button14.Click;
      Edit1.Clear;
      Edit1.SetFocus;
    end;
  end;
end;

procedure TMain.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
  if Table1.RecordCount > 0 then
  begin
    if Application.MessageBox('是否取消此次交易,退出系统?', '提示', MB_YESNO + MB_ICONQUESTION) = IDYES then
    begin
      CanClose := true;
      Table1.Close;
      Table1.EmptyTable;
    end
    else
    begin
      CanClose := false;
      exit;
    end;
  end;
end;

procedure TMain.N12Click(Sender: TObject);
begin
  if Table1.RecordCount > 0 then
  begin
    if Application.MessageBox('是否取消此次交易,进行交接班?', '提示', MB_YESNO + MB_ICONQUESTION) = IDYES then
    begin
      Table1.Close;
      Table1.EmptyTable;
      Table1.open;
      pnt.Edit1.Text := '     ****取消交易****';
      pnt.Button17.Click; ;
    end
    else
    begin
      exit;
    end;
  end;
  Login.Show;
  login.Edit3.Text:='';
  login.Edit3.SetFocus;
  Main.Visible:=false;
end;

procedure TMain.Timer1Timer(Sender: TObject);
begin
  StatusBar1.Panels[8].Text := formatdatetime('yyyy-mm-dd hh:mm:ss', now);
end;

procedure TMain.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  login.Close;
end;

procedure TMain.N2Click(Sender: TObject);
begin
  close;
end;

procedure TMain.FormActivate(Sender: TObject);
var Reg, Reg1: TRegistry;
  Regs: integer;
begin
  Query1.close;
  Query1.sql.clear;
  Query1.sql.add('select gj from qx001');
  Query1.Open;
  Edit3.ReadOnly := not Query1.Fields[0].AsBoolean;
  Reg := TRegistry.Create;
  Reg1 := TRegistry.Create;
  try
    Reg.RootKey := HKEY_LOCAL_MACHINE;
    Reg1.RootKey := HKEY_CLASSES_ROOT;
    if Reg.OpenKey('\Software\Microsoft\Windows\CurrentVersion\kissliu\pos', False) then
    begin
      if Reg1.OpenKey('\showregedit\ggg', False) = false then
      begin
        Application.MessageBox('注册表出现严重错误.', '注意', MB_OK + MB_ICONERROR);
        Application.Terminate;
      end;
      if zc.Edit1.Text <> 'ErrorQT' then
      begin
        if (Reg.ReadString('Regin') <> zc.Edit1.Text) or (Reg.ReadString('time') <> floattostr(strtoint(Reg1.ReadString('sass')) / 1024)) then
        begin
          Application.MessageBox('注册表出现严重错误.', '注意', MB_OK + MB_ICONERROR);
          Application.Terminate;
        end;
      end;
      if Reg.ReadString('Regcode') <> zc.Edit2.Text then
      begin
        Regs := strtoint(Reg.ReadString('Time'));
        if Reg.ReadString('Date') <> formatdatetime('mmyyyydd', now()) then
        begin
          Regs := strtoint(Reg.ReadString('Time')) + 1;
          Reg.WriteString('Time', inttostr(Regs));
          Reg.WriteString('Date', formatdatetime('mmyyyydd', now()));
          Reg1.WriteString('sass', inttostr(Regs * 1024));
        end;

⌨️ 快捷键说明

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