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

📄 loginfromedit.pas

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

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  EditForm, dxCntner, dxEditor, dxEdLib, dxDBELib, StdCtrls,
  Buttons, ExtCtrls, dxExEdtr, inifiles, SysPublic,
  KsSkinButtons, se_controls, KsSkinLabels, DB, ADODB, KsSkinForms,
  KsSkinSpeedButtons;

type
  TfrmLoginFromEdit = class(TfrmEditForm)
    lblName: TSeSkinLabel;
    edtName: TdxDBEdit;
    lblCoName: TSeSkinLabel;
    edtCoName: TdxDBEdit;
    bbOk: TSeSkinButton;
    bbNo: TSeSkinButton;
    lblPath: TSeSkinLabel;
    SaveFileDialog: TSaveDialog;
    edtPath: TdxDBButtonEdit;
    SeSkinLabel1: TSeSkinLabel;
    procedure edtPathButtonClick(Sender: TObject; AbsoluteIndex: Integer);
    procedure bbNoClick(Sender: TObject);
    procedure bbOkClick(Sender: TObject);
    procedure edtNameExit(Sender: TObject);
    procedure FormKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
  private
    { Private declarations }
    bReturn: Boolean;
    procedure MainShow;
    function SaveMdbFile: Boolean;
    procedure LoadData;
    function SaveMsg: boolean;
  public
    { Public declarations }
  end;

function LoginFromEditShow: Boolean;

implementation

uses LoginForm, DBData;

{$R *.DFM}

function LoginFromEditShow: Boolean;
var
  frmLoginFromEdit: TfrmLoginFromEdit;
begin
  frmLoginFromEdit := TfrmLoginFromEdit.Create(Application);
  with frmLoginFromEdit do
  begin
    MainShow;
    Result := bReturn;
    Free;
  end;
end;

procedure TfrmLoginFromEdit.MainShow;
begin
  LoadData;
  ShowModal;
end;

procedure TfrmLoginFromEdit.LoadData;
begin
end;

procedure TfrmLoginFromEdit.edtPathButtonClick(Sender: TObject;
  AbsoluteIndex: Integer);
begin
  inherited;
  SaveFileDialog.FileName := edtPath.Text;
  if SaveFileDialog.Execute then
  begin
    edtPath.DataSource.DataSet.FieldByName
      (edtPath.DataField).AsString := SaveFileDialog.FileName;
  end;
end;

procedure TfrmLoginFromEdit.bbNoClick(Sender: TObject);
begin
  inherited;
  edtName.DataSource.DataSet.Cancel;
  bReturn := false;
  Close;
end;

function TfrmLoginFromEdit.SaveMdbFile: Boolean;
begin
  Result := True;
  if Result and not ResSaveMainDB(GetExePath, 'MainDB.mdb', edtPath.Text) then
  begin
    MsgBox('新建账套失败,请重新选择路径!', '提示', MB_OK);
    Result := False;
  end;
end;

function TfrmLoginFromEdit.SaveMsg: boolean;
begin
  Result := true;
  if edtName.Text = '' then
  begin
    MsgBox('新输入账套名称!', '提示', MB_OK);
    Result := false;
  end
  else
    if edtCoName.Text = '' then
    begin
      MsgBox('新输入公司名称!', '提示', MB_OK);
      Result := false;
    end
    else
      if edtPath.Text = '' then
      begin
        MsgBox('新输入账套路径!', '提示', MB_OK);
        Result := false;
      end
      else
        if Pos(':\', edtPath.Text) = 0 then
        begin
          MsgBox('新输入完整账套路径!', '提示', MB_OK);
          Result := false;
        end
        else
          if not GetDataSetEmptyEx(frmData.ADOConnetLogin, 'SELECT * FROM Login l Where l.Name=''' +
            Trim(edtName.Text) + '''') then
          begin
            ShowMsg('已存在相同名称的账套,不能继续,请在账套管理器中删除同名账套!');
            Result := false;
          end;
end;

procedure TfrmLoginFromEdit.bbOkClick(Sender: TObject);
begin
  inherited;
  if not SaveMsg then Exit;
  if not SaveMdbFile then Exit;
  edtName.DataSource.DataSet.Post;
  bReturn := true;
  Close;
end;

procedure TfrmLoginFromEdit.edtNameExit(Sender: TObject);
begin
  inherited;
  if edtPath.Text = '' then
    edtPath.DataSource.DataSet.FieldByName
      (edtPath.DataField).AsString := GetExePath + FILE_DATA_DIR + '\' +
      edtName.Text + FILE_DATA_TAIL;
end;

procedure TfrmLoginFromEdit.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 + -