RTDebugOptions.pas 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. unit RTDebugOptions;
  2. interface
  3. uses
  4. Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  5. Dialogs, StdCtrls, Buttons, ExtCtrls, MGRegistry;
  6. type
  7. TFormOptions = class(TForm)
  8. edLogFilename: TLabeledEdit;
  9. btBrowseFile: TSpeedButton;
  10. Button1: TButton;
  11. Button2: TButton;
  12. dlgSaveLog: TSaveDialog;
  13. cbLogOnFile: TCheckBox;
  14. procedure btBrowseFileClick(Sender: TObject);
  15. procedure Button1Click(Sender: TObject);
  16. procedure FormShow(Sender: TObject);
  17. procedure cbLogOnFileClick(Sender: TObject);
  18. private
  19. { Private declarations }
  20. procedure SaveOptions;
  21. procedure LoadOptions;
  22. public
  23. { Public declarations }
  24. end;
  25. var
  26. FormOptions: TFormOptions;
  27. implementation
  28. {$R *.dfm}
  29. uses RTDebug;
  30. procedure TFormOptions.SaveOptions;
  31. Var
  32. xReg :TMGRegistry;
  33. begin
  34. xReg :=TMGRegistry.Create;
  35. if xReg.OpenKey(REG_KEY, true)
  36. then begin
  37. xReg.WriteBool(REG_LOGONFILE, Self.cbLogOnFile.Checked);
  38. xReg.WriteString(REG_LOGFILE, Self.edLogFilename.Text);
  39. end;
  40. xReg.Free;
  41. end;
  42. procedure TFormOptions.LoadOptions;
  43. Var
  44. xReg :TMGRegistry;
  45. begin
  46. xReg :=TMGRegistry.Create;
  47. if xReg.OpenKeyReadOnly(REG_KEY)
  48. then begin
  49. Self.cbLogOnFile.Checked :=xReg.ReadBool(False, REG_LOGONFILE);
  50. Self.edLogFilename.Text :=xReg.ReadString('', true, REG_LOGFILE);
  51. end
  52. else begin
  53. Self.cbLogOnFile.Checked := False;
  54. Self.edLogFilename.Text :='';
  55. end;
  56. cbLogOnFileClick(nil);
  57. xReg.Free;
  58. end;
  59. procedure TFormOptions.btBrowseFileClick(Sender: TObject);
  60. begin
  61. if dlgSaveLog.Execute then
  62. begin
  63. Self.edLogFilename.Text := dlgSaveLog.FileName;
  64. end;
  65. end;
  66. procedure TFormOptions.Button1Click(Sender: TObject);
  67. begin
  68. SaveOptions;
  69. end;
  70. procedure TFormOptions.FormShow(Sender: TObject);
  71. begin
  72. LoadOptions;
  73. end;
  74. procedure TFormOptions.cbLogOnFileClick(Sender: TObject);
  75. begin
  76. edLogFileName.Enabled :=cbLogOnFile.Checked;
  77. btBrowseFile.Enabled :=cbLogOnFile.Checked;
  78. if (edLogFileName.Enabled)
  79. then edLogFileName.Color :=clWindow
  80. else edLogFileName.Color :=clBtnFace;
  81. end;
  82. end.