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

📄 ufbookalert.~pas

📁 一个功能较全的图书进销存软件,功能还算完备
💻 ~PAS
字号:
unit ufBookAlert;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, DB, Grids, DBGrids, StdCtrls, Buttons, DBCtrls, Mask,ADODB;

type
  TfBookAlert = class(TForm)
    Panel1: TPanel;
    Panel2: TPanel;
    Splitter1: TSplitter;
    dsAlert: TDataSource;
    DBGrid1: TDBGrid;
    GroupBox1: TGroupBox;
    dtxtOpe: TDBText;
    dtxtDate: TDBText;
    P_name: TStaticText;
    dedtBarcode: TDBEdit;
    StaticText3: TStaticText;
    StaticText4: TStaticText;
    dedtCnName: TDBEdit;
    StaticText5: TStaticText;
    dedtPrice: TDBEdit;
    StaticText6: TStaticText;
    dcbxType: TDBComboBox;
    StaticText7: TStaticText;
    dedtCode: TDBEdit;
    StaticText8: TStaticText;
    dedtISBN: TDBEdit;
    StaticText17: TStaticText;
    dedtQty: TDBEdit;
    StaticText18: TStaticText;
    dedtAQty: TDBEdit;
    StaticText9: TStaticText;
    dedtEnName: TDBEdit;
    StaticText22: TStaticText;
    StaticText10: TStaticText;
    dedtGetID: TDBEdit;
    StaticText11: TStaticText;
    dedtInP: TDBEdit;
    StaticText12: TStaticText;
    dedtPage: TDBEdit;
    StaticText13: TStaticText;
    dcbxMType: TDBComboBox;
    StaticText14: TStaticText;
    dcbxZaiti: TDBComboBox;
    p_ID: TStaticText;
    cbxPro_name: TComboBox;
    StaticText21: TStaticText;
    StaticText1: TStaticText;
    dedtInfo: TDBEdit;
    StaticText2: TStaticText;
    dedtDID: TDBEdit;
    StaticText20: TStaticText;
    dchkbxStatus1: TDBCheckBox;
    dcbxPro_ID: TDBComboBox;
    Panel3: TPanel;
    UpdateBtn: TBitBtn;
    ApplyBtn: TBitBtn;
    CancelBtn: TBitBtn;
    ExitBtn: TBitBtn;
    Splitter2: TSplitter;
    Splitter3: TSplitter;
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure exitBtnClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure UpdateBtnClick(Sender: TObject);
    procedure CancelBtnClick(Sender: TObject);
    procedure ApplyBtnClick(Sender: TObject);
    procedure dedtAQtyKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
  private
    procedure SetStatus(status:boolean);   //置控件状态
    procedure SetBStatus(status:boolean);  //置按钮状态
    procedure SEtPstatus(status:boolean);  //置供应商对应的控件状态
    { Private declarations }
  public
    { Public declarations }
  end;
const
  Ope='张三';
var
  fBookAlert: TfBookAlert;

implementation

uses udmpublish, Uglobal;

{$R *.dfm}

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

procedure TfBookAlert.exitBtnClick(Sender: TObject);
begin
close;
end;
//窗体初始化
procedure TfBookAlert.FormCreate(Sender: TObject);
begin
  //打开表
  if c_getPid2(dmpublish.adsShare,'ID','NAME','PROVIDER','STATUS',dcbxPro_id,cbxPro_name) then
  begin
    with dmpublish do
    begin
      if adsalert.Active then
        adsalert.Active:=false;
      if not adsalert.Active then
      begin
        adsalert.commandtext:='select * from PUBLISH_BOOK where STATUS=''1'' and Store_quantity<=Alert_quantity';
        adsalert.Active:=true;
      end;
    end;
  end;
end;
//窗体显示
procedure TfBookAlert.FormShow(Sender: TObject);
begin
  //置控件状态为无效
  SetStatus(false);
  //置按钮状态为有效
  SetBStatus(true);
  SetPstatus(false);
  //重新查询一遍
  dmpublish.adsalert.Requery();
end;

procedure TfBookAlert.SetBStatus(status: boolean);
begin
  UpdateBtn.Enabled:=status;
  ExitBtn.Enabled:=status;
  Applybtn.Enabled:=not status;
  CancelBtn.Enabled:=not status;
end;
{ TODO : 修改 }
procedure TfBookAlert.UpdateBtnClick(Sender: TObject);
begin
  if dmpublish.adsalert.RecordCount <= 0 then
    MSG('数据库为空,修改操作取消!','E')
  else
  begin
    //置按钮状态为无效
    SetBStatus(false);
    setStatus(false);
    SetPStatus(true);
    cbxpro_name.Enabled:=false;
    { TODO : 只能改预警数量 }
    dedtaqty.Enabled:=true;
    dmpublish.adsalert.Edit;
    cbxpro_name.ItemIndex:=dcbxpro_id.Items.IndexOf(trim(dcbxpro_id.Text));
    dedtaqty.SetFocus;
  end;

end;

procedure TfBookAlert.CancelBtnClick(Sender: TObject);
begin
 if Msg('确定要取消操作吗?','Q')then
  begin
    dmpublish.adsalert.CancelUpdates;
    formshow(fBookAlert);
  end;
end;

procedure TfBookAlert.SetStatus(status: boolean);
begin
  dcbxMType.Enabled:=status;
  dcbxType.Enabled:=status;
  dcbxZaiti.Enabled:=status;
  dedtAQty.Enabled:=status;
  dedtBarcode.Enabled:=status;
  dedtCnname.Enabled:=status;
  dedtCode.Enabled:=status;
  dedtEnname.Enabled:=status;
  dedtGEtID.Enabled:=status;
  dedtInp.Enabled:=status;
  dedtisbn.Enabled:=status;
  dedtpage.Enabled:=status;
  dedtprice.Enabled:=status;
  dedtqty.Enabled:=status;
  dedtinfo.Enabled:=status;
  dedtDID.Enabled:=status;
end;

procedure TfBookAlert.ApplyBtnClick(Sender: TObject);
begin
    //取数据库时间
    with dmpublish.l_store do
    begin
      procedurename:='geddate;1';
      parameters.Clear;
      parameters.CreateParameter('@out',ftDatetime,pdoutput,0,Unassigned);
      Prepared;
      execproc;
      if parameters[0].Value<>null then
      begin
        dtxtDate.Field.AsString:=FormatDateTime('YYYY-MM-DD',parameters[0].Value);
      end
      else
        dtxtDate.Field.AsString:=FormatDateTime('YYYY-MM-DD',Now());
    end;
    dtxtOpe.Field.AsString:=Ope;
    { TODO : 保存记录 }
    try
      dmpublish.adsalert.UpdateBatch();      //保存
      MSG('记录修改成功!','I');
      formshow(fBookAlert);
    except
      MSG('操作出错,记录修改失败!','W');
      dmpublish.adsalert.CancelUpdates;
      formshow(fBookAlert);
    end;

end;

procedure TfBookAlert.SEtPstatus(status: boolean);
begin
  P_ID.Visible:=not Status;
  dcbxPro_ID.Visible:=not Status;
  dcbxPro_ID.Enabled:=status;
  P_name.Visible:=status;
  cbxPro_name.Visible:=status;
  cbxPro_Name.Enabled:=status;
end;

procedure TfBookAlert.dedtAQtyKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
if Key=Vk_Return then
  applybtn.SetFocus;
end;

end.

⌨️ 快捷键说明

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