OptionFrm.pas 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126
  1. unit OptionFrm;
  2. interface
  3. uses
  4. Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  5. Dialogs, StdCtrls, ExtCtrls, ComCtrls, XPMenu;
  6. type
  7. TOptionForm = class(TForm)
  8. pcOptions: TPageControl;
  9. tsCommon: TTabSheet;
  10. btnOk: TButton;
  11. btnCancel: TButton;
  12. lblCommon: TLabel;
  13. pnlUserInfo: TPanel;
  14. xpm: TXPMenu;
  15. cbAutoSave: TCheckBox;
  16. lblSaveInterval: TLabel;
  17. cbbSaveIntervall: TComboBox;
  18. lblMinutes: TLabel;
  19. gbOverRange: TGroupBox;
  20. lblTitleOverRange: TLabel;
  21. rbLedger: TRadioButton;
  22. rbDeal: TRadioButton;
  23. rbBoth: TRadioButton;
  24. GroupBox1: TGroupBox;
  25. cbExcelWithMis: TCheckBox;
  26. procedure cbAutoSaveClick(Sender: TObject);
  27. procedure rbLedgerClick(Sender: TObject);
  28. private
  29. procedure SetSaveIntervalEnable(AEnable: Boolean);
  30. function GetOverRangeType: Integer;
  31. procedure SetOverRangeType(const Value: Integer);
  32. public
  33. procedure Load;
  34. procedure Save;
  35. property OverRangeType: Integer read GetOverRangeType write SetOverRangeType;
  36. end;
  37. procedure ModifiedOptions;
  38. implementation
  39. {$R *.dfm}
  40. uses
  41. Globals, ConfigDoc;
  42. procedure ModifiedOptions;
  43. var
  44. OptionForm: TOptionForm;
  45. begin
  46. OptionForm := TOptionForm.Create(nil);
  47. try
  48. OptionForm.Load;
  49. OptionForm.ClientHeight := 338;
  50. OptionForm.ClientWidth := 479;
  51. if OptionForm.ShowModal = mrOk then
  52. OptionForm.Save;
  53. finally
  54. OptionForm.Free;
  55. end;
  56. end;
  57. { TOptionForm }
  58. procedure TOptionForm.Load;
  59. begin
  60. with SupportManager.ConfigInfo do
  61. begin
  62. cbAutoSave.Checked := AutoSave;
  63. SetSaveIntervalEnable(cbAutoSave.Checked);
  64. cbbSaveIntervall.Text := IntToStr(AutoSaveInterval);
  65. Self.OverRangeType := OverRangeType;
  66. cbExcelWithMis.Checked := ExcelWithMis;
  67. end;
  68. end;
  69. procedure TOptionForm.Save;
  70. begin
  71. with SupportManager.ConfigInfo do
  72. begin
  73. AutoSave := cbAutoSave.Checked;
  74. AutoSaveInterval := StrToIntDef(cbbSaveIntervall.Text, 15);
  75. OverRangeType := Self.OverRangeType;
  76. ExcelWithMis := cbExcelWithMis.Checked;
  77. end;
  78. end;
  79. procedure TOptionForm.cbAutoSaveClick(Sender: TObject);
  80. begin
  81. SetSaveIntervalEnable(cbAutoSave.Checked);
  82. end;
  83. procedure TOptionForm.SetSaveIntervalEnable(AEnable: Boolean);
  84. begin
  85. lblSaveInterval.Enabled := AEnable;
  86. cbbSaveIntervall.Enabled := AEnable;
  87. lblMinutes.Enabled := AEnable;
  88. end;
  89. function TOptionForm.GetOverRangeType: Integer;
  90. begin
  91. if rbLedger.Checked then
  92. Result := rbLedger.Tag
  93. else if rbDeal.Checked then
  94. Result := rbDeal.Tag
  95. else if rbBoth.Checked then
  96. Result := rbBoth.Tag;
  97. end;
  98. procedure TOptionForm.SetOverRangeType(const Value: Integer);
  99. begin
  100. rbLedger.Checked := rbLedger.Tag = Value;
  101. rbDeal.Checked := rbDeal.Tag = Value;
  102. rbBoth.Checked := rbBoth.Tag = Value;
  103. end;
  104. procedure TOptionForm.rbLedgerClick(Sender: TObject);
  105. begin
  106. TRadioButton(Sender).Checked := True;
  107. end;
  108. end.