?? createacctbook.pas
字號:
{//標題:服裝MRP系統
//內容:創建套帳總模塊。
//修改:
}
unit CreateAcctBook;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls, Buttons, jpeg, DB, DBCtrls, ADODB, FileCtrl, Base;
type
TfrmCreateAcctBook = class(TfrmBase)
Label1: TLabel;
Label2: TLabel;
BitBtn3: TBitBtn;
BitBtn4: TBitBtn;
BitBtn5: TBitBtn;
BitBtn6: TBitBtn;
BitBtn7: TBitBtn;
Image1: TImage;
Panel1: TPanel;
Label3: TLabel;
Label5: TLabel;
Label6: TLabel;
BitBtn1: TBitBtn;
edtAccountPath: TEdit;
edtAccountName: TEdit;
Panel2: TPanel;
Label9: TLabel;
edtCompanyName: TEdit;
Label7: TLabel;
edtNaturalMoney: TEdit;
Label8: TLabel;
edtAdminUser: TEdit;
Label11: TLabel;
edtAdminPWD: TEdit;
Label10: TLabel;
edtDBName: TEdit;
Label4: TLabel;
spCreateAccount: TADOStoredProc;
ComboBox1: TComboBox;
QExistsAccName: TADOQuery;
spIsExistsDbName: TADOStoredProc;
procedure BitBtn4Click(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure BitBtn5Click(Sender: TObject);
procedure BitBtn6Click(Sender: TObject);
procedure BitBtn7Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure BitBtn1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
frmCreateAcctBook: TfrmCreateAcctBook;
implementation
uses serverdm;
{$R *.dfm}
procedure TfrmCreateAcctBook.BitBtn4Click(Sender: TObject);
begin
self.Close;
end;
procedure TfrmCreateAcctBook.FormShow(Sender: TObject);
begin
panel1.Visible := true;
panel2.Visible := false;
end;
procedure TfrmCreateAcctBook.BitBtn5Click(Sender: TObject);
begin
bitbtn5.Enabled := false;
bitbtn7.Enabled := false;
bitbtn6.Enabled := true;
panel1.Visible := true;
panel2.Visible := false;
end;
procedure TfrmCreateAcctBook.BitBtn6Click(Sender: TObject);
begin
if Trim(edtAccountName.Text) = '' then
raise Exception.Create('請指定帳套名稱!');
if Trim(edtAccountPath.Text) = '' then
raise Exception.Create('請指定帳套路徑!');
if Trim(edtDbName.Text) = '' then
raise Exception.Create('請指定數據庫名稱!');
if not DirectoryExists(Trim(edtAccountPath.Text)) then
raise Exception.Create('無效的帳套路徑!');
bitbtn5.Enabled := true;
bitbtn7.Enabled := true;
bitbtn6.Enabled := false;
panel1.Visible := false;
panel2.Visible := true;
end;
procedure TfrmCreateAcctBook.BitBtn7Click(Sender: TObject);
var
sPath: string;
sDbname: string;
sMdfFileName, sLdfFileName: string;
begin
if Trim(edtCompanyName.Text) = '' then
raise Exception.Create('請指定企業名稱!');
if Trim(edtNaturalMoney.Text) = '' then
raise Exception.Create('請指定本位幣!');
if Trim(edtAdminUser.Text) = '' then
raise Exception.Create('請指定帳套管理員!');
with QExistsAccName do
begin
parameters.ParamValues['Name'] := trim(edtAccountName.Text);
if Active then Requery() else open;
if RecordCount > 0 then
raise Exception.Create('當前帳套名已經存在!');
end;
with spIsExistsDBName do
begin
parameters.ParamValues['@DbName'] := trim(edtDbName.Text);
ExecProc;
if parameters.ParamValues['@RETURN_VALUE'] = 1 then
raise Exception.Create('當前數據庫名已經存在!');
end;
sDbName := Trim(edtDBName.Text);
sPath := Trim(edtAccountPath.Text);
if Copy(sPath, length(sPath), 1) <> '\' then
sPath := sPath + '\';
sMdfFileName := sPath + sDbName + '.mdf';
sLdfFileName := sPath + sDbName + '.ldf';
if CopyFile(pchar('.\data\LANGYA2006.mdf'), pchar(sMdfFileName), False) and
CopyFile(pchar('.\data\LANGYA2006.ldf'), pchar(sLdfFileName), False) then
begin
try
with spCreateAccount do
begin
Parameters.ParamValues['@nType'] := 1;
Parameters.ParamValues['@DbName'] := sDbName;
Parameters.ParamValues['@FilePath'] := sPath;
Parameters.ParamValues['@AccSetName'] := trim(edtAccountName.Text);
Parameters.ParamValues['@FileNamemdf'] := sMdfFileName;
Parameters.ParamValues['@FileNameldf'] := sLdfFileName;
Parameters.ParamValues['@CorpName'] := trim(edtCompanyName.Text);
Parameters.ParamValues['@NaturalMoney'] := trim(edtNaturalMoney.Text);
Parameters.ParamValues['@AccSetMan'] := trim(edtAdminUser.Text);
Parameters.ParamValues['@AccSetPWD'] := trim(edtAdminPWD.Text);
ExecProc;
end;
except
on E: Exception do
raise Exception.Create('新建帳套失敗!' + #13#10 + E.Message)
end;
dmServer.adodsAccount.Requery();
Close;
end
else
raise Exception.Create('新建帳套失敗!' + #13#10 + '復制模板錯誤!')
end;
procedure TfrmCreateAcctBook.FormCreate(Sender: TObject);
begin
IF nOT DMSERVER.adodsAccount.Active THEN DMSERVER.adodsAccount.Open;
with dmServer.adodsAccount do
begin
first;
while not eof do
begin
ComboBox1.Items.Add(fieldbyname('aName').asString);
next;
end;
ComboBox1.ItemIndex := 0;
end;
end;
procedure TfrmCreateAcctBook.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
action := cafree;
frmCreateAcctBook := nil;
end;
procedure TfrmCreateAcctBook.BitBtn1Click(Sender: TObject);
var
sOutDir: string;
begin
if SelectDirectory('請選擇存放路徑:', '', sOutDir) then
edtAccountPath.Text := sOutDir;
end;
end.
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -