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

📄 baseinfoedit.pas

📁 胜天财务进销存2003源代码,SQLSERVER版,目前最完整的财务进销存系统.
💻 PAS
字号:
unit BaseInfoEdit;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  EditForm, StdCtrls, Buttons, dxCntner, dxEditor, dxEdLib, dxDBELib,
  dxExEdtr, DBData, dxDBTL, db, Variants, KsControls, KsButtons,
  KsSkinButtons, KsHooks, KsForms, KsSkinForms, KsLabels, KsSkinLabels,
  ADODB;

type
  TfrmBaseInfoEdit = class(TfrmEditForm)
    bbOk: TSeSkinButton;
    bbNo: TSeSkinButton;
    lblName1: TSeSkinLabel;
    edt1: TdxDBEdit;
    lblName2: TSeSkinLabel;
    edt2: TdxDBEdit;
    lblSelect1: TSeSkinLabel;
    cbx1: TdxDBPickEdit;
    edt3: TdxDBEdit;
    bbAdd: TSeSkinButton;
    procedure bbNoClick(Sender: TObject);
    procedure bbOkClick(Sender: TObject);
    procedure bbAddClick(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure FormKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
  private
    { Private declarations }
    bReturn: Boolean;
    treeMain: TdxDBTreeList;
    sCbxStr: string;
    lMode: Integer;
    procedure SetCbx;
    procedure MainShow;
    procedure LoadData;
  public
    { Public declarations }
  end;

function BaseInfoEditShow(tree1Main: TdxDBTreeList; s1CbxStr, s1Caption: string;
  l1Mode: Integer): Boolean;
implementation

uses BaseInfo, SysPublic;

{$R *.DFM}

function BaseInfoEditShow(tree1Main: TdxDBTreeList; s1CbxStr, s1Caption: string;
  l1Mode: Integer): Boolean;
var
  frmBaseInfoEdit: TfrmBaseInfoEdit;
begin
  frmBaseInfoEdit := TfrmBaseInfoEdit.Create(Application);
  with frmBaseInfoEdit do
  begin
    treeMain := tree1Main;
    sCbxStr := s1CbxStr;
    Caption := s1Caption + '编辑';
    lMode := l1Mode;
    MainShow;
    Result := bReturn;
    Free;
  end;
end;

procedure TfrmBaseInfoEdit.MainShow;
begin
  DataSet:=treeMain.DataSource.DataSet;
  LoadData;
  ShowModal;
end;

procedure TfrmBaseInfoEdit.LoadData;
begin
  lblName1.Visible := false;
  edt1.Visible := false;
  lblName2.Visible := false;
  edt2.Visible := false;
  lblSelect1.Visible := false;
  cbx1.Visible := false;
  edt3.Visible := false;
  bReturn := false;
  if treeMain.ColumnCount >= 1 then
  begin
    lblName1.Caption := treeMain.Columns[0].Caption + ':';
    edt1.DataField := treeMain.Columns[0].FieldName;
    lblName1.Visible := true;
    edt1.Visible := true;
  end;
  if (treeMain.ColumnCount = 2) and (sCbxStr <> '') then
  begin
    lblSelect1.Caption := treeMain.Columns[1].Caption + ':';
    cbx1.DataField := treeMain.Columns[1].FieldName;
    SetCbx;
    lblSelect1.Visible := true;
    cbx1.Visible := true;
  end
  else if (treeMain.ColumnCount >= 2) then
  begin
    lblName2.Caption := treeMain.Columns[1].Caption + ':';
    edt2.DataField := treeMain.Columns[1].FieldName;
    lblName2.Visible := true;
    edt2.Visible := true;
  end;
  if (treeMain.ColumnCount = 3) and (sCbxStr <> '') then
  begin
    lblSelect1.Caption := treeMain.Columns[2].Caption + ':';
    cbx1.DataField := treeMain.Columns[2].FieldName;
    SetCbx;
    lblSelect1.Visible := true;
    cbx1.Visible := true;
  end
  else if (treeMain.ColumnCount >= 3) then
  begin
    lblSelect1.Caption := treeMain.Columns[2].Caption + ':';
    edt3.DataField := treeMain.Columns[2].FieldName;
    SetCbx;
    lblSelect1.Visible := true;
    edt3.Visible := true;
  end;

  if treeMain.ColumnCount = 1 then
    Height := edt3.Top + 30
  else if treeMain.ColumnCount = 2 then
    Height := edt3.Top + edt3.Height + 30
  else if treeMain.ColumnCount = 3 then
    Height := edt3.Top + edt3.Height + 40;

end;

procedure TfrmBaseInfoEdit.SetCbx;
var
  s1, s2, s3: string;
begin
  if sCbxStr <> '' then
  begin
    s1 := sCbxStr + ',';
    while pos(',', s1) <> 0 do
    begin
      s2 := copy(s1, 0, pos(',', s1) - 1);
      s1 := copy(s1, pos(',', s1) + 1, Length(s1));
      if s2 <> '' then
      begin
        if s3 <> '' then
          s3 := s3 + #13 + s2
        else
          s3 := s2;
      end;
    end;
    cbx1.Items.Text := s3;
  end;
end;

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

procedure TfrmBaseInfoEdit.bbOkClick(Sender: TObject);
begin
  inherited;
  if not CheckEditEmpty(1, self, [lblName1.Name], [edt1.Name]) then Exit;
  DataSet.FieldByName('Mode').AsInteger := lMode;
  bReturn := true;
  Close;
end;

procedure TfrmBaseInfoEdit.bbAddClick(Sender: TObject);
var
  FParentValue: Variant;
begin
  inherited;
  if not CheckEditEmpty(1, self, [lblName1.Name], [edt1.Name]) then Exit;
  with DataSet do
  begin
    Edit;
    FieldByName('Mode').AsInteger := lMode;
    Post;
    SaveDataSet(TAdoDataSet(DataSet), False);
    if FieldByName('TreeParent').IsNull then FParentValue := Null
    else FParentValue := FieldByName('TreeParent').Value;
    Last;
    Insert;
    FieldByName('TreeParent').Value := FParentValue;
  end;
end;

procedure TfrmBaseInfoEdit.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
  inherited;
  if (bReturn = False) and (DataSet.State in [dsInsert]) and
    not CheckEditEmpty(0, self, [lblName1.Name], [edt1.Name]) then
  begin
    if MsgBox('你没有保存数据,确定要退出吗?',
      '提示', MB_OKCANCEL) <> IDOK then
      Action := caNone;
  end;
end;

procedure TfrmBaseInfoEdit.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  inherited;
  case KEY of
    VK_ESCAPE: bbNoClick(nil);
    VK_RETURN: bbOkClick(nil);
  end;
end;

end.

⌨️ 快捷键说明

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