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

📄 base2infowageitem.pas

📁 进销存·完整的·有数据库的·非常完整·只得参考
💻 PAS
字号:
unit Base2InfoWageItem;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  EditForm, StdCtrls, Buttons, ComCtrls, DBData, ExtCtrls, dxCntner,
  dxEditor, dxEdLib, dxDBELib, dxExEdtr, Db, ADODB, KsSkinButtons,
  KsSkinForms, KsSkinLabels, se_controls, KsSkinPanels, KsSkinSpeedButtons;

type
  TfrmBase2InfoWageItem = class(TfrmEditForm)
    bbAdd: TSeSkinButton;
    bbOk: TSeSkinButton;
    bbNo: TSeSkinButton;
    Panel1: TSeSkinPanel;
    lblName: TSeSkinLabel;
    Label12: TSeSkinLabel;
    SeSkinLabel1: TSeSkinLabel;
    edtName: TdxDBEdit;
    edtType: TdxDBPickEdit;
    dxDBEdit1: TdxDBEdit;
    chk1: TdxDBCheckEdit;
    chk2: TdxDBCheckEdit;
    SeSkinLabel2: TSeSkinLabel;
    edtExp: TdxDBButtonEdit;
    procedure bbNoClick(Sender: TObject);
    procedure bbOkClick(Sender: TObject);
    procedure bbAddClick(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure edtExpButtonClick(Sender: TObject; AbsoluteIndex: Integer);
  private
    { Private declarations }
    bReturn: Boolean;
    lMode: Integer;
    sItem: string;
    function CheckEdit: Boolean;
    procedure MainShow;
    procedure LoadData;
  public
    { Public declarations }
  end;

function Base2InfoWageItemShow(l1Mode: Integer): Boolean;

implementation

uses SysPublic, Base2Info, ExpressionForm;

{$R *.DFM}

function Base2InfoWageItemShow(l1Mode: Integer): Boolean;
var
  frmBase2InfoWageItem: TfrmBase2InfoWageItem;
begin
  frmBase2InfoWageItem := TfrmBase2InfoWageItem.Create(Application);
  with frmBase2InfoWageItem do
  begin
    lMode := l1Mode;
    MainShow;
    Result := bReturn;
    Free;
  end;
end;

procedure TfrmBase2InfoWageItem.MainShow;
begin
  bReturn := false;
  Caption := '工资项目定义';
  DataSet := edtName.DataSource.DataSet;
  LoadData;
  ShowModal;
end;

procedure TfrmBase2InfoWageItem.LoadData;
var
  sSql, sField1, sFiled2, sFiled3: string;
begin
  sItem := '';
  sSql := 'SELECT [ID],[Name] FROM WageItem';
  sField1 := 'Name';
  TableToStrings(sSql, sField1, sFiled2, sFiled3, #13);
  if sField1 <> '' then
    sItem := sField1;

  if chk1.State = cbsGrayed then
    DataSet.FieldByName(chk1.DataField).AsString :=
      chk1.ValueChecked;
  if chk2.State = cbsGrayed then
    DataSet.FieldByName(chk2.DataField).AsString :=
      chk2.ValueUnchecked;
  if edtType.ItemIndex < 0 then
    DataSet.FieldByName(edtType.DataField).AsString :=
      edtType.Items.Strings[0];
end;

procedure TfrmBase2InfoWageItem.bbNoClick(Sender: TObject);
begin
  inherited;
  Close;
end;

procedure TfrmBase2InfoWageItem.bbOkClick(Sender: TObject);
begin
  inherited;
  if not CheckEdit then
    Exit;
  bReturn := true;
  Close;
end;

function TfrmBase2InfoWageItem.CheckEdit: Boolean;
begin
  Result := CheckEditEmpty(1, self, [lblName.Name], [edtName.Name]);
  if Result and chk2.Checked and (Trim(edtExp.Text) = '') then
  begin
    ShowMsg('您选择了使用公式,请录入正确的公式!');
    Result := False;
  end;
end;

procedure TfrmBase2InfoWageItem.bbAddClick(Sender: TObject);
begin
  inherited;
  if not CheckEdit then Exit;
  DataSet.Edit;
  SaveDataSet(TADODataSet(DataSet), false);
  DataSet.Last;
  DataSet.Insert;
  LoadData;
end;

procedure TfrmBase2InfoWageItem.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
  inherited;
  if (bReturn = False) and (DataSet.State = dsInsert)
    and (Trim(edtName.Text) <> '') then
  begin
    if MsgBox('你没有保存数据,确定要退出吗?',
      '提示', MB_OKCANCEL) <> IDOK then
      Action := caNone;
  end;
end;

procedure TfrmBase2InfoWageItem.edtExpButtonClick(Sender: TObject;
  AbsoluteIndex: Integer);
var
  sExp: string;
begin
  inherited;
  sExp := DataSet.FieldByName(edtExp.DataField).AsString;
  sExp := GetExpression(sItem, sExp);
  if Trim(sExp) <> '' then DataSet.FieldByName(edtExp.DataField).AsString := sExp;
end;

end.

⌨️ 快捷键说明

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