📄 glbudgetaccountform.pas
字号:
procedure TfrmGLBudgetAccount.btnCancelClick(Sender: TObject);
begin
tblGLBudget.DisableControls;
tblGLBudget.cancel;
Close;
end;
procedure TfrmGLBudgetAccount.tblGLBudgetAfterPost(DataSet: TDataSet);
begin
frmGLBudget_cboFind_RequeryRequired := true;
end;
procedure TfrmGLBudgetAccount.tblGLBudgetNewRecord(DataSet: TDataSet);
begin
tblGLBudgetActualBudget.value := 'B';
if frmGLBudget.qryGLAccntGLAccount.AsVariant <> null then tblGLBudgetGLAccount.value := frmGLBudget.qryGLAccntGLAccount.value;
end;
procedure TfrmGLBudgetAccount.cboGLAccountKeyDown(Sender: TObject;
var Key: Word; Shift: TShiftState);
begin
if key = VK_Delete then begin
tblGLBudget.Edit;
tblGLBudgetGLAccount.AsVariant := null;
end;
end;
procedure TfrmGLBudgetAccount.btnAPGLAccountClick(Sender: TObject);
var
aComponent: TComponent;
begin
screen.cursor := crHourglass;
aComponent := Application.FindComponent('frmGLAccounts');
if not Assigned (aComponent) then frmGLAccounts := TfrmGLAccounts.Create(Application);
aComponent := Application.FindComponent('frmGLAccountsFilter');
if Assigned (aComponent) then try frmGLAccountsFilter.btnResetClick(sender); except; end;
frmGLAccounts.mnuFilter.Checked := false;
frmGLAccounts.qryGLAccnt.Filtered := false;
frmGLAccounts.tblGLAccnt.Filtered := false;
if frmGLAccounts.WindowState = wsMinimized then frmGLAccounts.WindowState := wsNormal;
if frmGLAccounts.visible = true then frmGLAccounts.FormShow(sender)
else frmGLAccounts.Show;
if not frmGLAccounts.qryGLAccnt.Locate('GLAccount', tblGLBudgetGLAccount.value, []) then frmGLAccounts.qryGLAccnt.First;
screen.cursor := crDefault;
end;
procedure TfrmGLBudgetAccount.tblGLBudgetGLYearGetText(Sender: TField;
var Text: string; DisplayText: Boolean);
begin
if DisplayText = false then Text := Copy(tblGLBudgetGLYear.AsString,3,2) //If editing, show last 2 digits of year.
else Text := tblGLBudgetGLYear.AsString;
end;
procedure TfrmGLBudgetAccount.tblGLBudgetGLYearSetText(Sender: TField;
const Text: string);
begin
if Text = '' then tblGLBudgetGLYear.AsVariant := null else begin //Convert 2 digit year to 4.
if (StrToInt(Text) < 0) or (StrToInt(Text) > 99) then raise(exception.create('Year invalid...' + #13 + 'Enter year as 2 digits'));
if StrToInt(Text) < 50 then tblGLBudgetGLYear.value := StrToInt(Text) + 2000
else tblGLBudgetGLYear.value := StrToInt(Text) + 1900;
end;
end;
procedure TfrmGLBudgetAccount.tblGLBudgetOpeningBalChange(Sender: TField);
begin
if Screen.ActiveControl = TrackBar0 then exit;
if tblGLBudgetAccountType.value in [1,4] then TrackBar0.Position := Round((tblGLBudgetOpeningBal.value * 10000)/TrackBarScale)
else TrackBar0.Position := Round((-tblGLBudgetOpeningBal.value * 10000)/TrackBarScale);
end;
procedure TfrmGLBudgetAccount.tblGLBudgetAmount1Change(Sender: TField);
begin
if Screen.ActiveControl = TrackBar1 then exit;
if tblGLBudgetAccountType.value in [1,4] then TrackBar1.Position := Round((tblGLBudgetAmount1.value * 10000)/TrackBarScale)
else TrackBar1.Position := Round((-tblGLBudgetAmount1.value * 10000)/TrackBarScale);
end;
procedure TfrmGLBudgetAccount.tblGLBudgetAmount2Change(Sender: TField);
begin
if Screen.ActiveControl = TrackBar2 then exit;
if tblGLBudgetAccountType.value in [1,4] then TrackBar2.Position := Round((tblGLBudgetAmount2.value * 10000)/TrackBarScale)
else TrackBar2.Position := Round((-tblGLBudgetAmount2.value * 10000)/TrackBarScale);
end;
procedure TfrmGLBudgetAccount.tblGLBudgetAmount3Change(Sender: TField);
begin
if Screen.ActiveControl = TrackBar3 then exit;
if tblGLBudgetAccountType.value in [1,4] then TrackBar3.Position := Round((tblGLBudgetAmount3.value * 10000)/TrackBarScale)
else TrackBar3.Position := Round((-tblGLBudgetAmount3.value * 10000)/TrackBarScale);
end;
procedure TfrmGLBudgetAccount.tblGLBudgetAmount4Change(Sender: TField);
begin
if Screen.ActiveControl = TrackBar4 then exit;
if tblGLBudgetAccountType.value in [1,4] then TrackBar4.Position := Round((tblGLBudgetAmount4.value * 10000)/TrackBarScale)
else TrackBar4.Position := Round((-tblGLBudgetAmount4.value * 10000)/TrackBarScale);
end;
procedure TfrmGLBudgetAccount.tblGLBudgetAmount5Change(Sender: TField);
begin
if Screen.ActiveControl = TrackBar5 then exit;
if tblGLBudgetAccountType.value in [1,4] then TrackBar5.Position := Round((tblGLBudgetAmount5.value * 10000)/TrackBarScale)
else TrackBar5.Position := Round((-tblGLBudgetAmount5.value * 10000)/TrackBarScale);
end;
procedure TfrmGLBudgetAccount.tblGLBudgetAmount6Change(Sender: TField);
begin
if Screen.ActiveControl = TrackBar6 then exit;
if tblGLBudgetAccountType.value in [1,4] then TrackBar6.Position := Round((tblGLBudgetAmount6.value * 10000)/TrackBarScale)
else TrackBar6.Position := Round((-tblGLBudgetAmount6.value * 10000)/TrackBarScale);
end;
procedure TfrmGLBudgetAccount.tblGLBudgetAmount7Change(Sender: TField);
begin
if Screen.ActiveControl = TrackBar7 then exit;
if tblGLBudgetAccountType.value in [1,4] then TrackBar7.Position := Round((tblGLBudgetAmount7.value * 10000)/TrackBarScale)
else TrackBar7.Position := Round((-tblGLBudgetAmount7.value * 10000)/TrackBarScale);
end;
procedure TfrmGLBudgetAccount.tblGLBudgetAmount8Change(Sender: TField);
begin
if Screen.ActiveControl = TrackBar8 then exit;
if tblGLBudgetAccountType.value in [1,4] then TrackBar8.Position := Round((tblGLBudgetAmount8.value * 10000)/TrackBarScale)
else TrackBar8.Position := Round((-tblGLBudgetAmount8.value * 10000)/TrackBarScale);
end;
procedure TfrmGLBudgetAccount.tblGLBudgetAmount9Change(Sender: TField);
begin
if Screen.ActiveControl = TrackBar9 then exit;
if tblGLBudgetAccountType.value in [1,4] then TrackBar9.Position := Round((tblGLBudgetAmount9.value * 10000)/TrackBarScale)
else TrackBar9.Position := Round((-tblGLBudgetAmount9.value * 10000)/TrackBarScale);
end;
procedure TfrmGLBudgetAccount.tblGLBudgetAmount10Change(Sender: TField);
begin
if Screen.ActiveControl = TrackBar10 then exit;
if tblGLBudgetAccountType.value in [1,4] then TrackBar10.Position := Round((tblGLBudgetAmount10.value * 10000)/TrackBarScale)
else TrackBar10.Position := Round((-tblGLBudgetAmount10.value * 10000)/TrackBarScale);
end;
procedure TfrmGLBudgetAccount.tblGLBudgetAmount11Change(Sender: TField);
begin
if Screen.ActiveControl = TrackBar11 then exit;
if tblGLBudgetAccountType.value in [1,4] then TrackBar11.Position := Round((tblGLBudgetAmount11.value * 10000)/TrackBarScale)
else TrackBar11.Position := Round((-tblGLBudgetAmount11.value * 10000)/TrackBarScale);
end;
procedure TfrmGLBudgetAccount.tblGLBudgetAmount12Change(Sender: TField);
begin
if Screen.ActiveControl = TrackBar12 then exit;
if tblGLBudgetAccountType.value in [1,4] then TrackBar12.Position := Round((tblGLBudgetAmount12.value * 10000)/TrackBarScale)
else TrackBar12.Position := Round((-tblGLBudgetAmount12.value * 10000)/TrackBarScale);
end;
procedure TfrmGLBudgetAccount.TrackBar0Change(Sender: TObject);
begin
tblGLBudget.edit;
if tblGLBudgetAccountType.value in [1,4] then tblGLBudgetOpeningBal.AsCurrency := (TrackBar0.position * TrackBarScale)/10000
else tblGLBudgetOpeningBal.AsCurrency := -(TrackBar0.position * TrackBarScale)/10000;
end;
procedure TfrmGLBudgetAccount.TrackBar1Change(Sender: TObject);
begin
tblGLBudget.edit;
if tblGLBudgetAccountType.value in [1,4] then tblGLBudgetAmount1.AsCurrency := (TrackBar1.position * TrackBarScale)/10000
else tblGLBudgetAmount1.AsCurrency := -(TrackBar1.position * TrackBarScale)/10000;
end;
procedure TfrmGLBudgetAccount.TrackBar2Change(Sender: TObject);
begin
tblGLBudget.edit;
if tblGLBudgetAccountType.value in [1,4] then tblGLBudgetAmount2.AsCurrency := (TrackBar2.position * TrackBarScale)/10000
else tblGLBudgetAmount2.AsCurrency := -(TrackBar2.position * TrackBarScale)/10000;
end;
procedure TfrmGLBudgetAccount.TrackBar3Change(Sender: TObject);
begin
tblGLBudget.edit;
if tblGLBudgetAccountType.value in [1,4] then tblGLBudgetAmount3.AsCurrency := (TrackBar3.position * TrackBarScale)/10000
else tblGLBudgetAmount3.AsCurrency := -(TrackBar3.position * TrackBarScale)/10000;
end;
procedure TfrmGLBudgetAccount.TrackBar4Change(Sender: TObject);
begin
tblGLBudget.edit;
if tblGLBudgetAccountType.value in [1,4] then tblGLBudgetAmount4.AsCurrency := (TrackBar4.position * TrackBarScale)/10000
else tblGLBudgetAmount4.AsCurrency := -(TrackBar4.position * TrackBarScale)/10000;
end;
procedure TfrmGLBudgetAccount.TrackBar5Change(Sender: TObject);
begin
tblGLBudget.edit;
if tblGLBudgetAccountType.value in [1,4] then tblGLBudgetAmount5.AsCurrency := (TrackBar5.position * TrackBarScale)/10000
else tblGLBudgetAmount5.AsCurrency := -(TrackBar5.position * TrackBarScale)/10000;
end;
procedure TfrmGLBudgetAccount.TrackBar6Change(Sender: TObject);
begin
tblGLBudget.edit;
if tblGLBudgetAccountType.value in [1,4] then tblGLBudgetAmount6.AsCurrency := (TrackBar6.position * TrackBarScale)/10000
else tblGLBudgetAmount6.AsCurrency := -(TrackBar6.position * TrackBarScale)/10000;
end;
procedure TfrmGLBudgetAccount.TrackBar7Change(Sender: TObject);
begin
tblGLBudget.edit;
if tblGLBudgetAccountType.value in [1,4] then tblGLBudgetAmount7.AsCurrency := (TrackBar7.position * TrackBarScale)/10000
else tblGLBudgetAmount7.AsCurrency := -(TrackBar7.position * TrackBarScale)/10000;
end;
procedure TfrmGLBudgetAccount.TrackBar8Change(Sender: TObject);
begin
tblGLBudget.edit;
if tblGLBudgetAccountType.value in [1,4] then tblGLBudgetAmount8.AsCurrency := (TrackBar8.position * TrackBarScale)/10000
else tblGLBudgetAmount8.AsCurrency := -(TrackBar8.position * TrackBarScale)/10000;
end;
procedure TfrmGLBudgetAccount.TrackBar9Change(Sender: TObject);
begin
tblGLBudget.edit;
if tblGLBudgetAccountType.value in [1,4] then tblGLBudgetAmount9.AsCurrency := (TrackBar9.position * TrackBarScale)/10000
else tblGLBudgetAmount9.AsCurrency := -(TrackBar9.position * TrackBarScale)/10000;
end;
procedure TfrmGLBudgetAccount.TrackBar10Change(Sender: TObject);
begin
tblGLBudget.edit;
if tblGLBudgetAccountType.value in [1,4] then tblGLBudgetAmount10.AsCurrency := (TrackBar10.position * TrackBarScale)/10000
else tblGLBudgetAmount10.AsCurrency := -(TrackBar10.position * TrackBarScale)/10000;
end;
procedure TfrmGLBudgetAccount.TrackBar11Change(Sender: TObject);
begin
tblGLBudget.edit;
if tblGLBudgetAccountType.value in [1,4] then tblGLBudgetAmount11.AsCurrency := (TrackBar11.position * TrackBarScale)/10000
else tblGLBudgetAmount11.AsCurrency := -(TrackBar11.position * TrackBarScale)/10000;
end;
procedure TfrmGLBudgetAccount.TrackBar12Change(Sender: TObject);
begin
tblGLBudget.edit;
if tblGLBudgetAccountType.value in [1,4] then tblGLBudgetAmount12.AsCurrency := (TrackBar12.position * TrackBarScale)/10000
else tblGLBudgetAmount12.AsCurrency := -(TrackBar12.position * TrackBarScale)/10000;
end;
procedure TfrmGLBudgetAccount.tblGLBudgetGLAccountChange(Sender: TField);
begin
if (tblGLBudgetGLYear.AsVariant = null) then self.Caption := 'Budget'
else self.Caption := tblGLBudgetGLYear.AsString + ' Budget';
if (tblGLBudgetAccountName.AsVariant <> null) then self.Caption := self.Caption + ': ' + tblGLBudgetAccountName.value;
if TrackBarScale > 0 then begin //Don't crash when this event is called before FormShow (TrackBarScale not yet set).
if tblGLBudgetAccountType.value in [1,4] then begin
TrackBar0.Position := Round((tblGLBudgetOpeningBal.value * 10000)/TrackBarScale);
TrackBar1.Position := Round((tblGLBudgetAmount1.value * 10000)/TrackBarScale);
TrackBar2.Position := Round((tblGLBudgetAmount2.value * 10000)/TrackBarScale);
TrackBar3.Position := Round((tblGLBudgetAmount3.value * 10000)/TrackBarScale);
TrackBar4.Position := Round((tblGLBudgetAmount4.value * 10000)/TrackBarScale);
TrackBar5.Position := Round((tblGLBudgetAmount5.value * 10000)/TrackBarScale);
TrackBar6.Position := Round((tblGLBudgetAmount6.value * 10000)/TrackBarScale);
TrackBar7.Position := Round((tblGLBudgetAmount7.value * 10000)/TrackBarScale);
TrackBar8.Position := Round((tblGLBudgetAmount8.value * 10000)/TrackBarScale);
TrackBar9.Position := Round((tblGLBudgetAmount9.value * 10000)/TrackBarScale);
TrackBar10.Position := Round((tblGLBudgetAmount10.value * 10000)/TrackBarScale);
TrackBar11.Position := Round((tblGLBudgetAmount11.value * 10000)/TrackBarScale);
TrackBar12.Position := Round((tblGLBudgetAmount12.value * 10000)/TrackBarScale);
end else begin
TrackBar0.Position := Round((-tblGLBudgetOpeningBal.value * 10000)/TrackBarScale);
TrackBar1.Position := Round((-tblGLBudgetAmount1.value * 10000)/TrackBarScale);
TrackBar2.Position := Round((-tblGLBudgetAmount2.value * 10000)/TrackBarScale);
TrackBar3.Position := Round((-tblGLBudgetAmount3.value * 10000)/TrackBarScale);
TrackBar4.Position := Round((-tblGLBudgetAmount4.value * 10000)/TrackBarScale);
TrackBar5.Position := Round((-tblGLBudgetAmount5.value * 10000)/TrackBarScale);
TrackBar6.Position := Round((-tblGLBudgetAmount6.value * 10000)/TrackBarScale);
TrackBar7.Position := Round((-tblGLBudgetAmount7.value * 10000)/TrackBarScale);
TrackBar8.Position := Round((-tblGLBudgetAmount8.value * 10000)/TrackBarScale);
TrackBar9.Position := Round((-tblGLBudgetAmount9.value * 10000)/TrackBarScale);
TrackBar10.Position := Round((-tblGLBudgetAmount10.value * 10000)/TrackBarScale);
TrackBar11.Position := Round((-tblGLBudgetAmount11.value * 10000)/TrackBarScale);
TrackBar12.Position := Round((-tblGLBudgetAmount12.value * 10000)/TrackBarScale);
end;
end;
end;
procedure TfrmGLBudgetAccount.tblGLBudgetGLYearChange(Sender: TField);
begin
if (tblGLBudgetGLYear.AsVariant = null) then self.Caption := 'Budget'
else self.Caption := tblGLBudgetGLYear.AsString + ' Budget';
if (tblGLBudgetAccountName.AsVariant <> null) then self.Caption := self.Caption + ': ' + tblGLBudgetAccountName.value;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -