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

📄 unitmycx.pas

📁 这是一个很好的超市管理系统
💻 PAS
字号:
unit UnitMYCX;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, StdCtrls, Buttons, ComCtrls, Grids, DBGrids;

type
  TFrmMYCX = class(TForm)
    PageControl1: TPageControl;
    TabSheet1: TTabSheet;
    TabSheet2: TTabSheet;
    Label1: TLabel;
    DBGrid1: TDBGrid;
    Label2: TLabel;
    DateTimePicker1: TDateTimePicker;
    BitBtn1: TBitBtn;
    GroupBox1: TGroupBox;
    Label3: TLabel;
    Label4: TLabel;
    Edit1: TEdit;
    Edit2: TEdit;
    Label5: TLabel;
    DBGrid2: TDBGrid;
    Label6: TLabel;
    DateTimePicker2: TDateTimePicker;
    BitBtn2: TBitBtn;
    Label7: TLabel;
    Edit3: TEdit;
    BitBtn3: TBitBtn;
    procedure PageControl1Change(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
    procedure BitBtn3Click(Sender: TObject);

  private
    { Private declarations }

  public
    { Public declarations }
  end;

var
  FrmMYCX: TFrmMYCX;

implementation

uses UnitDM, MYCX2QRT1;

{$R *.dfm}


procedure TFrmMYCX.PageControl1Change(Sender: TObject);
begin
  case PageControl1.TabIndex of
  0:
    begin
      DM.ADOQTEMP6.Close;
      DM.ADOQTEMP6.Open;
      caption := '销售';
      Edit1.Enabled := false;
      Edit2.Enabled := false;
      Edit1.Color := clLtGray;
      Edit2.Color := clLtGray;
    end;
  1:
    begin
      caption := '退货';
      Edit3.Enabled := false;
      Edit3.Color := clLtGray;
    end;
  end;
end;

procedure TFrmMYCX.FormShow(Sender: TObject);
begin
  DM.ADOQTEMP6.Close;
  DM.ADOQTEMP6.Open;
  DM.ADOQTEMP1.Close;
  DM.ADOQTEMP1.Open;
end;


procedure TFrmMYCX.BitBtn1Click(Sender: TObject);
var
  str1, str2, str3: string;
  moneys: real;
begin
  moneys := 0;
  str1 := 'select sell_id, sell_prod_id, sell_prod_name, sell_prod_price, sell_number, sell_money, sell_time from sell where sell_time = :time';
  str2 := 'select sum(sell_money) total_money from sell';
  str3 := 'select in_price from stock where in_prod_id = :id';
  with DM.ADOQTEMP6 do
  begin
    close;
    SQL.Clear;
    SQL.Add(str1);
    parameters.ParamByName('time').Value := Datetimepicker1.Date;
    if (not prepared) then
      prepared := true;
    try
      open;
    except
      ExecSQL;
    end;
    while (not eof) do
    begin
      with DM.ADOQTEMP2 do
      begin
        close;
        SQL.Clear;
        SQL.Add(str3);
        parameters.ParamByName('id').Value := DM.ADOQTEMP6.fieldbyname('sell_prod_id').Value;
        if (not prepared) then
          prepared := true;
        try
          open;
        except
          ExecSQL;
        end;
        moneys := moneys + DM.ADOQTEMP2.fieldbyname('in_price').Value * DM.ADOQTEMP6.fieldbyname('sell_number').Value;
      end;
      next;
    end;
  end;

  with DM.ADOQTEMP1 do
  begin
    close;
    SQL.Clear;
    SQL.Add(str2);
    if (not prepared) then
      prepared := true;
    try
      open;
    except
      ExecSQL;
    end;
    Edit1.Text := fieldbyname('total_money').AsVariant;
   end;
   Edit2.Text := floattostr(strtofloat(Edit1.Text) - moneys);
   Edit1.Enabled := true;
   Edit1.Color := clwindow;
   Edit2.Enabled := true;
   Edit2.Color := clWindow;
end;

procedure TFrmMYCX.BitBtn2Click(Sender: TObject);
var
  str1, str2: string;
  moneys: real;
begin
  moneys := 0;
  str1 := 'select * from back where back_time = :time';
  str2 := 'select in_price from stock where in_prod_id = :id';
  with DM.ADOQTEMP1 do
  begin
    close;
    SQL.Clear;
    SQL.Add(str1);
    parameters.ParamByName('time').Value := DateTimepicker2.Date;
    if (not prepared) then
      prepared := true;
    try
      open;
    except
      ExecSQL;
    end;
    while (not eof) do
    begin
      with DM.ADOQTEMP2 do
      begin
        close;
        SQL.Clear;
        SQL.Add(str2);
        parameters.ParamByName('id').Value := DM.ADOQTEMP1.fieldbyname('back_prod_id').Value;
        if (not prepared) then
          prepared := true;
        try
          open;
        except
          ExecSQL;
        end;
        moneys := moneys + DM.ADOQTEMP2.fieldbyname('in_price').Value * DM.ADOQTEMP1.fieldbyname('back_prod_number').Value;
      end;
      next;
    end;
  end;
    Edit3.Text := floattostr(moneys);
    Edit3.Enabled := true;
    Edit3.Color := clWindow;
end;

procedure TFrmMYCX.BitBtn3Click(Sender: TObject);
begin
  QRTMYCX2.Preview;
end;

end.

⌨️ 快捷键说明

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