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

📄 u_clsld.pas

📁 《delphi深度编程及其项目开发》
💻 PAS
📖 第 1 页 / 共 2 页
字号:
unit U_clsld;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, DBCtrls, Buttons, Mask, Grids, DBGrids, ExtCtrls, Db, DBClient,
  ComCtrls, Menus, ImgList, QuickRpt, Qrctrls, variants;

type
  TfrmClsld = class(TForm)
    ScrollBox2: TScrollBox;
    pnl_detail: TPanel;
    DBGrid: TDBGrid;
    pnl_operate: TPanel;
    btn_insert: TSpeedButton;
    btn_find: TSpeedButton;
    btn_save: TSpeedButton;
    btn_cancel: TSpeedButton;
    btn_delete: TSpeedButton;
    btn_edit: TSpeedButton;
    btn_refresh: TSpeedButton;
    DBNavigator: TDBNavigator;
    pnl_Main: TPanel;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    Label9: TLabel;
    Label10: TLabel;
    Label14: TLabel;
    Label15: TLabel;
    Label39: TLabel;
    edtSlzh: TDBEdit;
    edtZdrq: TDBEdit;
    edtGycj: TDBEdit;
    edtWzly: TDBEdit;
    edtCgr: TDBEdit;
    edtHtbh: TDBEdit;
    edtFpje: TDBEdit;
    edtQzyzf: TDBEdit;
    edtFph: TDBEdit;
    edtShr: TDBEdit;
    edtDjbz: TDBEdit;
    cbSfsh: TDBCheckBox;
    cmbCkmc: TDBComboBox;
    pnl_Main1: TPanel;
    Label11: TLabel;
    Label12: TLabel;
    Label13: TLabel;
    edtZg: TDBEdit;
    edtZdr: TDBEdit;
    edtYsr: TDBEdit;
    DataSource_Main: TDataSource;
    DataSource_Detail: TDataSource;
    StatusBar1: TStatusBar;
    btn_cgr: TBitBtn;
    btn_zg: TBitBtn;
    btn_zdr: TBitBtn;
    btn_ysr: TBitBtn;
    Timer1: TTimer;
    pm_Detail: TPopupMenu;
    ImageList1: TImageList;
    pmi_Insert: TMenuItem;
    pmi_Delete: TMenuItem;
    btn_print: TSpeedButton;
    PopupMenu2: TPopupMenu;
    N_Passed: TMenuItem;
    N_NotPassed: TMenuItem;
    N_All: TMenuItem;
    QuickRep: TQuickRep;
    QRBand1: TQRBand;
    QRLabel1: TQRLabel;
    QRLabel2: TQRLabel;
    QRLabel3: TQRLabel;
    QRDBText1: TQRDBText;
    QRDBText2: TQRDBText;
    QRDBText3: TQRDBText;
    QRLabel7: TQRLabel;
    QRLabel8: TQRLabel;
    QRLabel9: TQRLabel;
    QRDBText7: TQRDBText;
    QRDBText8: TQRDBText;
    QRDBText9: TQRDBText;
    QRLabel10: TQRLabel;
    QRDBText10: TQRDBText;
    QRLabel4: TQRLabel;
    QRLabel5: TQRLabel;
    QRLabel6: TQRLabel;
    QRDBText4: TQRDBText;
    QRDBText5: TQRDBText;
    QRDBText6: TQRDBText;
    QRLabel11: TQRLabel;
    QRLabel12: TQRLabel;
    QRLabel13: TQRLabel;
    QRDBText11: TQRDBText;
    QRDBText12: TQRDBText;
    QRDBText13: TQRDBText;
    PageHeaderBand1: TQRBand;
    QRLabel14: TQRLabel;
    QRLabel22: TQRLabel;
    QRSysData1: TQRSysData;
    QRShape1: TQRShape;
    QRSubDetail1: TQRSubDetail;
    QRDBText14: TQRDBText;
    QRDBText15: TQRDBText;
    QRDBText16: TQRDBText;
    QRDBText17: TQRDBText;
    QRDBText18: TQRDBText;
    QRDBText19: TQRDBText;
    QRShape2: TQRShape;
    SummaryBand1: TQRBand;
    QRDBText22: TQRDBText;
    QRDBText24: TQRDBText;
    QRLabel21: TQRLabel;
    QRLabel23: TQRLabel;
    QRLabel24: TQRLabel;
    QRDBText25: TQRDBText;
    QRDBText26: TQRDBText;
    QRDBText27: TQRDBText;
    QRDBText28: TQRDBText;
    QRLabel25: TQRLabel;
    QRLabel26: TQRLabel;
    QRLabel27: TQRLabel;
    PageFooterBand1: TQRBand;
    QRLabel28: TQRLabel;
    QRLabel29: TQRLabel;
    QRSysData2: TQRSysData;
    ColumnHeaderBand1: TQRBand;
    QRLabel15: TQRLabel;
    QRLabel16: TQRLabel;
    QRLabel17: TQRLabel;
    QRLabel18: TQRLabel;
    QRLabel19: TQRLabel;
    QRLabel20: TQRLabel;
    btn_gycj: TBitBtn;
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure btn_insertClick(Sender: TObject);
    procedure btn_editClick(Sender: TObject);
    procedure btn_cancelClick(Sender: TObject);
    procedure btn_saveClick(Sender: TObject);
    procedure btn_cgrClick(Sender: TObject);
    procedure btn_zgClick(Sender: TObject);
    procedure btn_zdrClick(Sender: TObject);
    procedure btn_ysrClick(Sender: TObject);
    procedure btn_refreshClick(Sender: TObject);
    procedure btn_findClick(Sender: TObject);
    procedure btn_deleteClick(Sender: TObject);
    procedure DBGridDblClick(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
    procedure pmi_InsertClick(Sender: TObject);
    procedure pmi_DeleteClick(Sender: TObject);
    procedure btn_printClick(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure N_PassedClick(Sender: TObject);
    procedure N_NotPassedClick(Sender: TObject);
    procedure N_AllClick(Sender: TObject);
  private
    procedure btn_valid;
    { Private declarations }
  public
    { Public declarations }
  end;

var
  frmClsld: TfrmClsld;

implementation

uses U_mainform, WzglDB, u_public, U_fzlr_clbm, GenQ3;

{$R *.DFM}

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

procedure TfrmClsld.btn_insertClick(Sender: TObject);
begin
  //取消过滤
  DM.CDS_CLSLD.filter := '';
  DM.CDS_CLSLD.filtered := true;
  //数据集处于添加状态
  DM.CDS_CLSLD.Insert;
  edtSlzh.enabled := true;
  //改变组件的有效性
  btn_valid;
  cmbCkmc.SetFocus;
end;

procedure TfrmClsld.btn_valid;
begin
  DBNavigator.enabled := not dbnavigator.enabled;
  btn_insert.enabled := not btn_insert.enabled;
  btn_delete.enabled := not btn_delete.enabled;
  btn_edit.enabled := not btn_edit.enabled;
  btn_cancel.enabled := not btn_cancel.enabled;
  btn_Save.enabled := not btn_Save.enabled;
  btn_find.enabled := not btn_find.enabled;
  btn_refresh.enabled := not btn_refresh.enabled;
  btn_print.enabled := not btn_print.enabled;
  //显示区的切换
  pnl_Main.enabled := not pnl_Main.enabled;
  pnl_Main1.enabled := not pnl_Main1.enabled;
  //DBGrid中2、3、4、5字段状态切换,其他字段仍是只读
  dbgrid.Columns[2].readonly := not dbgrid.Columns[2].readonly;
  dbgrid.Columns[3].readonly := not dbgrid.Columns[3].readonly;
  dbgrid.Columns[4].readonly := not dbgrid.Columns[4].readonly;
  dbgrid.Columns[5].readonly := not dbgrid.Columns[5].readonly;
  //辅助录入按钮的可见性切换
  btn_gycj.visible := not btn_gycj.visible;
  btn_cgr.visible := not btn_cgr.visible;
  btn_zg.visible := not btn_zg.visible;
  btn_zdr.visible := not btn_zdr.visible;
  btn_ysr.visible := not btn_ysr.visible;
end;

procedure TfrmClsld.btn_editClick(Sender: TObject);
begin
  //先判断是否有记录可编辑
  if DM.CDS_CLSLD.recordcount = 0 then
  begin
    application.MessageBox('没有记录不能编辑', '物资管理系统', mb_iconinformation + mb_defbutton1);
    exit;
  end;
  //判断此单据是否已审核过了,如已审核,就不能修改
  if DM.CDS_CLSLD.FieldByName('是否审核').value = true then
  begin
    application.messagebox('此单据已审核,不能编辑', '物资管理系统', mb_iconinformation + mb_defbutton1);
    exit;
  end;
  //使数据集处于编辑状态
  DM.CDS_CLSLD.edit;
  edtSlzh.enabled := false;
  //设置组件有效性
  btn_valid;
  cmbckmc.setfocus;
end;

procedure TfrmClsld.btn_cancelClick(Sender: TObject);
begin
  //撤消刚才的操作
  DM.CDS_CLSLD.CancelUpdates;
  //设置数据显示组件为不可用状态
  btn_valid;
end;

procedure TfrmClsld.btn_saveClick(Sender: TObject);
var
  s_slzh: string;
begin
  //检查数据的有效性
  if cmbCkmc.text = '' then
  begin
    application.MessageBox('仓库名称不能为空', '物资管理系统', mb_iconinformation + mb_defbutton1);
    cmbCkmc.SetFocus;

⌨️ 快捷键说明

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