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

📄 glbudgetaccountform.pas

📁 功能全面的商业财会系统源码,清晰,很有参考价值.扩展性强.
💻 PAS
📖 第 1 页 / 共 2 页
字号:

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 + -