OptionFrm.pas 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124
  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. OptionFrom: TOptionForm;
  45. begin
  46. OptionFrom := TOptionForm.Create(nil);
  47. try
  48. OptionFrom.Load;
  49. if OptionFrom.ShowModal = mrOk then
  50. OptionFrom.Save;
  51. finally
  52. OptionFrom.Free;
  53. end;
  54. end;
  55. { TOptionForm }
  56. procedure TOptionForm.Load;
  57. begin
  58. with SupportManager.ConfigInfo do
  59. begin
  60. cbAutoSave.Checked := AutoSave;
  61. SetSaveIntervalEnable(cbAutoSave.Checked);
  62. cbbSaveIntervall.Text := IntToStr(AutoSaveInterval);
  63. Self.OverRangeType := OverRangeType;
  64. cbExcelWithMis.Checked := ExcelWithMis;
  65. end;
  66. end;
  67. procedure TOptionForm.Save;
  68. begin
  69. with SupportManager.ConfigInfo do
  70. begin
  71. AutoSave := cbAutoSave.Checked;
  72. AutoSaveInterval := StrToIntDef(cbbSaveIntervall.Text, 15);
  73. OverRangeType := Self.OverRangeType;
  74. ExcelWithMis := cbExcelWithMis.Checked;
  75. end;
  76. end;
  77. procedure TOptionForm.cbAutoSaveClick(Sender: TObject);
  78. begin
  79. SetSaveIntervalEnable(cbAutoSave.Checked);
  80. end;
  81. procedure TOptionForm.SetSaveIntervalEnable(AEnable: Boolean);
  82. begin
  83. lblSaveInterval.Enabled := AEnable;
  84. cbbSaveIntervall.Enabled := AEnable;
  85. lblMinutes.Enabled := AEnable;
  86. end;
  87. function TOptionForm.GetOverRangeType: Integer;
  88. begin
  89. if rbLedger.Checked then
  90. Result := rbLedger.Tag
  91. else if rbDeal.Checked then
  92. Result := rbDeal.Tag
  93. else if rbBoth.Checked then
  94. Result := rbBoth.Tag;
  95. end;
  96. procedure TOptionForm.SetOverRangeType(const Value: Integer);
  97. begin
  98. rbLedger.Checked := rbLedger.Tag = Value;
  99. rbDeal.Checked := rbDeal.Tag = Value;
  100. rbBoth.Checked := rbBoth.Tag = Value;
  101. end;
  102. procedure TOptionForm.rbLedgerClick(Sender: TObject);
  103. begin
  104. TRadioButton(Sender).Checked := True;
  105. end;
  106. end.