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

📄 syjk1.pas

📁 思微POS连锁超市管理系统 (商业代码),几年前的东西了
💻 PAS
字号:
unit syjk1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  EHGrids, DBGridEh, DBTables, Db, StdCtrls, ADODB;

type
  Tsyjk = class(TForm)
    Label1: TLabel;
    Edit1: TEdit;
    DataSource1: TDataSource;
    Button1: TButton;
    Label2: TLabel;
    Edit2: TEdit;
    DBGridEh1: TDBGridEh;
    Table1: TADOTable;
    Query1: TADOQuery;
    Query2: TADOQuery;
    Table1fkfs: TStringField;
    Table1ysje: TBCDField;
    Table1ssje: TBCDField;
    Table1ce: TBCDField;
    procedure FormCreate(Sender: TObject);
    procedure Edit1Exit(Sender: TObject);
    procedure Edit1KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure DBGridEh1KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure Table1BeforeScroll(DataSet: TDataSet);
    procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
    procedure Button1Click(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  syjk: Tsyjk;

implementation

uses MainForm1;

{$R *.DFM}

procedure Tsyjk.FormCreate(Sender: TObject);
begin
  Edit2.Text := datetostr(now());
end;

procedure Tsyjk.Edit1Exit(Sender: TObject);
begin
  Query1.close;
  Query1.sql.clear;
  Query1.sql.add('delete from syjkb_t');
  Query1.ExecSQL;
  Table1.Close;
  Table1.Open;
  Query1.close;
  Query1.sql.clear;
  Query1.sql.add('select name,sum(fkje),0,sum(fkje) from syjk_v');
  Query1.sql.add('where zt=:zt and skyid=:skyid');
  Query1.sql.add('group by name');
  Query1.Parameters[0].Value := '未结款';
  Query1.Parameters[1].Value := Edit1.text;
  Query1.open;
  if Query1.RecordCount > 0 then
  begin
    Query1.First;
    while not Query1.Eof do
    begin
      Table1.InsertRecord([Query1.fields[0].value, Query1.fields[1].value, 0, Query1.fields[3].value]);
      Query1.Next;
    end;
  end
  else
  begin
    Edit1.SetFocus;
  end;
end;

procedure Tsyjk.Edit1KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if key = 13 then DBGridEh1.SetFocus;
end;

procedure Tsyjk.DBGridEh1KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if key = 13 then
  begin
    try
      Table1.Post;
    except
    end;
    Table1.Edit;
    Table1.FieldByName('ce').asfloat := Table1.FieldByName('ssje').asfloat - Table1.FieldByName('ysje').asfloat;
    Table1.post;
  end;
end;

procedure Tsyjk.Table1BeforeScroll(DataSet: TDataSet);
begin
  if Table1.Eof = true then
    PostMessage(DBGridEh1.Handle, WM_KEYDOWN, 38, 0);
end;

procedure Tsyjk.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
  Table1.close;
end;

procedure Tsyjk.Button1Click(Sender: TObject);
begin
  if application.MessageBox('是否现在结款?', '提示', MB_YESNO + MB_ICONQUESTION) = IDNO then exit;
  if Table1.RecordCount = 0 then exit;
  table1.First;
  while not Table1.Eof do
  begin
    Query2.close;
    Query2.sql.clear;
    Query2.sql.add('insert into syjkb(jkrq,syy,fkfs,ysje,ssje)');
    Query2.sql.add('values (:jkrq,:syy,:fkfs,:ysje,:ssje)');
    Query2.Parameters[0].Value := datetostr(now());
    Query2.Parameters[1].Value := Edit1.Text;
    Query2.Parameters[2].Value := Table1.fieldbyname('fkfs').asstring;
    Query2.Parameters[3].Value := Table1.fieldbyname('ysje').asfloat;
    Query2.Parameters[4].Value := Table1.fieldbyname('ssje').asfloat;
    Query2.ExecSQL;
    Table1.Next;
  end;
  Query2.close;
  Query2.sql.clear;
  Query2.sql.add('delete from syfk where xsid in(select xsid from spxs_m where skyid=:id)');
  Query2.Parameters[0].Value := Edit1.text;
  Query2.ExecSQL;
  Query1.close;
  Query1.sql.clear;
  Query1.sql.add('delete from syjkb_t');
  Query1.ExecSQL;
  Table1.Close;
  Table1.Open;
  Edit1.Clear;
  Edit1.SetFocus;
end;

procedure Tsyjk.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  action := cafree;
end;

end.

⌨️ 快捷键说明

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