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

📄 fujiafrm.pas

📁 程序用Delphi6编写
💻 PAS
字号:
unit FuJiaFrm;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Grids, DBGridEh, ComCtrls, ToolWin, ExtCtrls;

type
  TfrmFuJia = class(TForm)
    CoolBar1: TCoolBar;
    ToolBar1: TToolBar;
    btnBuy: TToolButton;
    btnCancel: TToolButton;
    btnEdit: TToolButton;
    Panel1: TPanel;
    Splitter1: TSplitter;
    Panel2: TPanel;
    Panel3: TPanel;
    Panel4: TPanel;
    grdSell: TDBGridEh;
    grdBuy: TDBGridEh;
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure btnBuyClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure grdSellEnter(Sender: TObject);
    procedure btnEditClick(Sender: TObject);
    procedure btnCancelClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
    procedure SetButtonState;
  end;

var
  frmFuJia: TfrmFuJia;

implementation

uses MainDM, MainFrm, SpNumFrm, DB, ADODB, FuJiaOtherFrm;

{$R *.dfm}

procedure TfrmFuJia.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  Action := caFree;
end;

procedure TfrmFuJia.btnBuyClick(Sender: TObject);
var
  ComputerID, SpNo: Integer;
  SpName: string;
begin
  ComputerID := dmMain.tblMain['机号'];
  if dmMain.tblSpSell.RecordCount > 0 then
  begin
    SpName := dmMain.tblSpSell['品名'];
    frmSpNum := TfrmSpNum.Create(Self);
    try
      if frmSpNum.ShowModal = mrOK then
      begin
        SpNo := frmSpNum.SpinEdit1.Value;
        begin
          with dmMain.tblSpBuy do
          begin
            First;
            while not Eof do
            begin
              if FieldByName('机号').Value = ComputerID then
                if FieldByName('品名').Value = SpName then
                begin
                  Edit;
                  FieldByName('数量').Value := FieldByName('数量').Value + SpNo;
                  Post;
                  Exit;
                end;
              Next;
            end;
            Append;
            FieldByName('机号').Value := ComputerID;
            FieldByName('品名').Value := SpName;
            FieldByName('售价').Value := dmMain.tblSpSell['售价'];
            FieldByName('数量').Value := SpNo;
            FieldByName('类型').Value := True;
            Post;
          end;
        end;
      end;
    finally
      frmSpNum.Free;
    end;
  end;
end;

procedure TfrmFuJia.SetButtonState;
begin
  if ActiveControl = grdSell then
  begin
    btnCancel.Enabled := False;
    btnEdit.Enabled := False;
    btnBuy.Enabled := True;
  end
  else
  begin
    btnCancel.Enabled := True;
    btnEdit.Enabled := True;
    btnBuy.Enabled := False;
  end;
end;

procedure TfrmFuJia.FormCreate(Sender: TObject);
begin
  SetButtonState;
end;

procedure TfrmFuJia.grdSellEnter(Sender: TObject);
begin
  SetButtonState
end;

procedure TfrmFuJia.btnEditClick(Sender: TObject);
begin
  if dmMain.tblSpBuy.FieldValues['类型'] = False then
  begin
    ShowMessage('该项目不可修改!');
    exit;
  end;
  frmSpNum := TfrmSpNum.Create(Self);
  try
    if dmMain.tblSpBuy.RecordCount > 0 then
    begin
      frmSpNum.SpinEdit1.Value := dmMain.tblSpBuy['数量'];
      if frmSpNum.ShowModal = mrOK then
      begin
        dmMain.tblSpBuy.Edit;
        dmMain.tblSpBuy.FieldByName('数量').Value := frmSpNum.SpinEdit1.Value;
        dmMain.tblSpBuy.Post;
      end;
    end;
  finally
    frmSpNum.Free;
  end;

end;

procedure TfrmFuJia.btnCancelClick(Sender: TObject);
begin
  if dmMain.tblSpBuy.RecordCount > 0 then
    if MessageDlg('确实要删除已购买的商品吗?', mtWarning, [mbYes, mbNo], 0) = mrYes then
      dmMain.tblSpBuy.Delete;
end;

end.

⌨️ 快捷键说明

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