📄 loginfromedit.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 + -