📄 companyform.pas
字号:
unit CompanyForm;
interface
uses Windows, Messages, SysUtils, Classes, Graphics, Forms, Dialogs, Controls, StdCtrls,
Buttons, ComCtrls, ExtCtrls, Mask, DBCtrls, DB, DBTables, Menus, DBLookup, BDE;
type
TfrmCompany = class(TForm)
Panel1: TPanel;
PageControl1: TPageControl;
dsCompany: TDataSource;
Panel3: TPanel;
Panel2: TPanel;
TabSheet1: TTabSheet;
Label1: TLabel;
editCompanyName: TDBEdit;
Panel4: TPanel;
btnOK: TButton;
btnCancel: TButton;
tblCompany: TTable;
tblCompanyCompanyNo: TSmallintField;
tblCompanyCompanyName: TStringField;
Label2: TLabel;
editFiscalYear: TDBEdit;
tblCompanyNotes: TMemoField;
TabSheet2: TTabSheet;
memoNotes: TDBMemo;
popNotes: TPopupMenu;
popWordWrap: TMenuItem;
tblCompanyFiscalYear: TSmallintField;
Label3: TLabel;
editDefaultPeriodPP: TDBEdit;
editDefaultPeriodYYYY: TDBEdit;
tblCompanyDefaultPeriodYYYY: TSmallintField;
tblCompanyDefaultPeriodPP: TSmallintField;
tblCompanyWPeriodToYYYY: TSmallintField;
tblCompanyWPeriodToPP: TSmallintField;
tblCompanyEPeriodFromYYYY: TSmallintField;
tblCompanyEPeriodFromPP: TSmallintField;
tblCompanyEPeriodToYYYY: TSmallintField;
tblCompanyEPeriodToPP: TSmallintField;
Label4: TLabel;
editWPeriodFromPP: TDBEdit;
editWPeriodFromYYYY: TDBEdit;
Label5: TLabel;
editEPeriodFromPP: TDBEdit;
editEPeriodFromYYYY: TDBEdit;
Label6: TLabel;
editWPeriodToPP: TDBEdit;
editWPeriodToYYYY: TDBEdit;
Label7: TLabel;
editEPeriodToPP: TDBEdit;
editEPeriodToYYYY: TDBEdit;
tblCompanyWPeriodFromYYYY: TSmallintField;
tblCompanyWPeriodFromPP: TSmallintField;
Label10: TLabel;
cboCurrency: TDBLookupComboBox;
btnCurrency: TSpeedButton;
tblCompanyDefaultCurrencyID: TIntegerField;
TabSheet3: TTabSheet;
tblCompanyAPInvPONumbers: TBooleanField;
tblCompanyAPInvDescriptions: TBooleanField;
GroupBox1: TGroupBox;
DBCheckBox1: TDBCheckBox;
DBCheckBox2: TDBCheckBox;
tblJV: TTable;
tblGLHist: TTable;
btnYearEnd: TSpeedButton;
tblCompanyDfltSalesGLAccount: TStringField;
TabSheet4: TTabSheet;
btnDfltSalesGLAccount: TSpeedButton;
Label11: TLabel;
editDfltSalesGLAccount: TDBEdit;
cboDfltSalesGLAccount: TDBLookupComboBox;
Label8: TLabel;
tblAPInv: TTable;
tblARInv: TTable;
btnHelp: TButton;
tblCompanyAddressLine1: TStringField;
tblCompanyAddressLine2: TStringField;
tblCompanyAddressLine3: TStringField;
Label9: TLabel;
editAddressLine1: TDBEdit;
editAddressLine2: TDBEdit;
editAddressLine3: TDBEdit;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormShow(Sender: TObject);
procedure Panel2DblClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormKeyPress(Sender: TObject; var Key: Char);
procedure dsCompanyUpdateData(Sender: TObject);
procedure btnOKClick(Sender: TObject);
procedure btnCancelClick(Sender: TObject);
procedure popWordWrapClick(Sender: TObject);
procedure tblCompanyFiscalYearGetText(Sender: TField; var Text: string;
DisplayText: Boolean);
procedure tblCompanyFiscalYearSetText(Sender: TField;
const Text: string);
procedure tblCompanyDefaultPeriodYYYYGetText(Sender: TField;
var Text: string; DisplayText: Boolean);
procedure tblCompanyDefaultPeriodYYYYSetText(Sender: TField;
const Text: string);
procedure tblCompanyWPeriodToYYYYGetText(Sender: TField;
var Text: string; DisplayText: Boolean);
procedure tblCompanyEPeriodFromYYYYGetText(Sender: TField;
var Text: string; DisplayText: Boolean);
procedure tblCompanyEPeriodToYYYYGetText(Sender: TField;
var Text: string; DisplayText: Boolean);
procedure tblCompanyWPeriodToYYYYSetText(Sender: TField;
const Text: string);
procedure tblCompanyEPeriodFromYYYYSetText(Sender: TField;
const Text: string);
procedure tblCompanyEPeriodToYYYYSetText(Sender: TField;
const Text: string);
procedure tblCompanyWPeriodFromYYYYGetText(Sender: TField;
var Text: string; DisplayText: Boolean);
procedure tblCompanyWPeriodFromYYYYSetText(Sender: TField;
const Text: string);
procedure btnCurrencyClick(Sender: TObject);
procedure cboCurrencyKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure tblCompanyFiscalYearValidate(Sender: TField);
procedure dsCompanyDataChange(Sender: TObject; Field: TField);
procedure btnYearEndClick(Sender: TObject);
procedure cboDfltSalesGLAccountKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure btnDfltSalesGLAccountClick(Sender: TObject);
procedure tblCompanyDfltSalesGLAccountValidate(Sender: TField);
procedure btnHelpClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
frmCompany: TfrmCompany;
implementation
uses BS1Form, CurrenciesForm, GLAccountsForm, GLAccountsFilterForm, LookUpsData,
YearEndForm;
var
intClientHeight, intClientWidth: Integer;
YearEnd: boolean;
{$R *.DFM}
procedure TfrmCompany.FormClose(Sender: TObject; var Action: TCloseAction);
begin
if tblCompany.State in [dsInsert, dsEdit] then btnOKClick(sender);
//Action := caFree;
end;
procedure TfrmCompany.FormShow(Sender: TObject);
var
Year, Month, Day: Word;
begin
PageControl1.ActivePage := Tabsheet1;
editCompanyName.setfocus;
if tblCompany.RecordCount = 0 then begin //Put form into insert state so OK button triggers mandatory field edits.
if tblCompany.state <> dsInsert then begin
tblCompany.Insert;
tblCompanyCompanyNo.value := 1;
DecodeDate(Date(), Year, Month, Day);
tblCompanyFiscalYear.value := Year;
tblCompanyAPInvPONumbers.value := false;
tblCompanyAPInvDescriptions.value := false;
end;
end;
end;
procedure TfrmCompany.Panel2DblClick(Sender: TObject);
begin
ClientHeight := intClientHeight; //Resize form.
ClientWidth := intClientWidth;
end;
procedure TfrmCompany.FormCreate(Sender: TObject);
begin
tblCompany.DatabaseName := strDatabaseName;
//tblCurrency.DatabaseName := strDatabaseName;
//tblGLAccnt.DatabaseName := strDatabaseName;
tblJV.DatabaseName := strDatabaseName;
tblAPInv.DatabaseName := strDatabaseName;
tblARInv.DatabaseName := strDatabaseName;
tblGLHist.DatabaseName := strDatabaseName;
tblCompany.Active := true;
//tblCurrency.Active := true; //Data Module used instead.
//tblGLAccnt.Active := true; //Data Module used instead.
if FontFactor <> 1 then begin //If using large fonts, resize form.
ClientHeight := Trunc(ClientHeight*FontFactor);
ClientWidth := Trunc(ClientWidth*FontFactor);
end;
intClientHeight := ClientHeight; //Store form size.
intClientWidth := ClientWidth;
end;
procedure TfrmCompany.FormKeyPress(Sender: TObject; var Key: Char);
begin
if key = #13 then begin //Enter key: advance to next control.
if (ActiveControl.ClassType <> TDBMemo) and (ActiveControl.ClassType <> TDBLookupCombobox) then begin
Key := #0;
Perform(WM_NEXTDLGCTL, 0, 0);
end else if (ActiveControl.ClassType = TDBLookupComboBox) and (TDBLookupComboBox(ActiveControl).ListVisible = false) then begin
Key := #0;
Perform(WM_NEXTDLGCTL, 0, 0);
end;
end;
end;
procedure TfrmCompany.dsCompanyUpdateData(Sender: TObject);
begin
if tblCompanyCompanyName.AsString = '' then begin
with editCompanyName do begin Show; SetFocus; end;
raise(exception.create('Field ' + '''Company Name''' + ' must have a value'));
end;
if (tblCompanyFiscalYear.AsInteger < 1995) or (tblCompanyFiscalYear.AsInteger > 2050) then begin
with editFiscalYear do begin Show; SetFocus; end;
raise(exception.create('Fiscal Year must be between 1995 and 2050'));
end;
end;
procedure TfrmCompany.btnOKClick(Sender: TObject);
begin
if tblCompany.State in [dsInsert, dsEdit] then begin
tblCompany.post;
DbiSaveChanges(tblCompany.handle);
frmBS1.tblCompany.Refresh;
end;
Close;
end;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -