123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168 |
- unit OptionFrm;
- interface
- uses
- Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
- Dialogs, StdCtrls, ExtCtrls, ComCtrls, XPMenu;
- type
- TOptionForm = class(TForm)
- pcOptions: TPageControl;
- tsCommon: TTabSheet;
- btnOk: TButton;
- btnCancel: TButton;
- lblCommon: TLabel;
- pnlUserInfo: TPanel;
- xpm: TXPMenu;
- cbAutoSave: TCheckBox;
- lblSaveInterval: TLabel;
- cbbSaveIntervall: TComboBox;
- lblMinutes: TLabel;
- gbOverRange: TGroupBox;
- lblTitleOverRange: TLabel;
- rbLedger: TRadioButton;
- rbDeal: TRadioButton;
- rbBoth: TRadioButton;
- GroupBox1: TGroupBox;
- cbExcelWithMis: TCheckBox;
- Label1: TLabel;
- edtOverRangePercent: TEdit;
- Label2: TLabel;
- procedure cbAutoSaveClick(Sender: TObject);
- procedure rbLedgerClick(Sender: TObject);
- procedure edtOverRangePercentKeyPress(Sender: TObject; var Key: Char);
- procedure edtOverRangePercentExit(Sender: TObject);
- procedure edtOverRangePercentKeyDown(Sender: TObject; var Key: Word;
- Shift: TShiftState);
- private
- procedure SetSaveIntervalEnable(AEnable: Boolean);
- function GetOverRangeType: Integer;
- procedure SetOverRangeType(const Value: Integer);
- public
- procedure Load;
- procedure Save;
- property OverRangeType: Integer read GetOverRangeType write SetOverRangeType;
- end;
- procedure ModifiedOptions;
- implementation
- {$R *.dfm}
- uses
- Globals, ConfigDoc;
- procedure ModifiedOptions;
- var
- OptionForm: TOptionForm;
- begin
- OptionForm := TOptionForm.Create(nil);
- try
- OptionForm.Load;
- OptionForm.ClientHeight := 338;
- OptionForm.ClientWidth := 479;
- if OptionForm.ShowModal = mrOk then
- OptionForm.Save;
- finally
- OptionForm.Free;
- end;
- end;
- { TOptionForm }
- procedure TOptionForm.Load;
- begin
- with SupportManager.ConfigInfo do
- begin
- cbAutoSave.Checked := AutoSave;
- SetSaveIntervalEnable(cbAutoSave.Checked);
- cbbSaveIntervall.Text := IntToStr(AutoSaveInterval);
- Self.OverRangeType := OverRangeType;
- edtOverRangePercent.Text := IntToStr(OverRangePercent);
- cbExcelWithMis.Checked := ExcelWithMis;
- end;
- end;
- procedure TOptionForm.Save;
- begin
- with SupportManager.ConfigInfo do
- begin
- AutoSave := cbAutoSave.Checked;
- AutoSaveInterval := StrToIntDef(cbbSaveIntervall.Text, 15);
- OverRangeType := Self.OverRangeType;
- OverRangePercent := StrToIntDef(edtOverRangePercent.Text, 100);
- ExcelWithMis := cbExcelWithMis.Checked;
- end;
- end;
- procedure TOptionForm.cbAutoSaveClick(Sender: TObject);
- begin
- SetSaveIntervalEnable(cbAutoSave.Checked);
- end;
- procedure TOptionForm.SetSaveIntervalEnable(AEnable: Boolean);
- begin
- lblSaveInterval.Enabled := AEnable;
- cbbSaveIntervall.Enabled := AEnable;
- lblMinutes.Enabled := AEnable;
- end;
- function TOptionForm.GetOverRangeType: Integer;
- begin
- if rbLedger.Checked then
- Result := rbLedger.Tag
- else if rbDeal.Checked then
- Result := rbDeal.Tag
- else if rbBoth.Checked then
- Result := rbBoth.Tag;
- end;
- procedure TOptionForm.SetOverRangeType(const Value: Integer);
- begin
- rbLedger.Checked := rbLedger.Tag = Value;
- rbDeal.Checked := rbDeal.Tag = Value;
- rbBoth.Checked := rbBoth.Tag = Value;
- end;
- procedure TOptionForm.rbLedgerClick(Sender: TObject);
- begin
- TRadioButton(Sender).Checked := True;
- end;
- procedure TOptionForm.edtOverRangePercentKeyPress(Sender: TObject;
- var Key: Char);
- begin
- if not (Key in ['0'..'9', #8, #13]) then
- Key := #0;
- end;
- procedure TOptionForm.edtOverRangePercentExit(Sender: TObject);
- var
- fPer: Double;
- begin
- fPer := StrToIntDef(TEdit(Sender).text, 0);
- if (fPer < 50) then
- TEdit(Sender).text := '50'
- else if (fPer > 100) then
- TEdit(Sender).text := '100';
- end;
- procedure TOptionForm.edtOverRangePercentKeyDown(Sender: TObject;
- var Key: Word; Shift: TShiftState);
- var
- fPer: Double;
- begin
- if (Key = 13) then
- begin
- fPer := StrToIntDef(TEdit(Sender).text, 0);
- if (fPer < 50) then
- TEdit(Sender).text := '50'
- else if (fPer > 100) then
- TEdit(Sender).text := '100';
- end;
- end;
- end.
|