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

📄 base2infosubject.pas

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

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, KsSkinPanels, KsSkinCheckBoxs, KsSkinGroupBoxs, se_controls,
  KsSkinSpeedButtons;

type
  TfrmBase2InfoSubject = class(TfrmEditForm)
    bbOk: TSeSkinButton;
    bbNo: TSeSkinButton;
    bbAdd: TSeSkinButton;
    Panel1: TSeSkinPanel;
    lblName: TSeSkinLabel;
    Label12: TSeSkinLabel;
    lblPinYin: TSeSkinLabel;
    edtName: TdxDBEdit;
    edtPinYin: TdxDBEdit;
    Label1: TSeSkinLabel;
    dxDBEdit1: TdxDBEdit;
    dxDBEdit2: TdxDBEdit;
    Label3: TSeSkinLabel;
    edtShortName: TdxDBEdit;
    SeSkinGroupBox1: TSeSkinGroupBox;
    srbJ: TSeSkinRadioButton;
    srbD: TSeSkinRadioButton;
    SeSkinGroupBox2: TSeSkinGroupBox;
    edtCurrency: TdxDBButtonEdit;
    srbNoCurrency: TSeSkinRadioButton;
    srbAllCurrency: TSeSkinRadioButton;
    srbOneCurrency: TSeSkinRadioButton;
    dxDBCheckEdit1: TdxDBCheckEdit;
    edtJD: TdxDBEdit;
    edtWB: TdxDBEdit;
    procedure bbNoClick(Sender: TObject);
    procedure bbOkClick(Sender: TObject);
    procedure bbAddClick(Sender: TObject);
    procedure edtNameExit(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure edtCurrencyButtonClick(Sender: TObject; AbsoluteIndex: Integer);
  private
    { Private declarations }
    bReturn: Boolean;
    lMode, lTabIndex, lRootID: Integer;
    procedure MainShow;
    procedure LoadData;
  public
    { Public declarations }
  end;

function Base2InfoSubjectShow(l1Mode, l1TabIndex, l1RootID: Integer): Boolean;

implementation

uses SysPublic, Base2Info;

{$R *.DFM}

function Base2InfoSubjectShow(l1Mode, l1TabIndex, l1RootID: Integer): Boolean;
var
  frmBase2InfoSubject: TfrmBase2InfoSubject;
begin
  frmBase2InfoSubject := TfrmBase2InfoSubject.Create(Application);
  with frmBase2InfoSubject do
  begin
    lMode := l1Mode;
    lTabIndex := l1TabIndex;
    lRootID := l1RootID;
    MainShow;
    Result := bReturn;
    Free;
  end;
end;

procedure TfrmBase2InfoSubject.MainShow;
begin
  DataSet := edtName.DataSource.DataSet;
  LoadData;
  ShowModal;
end;

procedure TfrmBase2InfoSubject.LoadData;
var
  lWB: Integer;
begin
  bReturn := false;
  Caption := '会计科目信息编辑';
  srbJ.Checked := True;
  srbAllCurrency.Checked := True;

  if edtJD.Text = srbJ.Caption then
    srbJ.Checked := True
  else
    srbD.Checked := True;
  lWB := DataSet.FieldByName(edtWB.DataField).AsInteger;
  case lWB of
    1: srbAllCurrency.Checked := True;
    2: srbOneCurrency.Checked := True;
  else
    srbNoCurrency.Checked := True;
  end;
end;

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

procedure TfrmBase2InfoSubject.bbOkClick(Sender: TObject);
var
  lWB: Integer;
begin
  inherited;
  if not CheckEditEmpty(1, self, [lblName.Name], [edtName.Name]) then
    Exit;
  if srbJ.Checked = True then
    DataSet.FieldByName(edtJD.DataField).AsString := srbJ.Caption
  else
    DataSet.FieldByName(edtJD.DataField).AsString := srbD.Caption;

  if srbAllCurrency.Checked = True then
    lWB := 1
  else
    if srbOneCurrency.Checked = True then
      lWB := 2
    else
      lWB := 0;
  DataSet.FieldByName(edtWB.DataField).AsInteger := lWB;
  DataSet.FieldByName('ClassID').Value := lTabIndex;
  DataSet.FieldByName('RootID').Value := lRootID;
  bReturn := true;
  Close;
end;

procedure TfrmBase2InfoSubject.bbAddClick(Sender: TObject);
var
  lWB: Integer;
begin
  inherited;
  if not CheckEditEmpty(1, self, [lblName.Name], [edtName.Name]) then
    Exit;
  DataSet.Edit;
  if srbJ.Checked = True then
    DataSet.FieldByName(edtJD.DataField).AsString := srbJ.Caption
  else
    DataSet.FieldByName(edtJD.DataField).AsString := srbD.Caption;

  if srbAllCurrency.Checked = True then
    lWB := 1
  else
    if srbOneCurrency.Checked = True then
      lWB := 2
    else
      lWB := 0;

  DataSet.FieldByName(edtWB.DataField).AsInteger := lWB;
  DataSet.FieldByName('ClassID').Value := lTabIndex;
  DataSet.FieldByName('RootID').Value := lRootID;
  SaveDataSet(TADODataSet(DataSet), false);
  UpdateICCount('Subject', TADODataSet(DataSet).FieldByName('TreeParent').AsInteger);
  DataSet.Last;
  DataSet.Insert;
end;

procedure TfrmBase2InfoSubject.edtNameExit(Sender: TObject);
begin
  inherited;
  DataSet.FieldByName(edtPinYin.DataField).AsString := GetPY(edtName.Text);
  if Trim(edtShortName.Text) = '' then
    DataSet.FieldByName(edtShortName.DataField).AsString := Copy(edtName.Text, 1, 8);
end;

procedure TfrmBase2InfoSubject.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 TfrmBase2InfoSubject.edtCurrencyButtonClick(Sender: TObject;
  AbsoluteIndex: Integer);
var
  sCurrency1: string;
begin
  inherited;
  sCurrency1 := BaseSelect(BASE_CURRENCY_STYLE, 1, edtCurrency.Text);
  if sCurrency1 <> '' then DataSet.FieldByName(edtCurrency.DataField).AsString := sCurrency1;
end;

end.

⌨️ 快捷键说明

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